[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Still source not found :Prep Error (Job 5672):

On Fri, 3 Mar 2006 02:33:28 +0100 (CET), Paul Wouters wrote:

> So where does my initscript go? cvs or sources?

> I tried it again:
> ]$ make new-source FILES="l2tpd.init l2tpd-0.69.20051030.tar.gz l2tpd.conf"

Working with Fedora Extras CVS and build server consists of three different

 1) Ordinary maintenance of files in CVS. Relevant documentation about CVS
 covers this in general, checking out a working-copy, adding files,
 removing files, committing files, merging changes, branching, resolving
 conflicts, creating branches/tags, examining diffs against CVS, and so on.

 2) Access to the Fedora Extras lookaside cache for binary files or huge
 files, which don't change often and are better kept outside CVS.

 3) Access to the build system.

For 2 and 3, "make" and the "Makefile" contain helper targets like
"make srpm", "make upload ...", "make tag", and so on. "make help" might
look a bit scary in the beginning.

The first step every contributor needs to become familiar with is plain
CVS. The most important thing to understand is the difference between
your "working-copy" and files (or modifications) you committed into CVS.
If you only commit parts of your modifications, you run out-of-sync with
the CVS server contents. So, in the beginning, you are advised to check
out your package often into a fresh/clean directory to see what exactly
is stored within CVS before you use "make" for further commands.

As a second step you need to understand that every file which belongs into
your src.rpm, but isn't stored in CVS, must be uploaded to the lookaside
cache and be added to the "sources" file in CVS. Whether you do this with
"make ..." or manually, is up to you. CVS itself doesn't care about what
is contained within the "sources" file. This is just an index file which
is examined by the code in the Makefile.

The third step involves telling the build system which files in CVS it
shall check out in order to create your src.rpm. That's why you tag all
files which you want to see in your src.rpm. Only then, the tag passed on
to plague-client results in the build server being able to reconstruct
your src.rpm.

After every modification and prior to every new build attempt you need
to either re-tag your files in CVS or apply a new tag. Else the build
system would check out the old(er) files, which are still tagged forever,
and would not know that it should take the modified new(er) files instead,
which are not tagged yet.

> Error: could not make srpm for l2tpd-0_69-0_3_20051030_fc5 - output was:

Here you can verify what the build system checks out.
l2tpd-0_69-0_3_20051030_fc5 is the tag on the files.
%name-%version-%release with dots replaced with underscores:

  rm -rf temp && mkdir temp && cd temp
  cvs co -r l2tpd-0_69-0_3_20051030_fc5

Examine the "sources" and ".cvsignore" files. Do you like what you
see? Everything complete? Then "make srpm" works. Else you haven't
tagged your files correctly.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]