% curl 'https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=28250;mbox=yes;msg=89' | patch -p1 -u
% git commit -a -m 'Fix libc lost output bug'
% gbp dch -S --since=dgit/dgit/sid --ignore-branch --commit
- % sudo apt-get build-dep glibc
+ % mk-build-deps --root-cmd=sudo --install
% dpkg-buildpackage -uc -b
% sudo dpkg -i ../libc6_*.deb
(In this example,
libc6 is a "multi-arch: allowed" package,
- which means that it exists in several different builds
- for different architectures.
+which means that it exists in several different builds
+for different architectures.
That's where C<:i386> comes from.)
=head2 Finding the Debian release (the "suite")
=over 4
- % sudo apt-get build-dep glibc
+ % mk-build-deps --root-cmd=sudo --install
% dpkg-buildpackage -uc -b
=back
-apt-get build-dep installs the build dependencies according to the
-official package, not your modified one. So if you've changed the
-build dependencies you might have to install some of them by hand.
-
dpkg-buildpackage is the primary tool for building a Debian source
package.
C<-uc> means not to pgp-sign the results.
You'll need a chroot for each of the secondary architectures.
This is somewhat tiresome,
even though Debian has excellent tools for managing chroots.
-C<sbuild-createchroot> from the sbuild package is a
-good starting point.
+C<sbuild-debian-developer-setup> from the package of the same name
+and C<sbuild-createchroot> from the C<sbuild> package are
+good starting points.
Otherwise you could deinstall the packages of interest
for those other architectures
your desperate last resort is to try
using the same version number
as the official package for your own package.
-(The version is controlled by C<debian/changelog> - see above).
+(The version is controlled by C<debian/changelog> - see above.)
This is not ideal because it makes it hard to tell what is installed,
and because it will mislead and confuse apt.