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

Re: dbuild running automatically on potato source tre

Lars Wirzenius <liw@iki.fi> writes:

> I set up dbuild running nightly on a i386 potato system with a potato
> source mirror. There are now 1418 source packages that build OK, as far
> as dbuild can see, and 361 that have problems.

     My packages dict-[gazetteer|wn|misc] fail because they have an
RCS sub-directory in the debian directory, and dbuild doesn't handle
that properly,

     I have never seen the dbuild script, so I may be missing
something, but it appears that between dpkg-source -x and dbuild, any
package that has an RCS sub-directory in the debian directory is
guaranteed to break.

     When extracting a source package that contains an RCS file,
dpkg-source -x asks:

        Get file `debian/rules' from RCS with lock? [y] 
     If the response is 'n', dpkg-source continues without errors, and
dpkg-buildpackage produces a debian package normally.

     If the response is the default 'y', the result is:

        co: debian/RCS/rules,v: Revision 1.1 is already locked by bob.
        patch: **** can't get file `debian/rules' from RCS
        dpkg-source: failure: patch gave error exit status 2
        dpkg-source: extracting dict-gazetteer in dict-gazetteer-1.2

     The default 'y' seems to be a bug in dpkg-source.  If a package
has been built with dpkg-buildpackage, the version of the rules file
used to build the package _must_ be in the debian directory.  Possibly
there is some circumstance that would justify dpkg-source in checking
a rules file out of RCS, but I can't think of one.

     Surprisingly, dpkg-source doesn't abort immediately after the
patch failure, but it leaves the extracted source tree with strange
permissions.  In particular,debian/rules is not executable.
dpkg-buildpackage is then run, with the following results:

        dpkg-buildpackage: source version is 1.2-2
        dpkg-buildpackage: build architecture is i386
         fakeroot debian/rules clean
        fakeroot, execve debian/rules: No such file or directory
        Build finished at 07:05 on 1999-02-19
        Build FAILED

     This is surprising, since the debian directory contains a
non-executable rules file.  I would expect the error message to be:
"Permission denied".

     If dbuild is not run interactively, it seems to me that it should
be modified to answer 'n' to dpkg-source's question about getting rules
from RCS.

  |_)  _  |_       Robert D. Hilliard    <hilliard@flinet.com>
  |_) (_) |_)      Palm City, FL  USA    PGP Key ID: A8E40EB9

Reply to: