chiark / gitweb /
changelog: start 9.14
[dgit.git] / dgit-user.7.pod
index aacdf4d4482dfa0a67d13422999ffc9b46cd00f1..18f06dac6e9a83e5d425875442f80af2ba974868 100644 (file)
@@ -32,10 +32,10 @@ or L<dgit(1)> and L<dgit(7)>.
 
     % dgit clone glibc jessie,-security
     % cd glibc
 
     % dgit clone glibc jessie,-security
     % cd glibc
-    % wget 'https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=28250;mbox=yes;msg=89' | patch -p1 -u
+    % 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
     % 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
 
     % dpkg-buildpackage -uc -b
     % sudo dpkg -i ../libc6_*.deb
 
@@ -97,8 +97,8 @@ you can look it up with dpkg:
 
 (In this example,
 libc6 is a "multi-arch: allowed" package,
 
 (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")
 That's where C<:i386> comes from.)
 
 =head2 Finding the Debian release (the "suite")
@@ -288,21 +288,37 @@ a complete treatment is beyond the scope of this tutorial.
 
 =over 4
 
 
 =over 4
 
-    % sudo apt-get build-dep glibc
+    % mk-build-deps --root-cmd=sudo --install
     % dpkg-buildpackage -uc -b
 
 =back
 
     % 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.
 C<-b> means build all binary packages,
 but not to build a source package.
 
 dpkg-buildpackage is the primary tool for building a Debian source
 package.
 C<-uc> means not to pgp-sign the results.
 C<-b> means build all binary packages,
 but not to build a source package.
 
+=head2 Using sbuild
+
+You can build in an schroot chroot, with sbuild, instead of in your
+main environment.  (sbuild is used by the Debian build daemons.)
+
+=over 4
+
+    % git clean -xdf
+    % sbuild -c jessie -A --no-clean-source \
+             --dpkg-source-opts='-Zgzip -z1 --format=1.0 -sn'
+
+=back
+
+Note that this will seem to leave a "source package"
+(.dsc and .tar.gz)
+in the parent directory,
+but that source package should not be used.
+It is likely to be broken.
+For more information see Debian bug #868527.
+
 =head1 INSTALLING
 
 =head2 Debian Jessie or older
 =head1 INSTALLING
 
 =head2 Debian Jessie or older
@@ -351,8 +367,9 @@ have enabled.
 You'll need a chroot for each of the secondary architectures.
 This is somewhat tiresome,
 even though Debian has excellent tools for managing chroots.
 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
 
 Otherwise you could deinstall the packages of interest
 for those other architectures
@@ -362,7 +379,7 @@ If neither of those are an option,
 your desperate last resort is to try
 using the same version number
 as the official package for your own package.
 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.
 
 This is not ideal because it makes it hard to tell what is installed,
 and because it will mislead and confuse apt.