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

pbuilder, debarchiver, quintuple-agent



Summary: How do one make pbuilder, debarchiver, quintuple-agent work
together?

Since the release of Woody, I have decided, for each of the packages I
maintain, to provide a version compiled against Woody and a version
compiled against Sarge from my own archive.  (I cannot upload packages
myself.)

I use pbuilder to build packages against Woody (because I run Testing)
and debarchiver to sort the packages, but I find the process it a bit
cumbersome.  I follow the following recipe.

<recipe>
Building Debian packages for to two different distributions

In the following I will assume that you are running distribution
unstable on your system, and that you want to build packages for both
unstable and stable.

1. Copy /etc/.pbuilderrc to $HOME/.pbuilderrc and edit it so that
   BASETGZ, BUILDPLACE, and BUILDRESULT point to your own local
   directories.  For example

      my_pbuilder_base=$HOME/debian/pbuilder
      BASETGZ=$my_pbuilder_base/base.tgz
      BUILDPLACE=$my_pbuilder_base/build/
      BUILDRESULT=$my_pbuilder_base/results/

   If your package build-depends on packages that are not in stable,
   set OTHERMIRROR to point to a place where they can be found, for
   example

      OTHERMIRROR="deb ftp://ftp.diku.dk/diku/users/jpsecher/debian/ \
         stable non-free" .

2. Build a chroot'ed system using pbuilder by "sudo pbuilder create".

3. Copy /etc/debarchiver.conf to $HOME/debarchiver.conf and edit it so
   that inputdir is set to the same as BUILDRESULT (see point 1) so
   that the packages built by pbuilder can found by debarchiver.
   Also, set destdir to point to your own local directory.

4. Build your package normally (e.g., by changing to the source
   directory and using debuild, see
   /usr/share/doc/devscripts/README.gz), which produces a package
   suitable for unstable.

5. Copy the *{deb,$arch.changes,orig.tar.gz,diff.gz,dsc} files to
   the inputdir directory (see point 3) and run debarchiver (e.g.,
   debarchiver --autoscanall --addoverride) to organise the new
   package files.  Do not copy the source.changes file unless there is
   no $arch_changes.  Debarchiver will not upload the orig.tar.gz file
   unless the debian version is 1 (but you can copy it by hand).

6. Run "sudo pbuilder build --distribution woody" on the .dsc file,
   which will build the package again, but now against the woody
   distribution.

7. Go to the BUILDRESULT directory.  Change the Distribution field in
   the $arch.changes file to woody (e.g., by sudo vi *.changes) and
   sign the package (e.g., by sudo debsign *.changes).

8. run debarchiver (e.g., debarchiver --autoscanall --addoverride) to
   organise the new package files.
</recipe>

Besides being cumbersome, the above recipe requires me to edit the
.changes file resulting from pbuilder.  Is there a way to avoid this?
I cannot find a way to make pbuilder pass arguments to
dpkg-genchanges. 

Second, I am required to type my passphrase four times.  Is there a
way to make quintuple-agent work with debuild and dpkg-buildpakage
(through pbuilder)?  It does not work to set DEBBUILDOPTS="-pagpg".
-- 
                                                      Jens Peter Secher
 _DD6A 05B0 174E BFB2 D4D9 B52E 0EE5 978A FE63 E8A1_



Reply to: