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

build dependancies and clean target and pbuilder


I have discovered a problem, but I don't know the best way around it...

Anyway, I am trying to recompile libidl (note: this isn't the
conly package with the problem, I could list others) for

My method is:

1. unpack source with dpkg-source
2. Add changelog entyr.
3. Build with pdebuild (pbuilder)
   a) run dpkg-buildpackage to rebuild source
      - runs debian/rules clean
   b) run pbuilder to build
This is OK for most packages, however packages like libidl fail
at step 3a, when running debian/rules:

pdebuild -- --configfile /tmp/bam/pbuilder-local.XXXXwFEDma
W: /home/bam/.pbuilderrc does not exist
dpkg-buildpackage: source package is libidl
dpkg-buildpackage: source version is 0.8.2-1.bam.1
dpkg-buildpackage: source maintainer is Brian May <bam@debian.org>
 fakeroot debian/rules clean
debian/rules:3: /usr/share/cdbs/1/rules/debhelper.mk: No such file or directory
debian/rules:4: /usr/share/cdbs/1/class/autotools.mk: No such file or directory
make: *** No rule to make target
`/usr/share/cdbs/1/class/autotools.mk'.  Stop.
W: /home/bam/.pbuilderrc does not exist
Command line parameter [../libidl_0.8.2-1.bam.1.dsc] is not a valid .dsc file name

The problem here is that while libidl build depends on cdbs, the
build depends aren't checked until step 3b) when the chroot is created.

Is there any way around this?

About the only solution I can think of is that the entire source
code needs to be copied into the chroot using "cp -a" instead of

This way debian/rules is never called except from within the chroot.


(side issue: there is also another problem with the above, if debian/rules
clean fails, the source wont be updated, but if the *.dsc file exists,
it will be used anyway; this is confusing, it means the old version of
the package will get compiled with no errors).
Brian May <bam@debian.org>

Reply to: