debian/0000775000000000000000000000000012306030572007166 5ustar debian/changelog0000664000000000000000000034112612306030571011046 0ustar sbuild (0.64.1-1ubuntu4) trusty; urgency=medium * debian/source/include-binaries: Add static sbuild signing keys to work around systems with little entropy. * debian/tests/build_procenv: Install sbuild signing keys. * debian/tests/control: Add libnuma1, required by test package that is built (procenv). * debian/tests/sbuild-key.{pub,sec}: Static sbuild signing keys. -- James Hunt Wed, 05 Mar 2014 15:15:02 +0000 sbuild (0.64.1-1ubuntu3) trusty; urgency=medium * debian/tests/build_procenv: on Ubuntu, select the correct archive mirror for the build architecture. -- Steve Langasek Tue, 04 Mar 2014 16:18:11 -0800 sbuild (0.64.1-1ubuntu2) trusty; urgency=medium * debian/tests/control: Add missing debootstrap test dependency. -- Martin Pitt Tue, 25 Feb 2014 10:09:33 +0100 sbuild (0.64.1-1ubuntu1) trusty; urgency=low * Merge from Debian unstable. Remaining changes: - debian/patches/do-not-install-debfoster-into-chroots.patch: do not install debfoster into the chroots because it is in universe and not needed for package building itself. - debian/patches/run-pre-build-hooks-as-root.patch: run pre-build hooks as root. - Added DEP-8 autopkgtest to build procenv. -- Marc Deslauriers Mon, 04 Nov 2013 07:57:40 -0500 sbuild (0.64.1-1) unstable; urgency=low [ Roger Leigh ] * New release. * sbuild: - sbuild-createchroot now works with perl 5.18 (Closes: #724858). Thanks to Alexander Chernyakhovsky for this patch, which corrects the use of File::Temp. Thanks also to Paul Elliott and Václav Ovsík who also provided an equivalent patches. - Sbuild::Conf: Add missing File::Spec (Closes: #722012). Thanks to Václav Ovsík for this patch. - Sbuild::Build: Remove perl 5.10 autoflush workaround; flushing works correctly wih perl 5.18. -- Roger Leigh Sun, 13 Oct 2013 19:35:57 +0100 sbuild (0.64.0-1ubuntu2) trusty; urgency=low * debian/tests/build_procenv: Add component universe for Ubuntu to make procenv buildable (LP: #1247420) -- Jean-Baptiste Lallement Sat, 02 Nov 2013 22:45:08 +0100 sbuild (0.64.0-1ubuntu1) saucy; urgency=low * Merge from Debian unstable. Remaining changes: - debian/patches/do-not-install-debfoster-into-chroots.patch: do not install debfoster into the chroots because it is in universe and not needed for package building itself. - debian/patches/run-pre-build-hooks-as-root.patch: run pre-build hooks as root. - Added DEP-8 autopkgtest to build procenv. -- Marc Deslauriers Tue, 03 Sep 2013 09:04:59 -0400 sbuild (0.64.0-1) unstable; urgency=low [ Thorsten Glaser ] * Apply patch from Arnaud Patard to fix the uploader (Closes: #636477). * Make sample configuration entries actually work (Closes: #696840). * Avoid using undef as HASH reference (Closes: #696841). [ Philipp Kern ] * Forward port patches from the buildd-0.61.0 branch: - Buildd::Client: Don't change the cwd. - Buildd: Fix SSH control master restart. [ Roger Leigh ] * New release. * Upgrade to Standards-Version 3.9.4 (no changes). * buildd: - Remove duplicate stop action from init script (Closes: #695513). - Failure count before sleeping is configurable with MAX_SBUILD_FAILS (Closes: #693790). - buildd.init specifies correct Required-Stop dependencies. - Remove empty preinst script. * sbuild: - Cross build-dependency installation failure throws an exception (Closes: #693788). - In Sbuild::ResolverBase, pass the correct options to deps_parse for cross-building and foo:native build dependencies (Closes: #697298). Thanks to Colin Watson for this patch. - In Sbuild::Build::copy_to_chroot, remove stray exit() which could cause sbuild to hang with a "Failed to copy" error (Closes: #699903). Thanks to Stephan Sürken for this patch. - Compute changes path correctly, to allow “--debbuildopt=-A” to work correctly with _all.changes (Closes: #686509). Thanks to Daniel Dehennin for the original version of this patch. - Run lintian from inside the chroot (Closes: #626361). Thanks to Reinhard Tartler for this patch. [ Colin Watson ] * sbuild: - Resolve cross-build-dependencies from package being built rather than from current apt sources (Closes: #695203). * buildd: - Reset sbuild failure count after sleeping. [ Adam Conrad ] * sbuild: - Improve cross chroot detection to look for $dist-$build-$host as a valid chroot for cross-build to avoid namespace clashes with native chroots, and document this better in the manpage (Closes: #695273) [ Geoffrey Thomas ] * sbuild: - When creating a changelog entry for binNMUs or --append-to-version, tag it with "binary-only=yes" so that dpkg-gencontrol uses the previous changelog entry for the source version (Closes: #672711, #681292). -- Roger Leigh Fri, 17 May 2013 23:06:13 +0100 sbuild (0.63.2-1.1ubuntu2) saucy; urgency=low * Added DEP-8 autopkgtest to build procenv. -- James Hunt Mon, 27 May 2013 10:18:26 +0200 sbuild (0.63.2-1.1ubuntu1) raring; urgency=low * Merge from Debian unstable. Remaining changes: - Convert package back to source format 3.0 (quilt) so the patches get applied. - debian/patches/do-not-install-debfoster-into-chroots.patch: do not install debfoster into the chroots because it is in universe and not needed for package building itself. - debian/patches/run-pre-build-hooks-as-root.patch: run pre-build hooks as root. - debian/patches/fix-rev-0.patch: convert inline change from 0.63.2-1.1 into patch. -- Marc Deslauriers Thu, 17 Jan 2013 08:59:27 -0500 sbuild (0.63.2-1.1) unstable; urgency=low * Non-maintainer upload. * Fix building packages with revision "0" (Closes: #687396) -- Roland Stigge Wed, 05 Dec 2012 14:44:45 +0100 sbuild (0.63.2-1ubuntu1) raring; urgency=low * Merge from Debian unstable. Remaining changes: - debian/patches/do-not-install-debfoster-into-chroots.patch: do not install debfoster into the chroots because it is in universe and not needed for package building itself. - debian/patches/run-pre-build-hooks-as-root.patch: run pre-build hooks as root. - Convert package back to source format 3.0 (quilt) so the patches get applied. -- Marc Deslauriers Wed, 28 Nov 2012 07:44:25 -0500 sbuild (0.63.2-1) unstable; urgency=low [ Roger Leigh ] * New release. * Sbuild::Conf: Fix typo sucess (Closes: #663089). * Sbuild::Options: - Add --no-run-lintian and --no-run-piuparts options (Closes: #665372). If lintian or piuparts are configured to run automatically following a successful build, there options disable this behaviour for the build. - Add --purge-build option (Closes: #629109). This behaves identically to the old --purge option. --purge now purges everything (build directory, build dependencies and schroot session) and is equivalent to using --purge-build, --purge-deps and --purge-session together. Thanks to Jan-Marek Glogowski for this patch. * Sbuild::Conf: - Don't create the log directory unless logging is enabled or using buildd mode (Closes: #673009). * Sbuild::Build: - Don't pass $key_id to the shell unescaped (Closes: #676475). - Use _all.changes rather than _arch.changes if -A is passed to dpkg-buildpackage (Closes: #674669). Thanks to Daniel Dehennin for this patch. * Sbuild::Utility: Fix logging in download function (Closes: #637931). * sbuild: - If running sbuild from inside a build tree (like dpkg-buildpackage), place the build logs outside the tree (Closes: #676834). Logs will be created in '..' rather than '.'. - When packing source trees with "dpkg-source -b", always pass "." as the directory to pack, so the orig.tar can be found (Closes: #662785). * sbuild-createchroot: - Use profile=sbuild in place of script-config= in generated schroot.conf configuration (Closes: #665215, #675861). - Don't pass --keyring to dpkg-buildpackage unless explicitly set by the user (Closes: #673676). -- Roger Leigh Sat, 18 Aug 2012 13:46:45 +0100 sbuild (0.63.1-1ubuntu2) quantal; urgency=low * Convert package back to source format 3.0 (quilt) so the patches get applied. -- Marc Deslauriers Tue, 14 Aug 2012 12:42:58 -0400 sbuild (0.63.1-1ubuntu1) quantal; urgency=low * Resynchronize with Debian testing. Remaining changes: - debian/patches/do-not-install-debfoster-into-chroots.patch: do not install debfoster into the chroots because it is in universe and not needed for package building itself. - debian/patches/run-pre-build-hooks-as-root.patch: run pre-build hooks as root * Drop run-lintian-inside-chroot.patch: It hasn't been picked up by Debian and doesn't work quite right (LP: #940410) -- Jeremy Bicha Sat, 23 Jun 2012 22:27:58 -0400 sbuild (0.63.1-1) unstable; urgency=low [ Roger Leigh ] * New release. * Don't require xapt. Remove duplicate and incorrect check. Thanks to Andres Mejia and Jakub Wilk (Closes: #675332, #675354). * Remove /etc/schroot/setup.d/99builddsourceslist which was provided with earlier versions of sbuild, but no longer works with current schroot versions (Closes: #675349). -- Roger Leigh Thu, 31 May 2012 21:59:16 +0100 sbuild (0.63.0-1) unstable; urgency=low [ Wookey ] * Support for cross-compiling has been added. This includes the addition of $host and $build configuration variables, with corresponding --host and --build command-line options. This includes the addition of a new 'xapt' dependency resolver. - Merge cross-build support (thanks to Hector Oron, Closes: #610689). - Add multiarch cross-build support. [ Roger Leigh ] * The deprecated 'internal' dependency resolver has been removed, along with the configuration variables $apt_policy, $check_depends_algorithm and $resolve_virtual, and the command-line option --check-depends-algorithm. The 'apt' resolver is the default replacement for 'internal'. (Closes: #622788) * Support for watches has been removed. The configuration variables $check_watches, $ignore_watches_no_build_deps and $watches (and obsolete variables @ignore_watches_no_build_deps and %watches) have also been removed. * sbuild-stats and support for build time and space statistics recording has been removed. These statistics are recorded in both the build log and are available as build metadata internally. The statistics recorded in the database were not particularly informative; storing the statistics in a proper relational database is recommended. The configuration variables $avg_time_db and $avg_space_db have been removed. * Drop 25nssdatabases schroot setup script used on compatibility mode (on buildds). This has been replaced by the schroot 20nssdatabases for many years. -- Roger Leigh Wed, 30 May 2012 22:49:18 +0100 sbuild (0.62.6-1) unstable; urgency=low * New release. * All changes backported from buildd-0.61.0 branch. * sbuild.1: Add --chroot to synopsis (Closes: #635203). * sbuild: - --jobs is an alias for -j, to match documented behaviour (Closes: #635250). - The use of alternatives in Build-Depends and Build-Depends-Indep may be turned on or off by the configuration variable $resolve_alternatives. It may also be enabled or disabled at build time using the --resolve-alternatives and --no-resolve-alternatives options, respectively. - Correctly support chroot namespaces, to work with schroot 1.5.x (Closes: #612630). - Support Build-Depends-Arch and Build-Conflicts-Arch fields in debian/control. These may be manually set with --add-depends-arch and --add-conflicts-arch, respectively. -- Roger Leigh Wed, 07 Dec 2011 20:41:43 +0000 sbuild (0.62.5-1) unstable; urgency=low * New release. * sbuild: - Correct use of Dpkg::Version for version parsing, to ensure correct behaviour when using native package versions and epochs. - Don't require an exact version when building a package directly from a source tree. -- Roger Leigh Wed, 13 Jul 2011 19:56:05 +0100 sbuild (0.62.4-1) unstable; urgency=low * New release. * sbuild: - Failing lintian checks are highlighted in red, and passes in green (Closes: #631060). - The distribution in the build summary is coloured yellow if it does not match the distribution in the changelog. This is to indicate that there may be a potential problem, such as potentially uploading a package intended for experimental to unstable by building for unstable by accident. - lintian test results are also coloured to highlight success and failure. - Log colouring may now be disabled using $log_colour. - sbuild only permits building one source package at once. Previously sbuild would allow building of more than one package in a single invocation. Making this change means that the exit status will always be the status of the build rather than the last build, and it also means the logging is simplified and may be started earlier. - Now that the main log has been removed, and packing of a source tree takes place before starting the build for real, we no longer create a log file in the build tree, confusing "dpkg-source -b" (Closes: #612324). - Added new directory /var/lib/sbuild/build to hold build trees for sbuild when building. This will be bind mounted on /build inside the chroot following an update to the schroot sbuild and buildd fstab configuration for schroot. This saves significant amounts of space when using LVM snapshot chroots, and it also makes it easier to preserve build trees for failing builds when using snapshots. - Extra environment variables to be set when running dpkg-buildpackage may now be set using $build_environment (Closes: #631595). These variables will supplement the existing environment (e.g. PATH, LD_LIBRARY_PATH), and will not be subject to filtering with $environment_filter. - Existing hard-coded .dsc/.changes/dpkg-parsechangelog parsing has been replaced with use of Dpkg::Control. Existing reimplmentation of the dpkg version comparison and regexes to split versions into epoch/version/revision have been replaced with use of Dpkg::Version. * sbuild-adduser: Use current sbuild-update options in example (Closes: #630791). -- Roger Leigh Sat, 25 Jun 2011 11:39:44 +0100 sbuild (0.62.3-1) unstable; urgency=low * New release. * sbuild: - The apt and internal resolvers will resolve some alternatives even when resolving alternative dependencies is disabled (Closes: #622832). For relations involving the same package, the alternative will be permitted when the package names are the same for each alternative. For example, foo (<< x) | foo (>= y) | bar will be reduced to foo (<< x) | foo (>= y) while foo | bar will be reduced to foo - The sbuild-schroot wrapper program has been removed; sbuild is now an arch-all package again. - Move lock directory to /var/lib/sbuild/chroot-lock, rather than using /var/lock/sbuild which could be a symlink to /run/lock on the host (Closes: #626826). This means parallel builds won't block due to sharing the same lockfile. - Remove schroot buildd profile. This will now be provided by the schroot package itself directly. This requires schroot 1.4.22 or greater. - Add lintian and piuparts results to build summary (Closes: #617450). - Remove directory correctly in postrm (Closes: #627641). Thanks to Daniel Baumann. - Lock sbuild account on purge, and unlock on install (Closes: #619892). - Add -j option to run parallel builds (Closes: #626357). - Log build environment prior to starting a build. This will be useful in diagnosing problems with a misconfigured chroot, such as missing HOME which can lead to misbuilds. * sbuild-createchroot: - Don't call ChrootSetup::basesetup after initial bootstrap; wait until actually running sbuild. The users and groups used for chown don't exist at this point, leading to (harmless) failure. Closes: #622735. - Don't overwrite existing symlinks under /etc/sbuild/chroot (Closes: #608416). * sbuild-update: - Don't try to end the current chroot session if a signal is received and no session is in progress (Closes: #629005). * buildd: - init script starts buildd in runlevels 2-5 rather than S, and stops in 0, 1 and 6. - Lock buildd account on purge, and unlock on install. * buildd-mail: - Remove empty newline from .changes (Closes: #627854). ftp-master started refusing .changes files which have a trailing empty line (after the GPG end of signature). It happens that mutt introduces one when signing GPG in traditional mode. Other tools probably do too. buildd-mail-wrapper should probably drop it automatically. Thanks to Samuel Thibault. -- Roger Leigh Sat, 04 Jun 2011 00:01:13 +0100 sbuild (0.62.2-1) unstable; urgency=low * New release. * sbuild: - New options --no-apt-clean, --no-apt-update, --no-apt-upgrade and --no-apt-distupgrade have been added to allow these actions to be disabled even when set as the default in the configuration. - root is not required to be a member of the sbuild group in order to run schroot via the sbuild-schroot wrapper (Closes: #619128, #619002). - Don't require HOME to be set in the environment (Closes: #619288). - Work around broken build-essential on Ubuntu Lucid (Closes: #619526). Thanks to Marc Deslauriers. - --keep-session is replaced by --purge-session=(always|successful|never). This will allow the session to be purged for all, successful and no builds, respectively (Closes: #619332). - sources.list fragments stored in /etc/apt/sources.list.d have 0644 permissions, so that normal users can run apt-cache in the chroot during a build (Closes: #620797). Thanks to Julian Andres Klode for identifying this problem. - Log filtering may be disabled using $log_filter = 0 in the configuration (Closes: #620589). The replacement text is now also surrounded with "«" and "»" so that strings such as CHROOT and BUILDDIR can't be confused with any actual appearance of the same string in the build log. - Log colouring may be disabled using $log_colour = 0 in the configuration. - Improve binNMU handling to permit binNMUs for multiarch packages (Closes: #620112). Currently, binary NMUs use the current date in the new changelog entry, but co-installable packages require an identical changelog. To avoid this, take the date from the previous changelog entry to ensure the same date for all binNMUs. Thanks to Anders Kaseorg for this patch. - Abort early if maintainer is not defined when performing a binNMU or appending a version suffix (Closes: #620758). * sbuild.conf: - Don't set a default value for $build_dir (Closes: #619416). This value is set each run, and so varies between builds when generating the configuration file. Exclude from the generated output to prevent unnecessary differences between builds. - $purge_session uses the same purge modes as $purge_build_deps and $purge_build_directory, rather than a boolean value. * buildd: - Merge latest changes from buildd-0.61.0. -- Roger Leigh Tue, 05 Apr 2011 10:46:49 +0100 sbuild (0.62.1-1) unstable; urgency=high * New release. * Fixed security issue in the sbuild-schroot wrapper program which did not enforce sbuild group membership in order to allow users to access the chroots as user sbuild. -- Roger Leigh Sun, 20 Mar 2011 23:06:52 +0000 sbuild (0.62.0-1) unstable; urgency=low * New release. * debian/control: - Build-Depend upon libexception-class-perl. * sbuild: - Resolvers: + 'apt' is now the default build dependency resolver. Users should not see any significant changes compared with the old 'internal' resolver. Please note that you may need to generate a GPG key for the local archive created for dependency package installation, if one does not already exist; see sbuild-update (--keygen) for further details. + The 'internal' build dependency resolver is deprecated. It is not recommended for future use, and will be removed once it is no longer used by the buildd infrastructure. Please use the 'apt' resolver as a drop-in replacement. + The 'aptitude' build dependency resolver will, unlike 'apt' and 'internal', consider alternative dependencies by default, rather than only using the first alternative. This is intended to both preserve backward compatibility, and make the 'aptitude' resolver the preferred choice for more complex situations, such as building for experimental. + The aptitude resolver can resolve complex dependencies, e.g. A | B, where A is uninstallable now correctly falls back to B. This is not the case for the internal or apt resolvers, which by intent do not make use of alternatives (they use the first alternative only. sbuild now has full support for resolving alternatives, but this is not the default behaviour (Closes: #403246). Please see #614807 for a proposed description of autobuilder-imposed build dependency restrictions in Policy. + All build dependency resolvers run dpkg with --force-confold. This means packages with modified conffiles in the chroot to not cause build failure. This includes /etc/services and /etc/protocols from netbase (Closes: #576508). - Logging: + Long paths such as the chroot location and the build directory inside the chroot are now filtered in the build log and replaced with small, constant, abbreviations (Closes: #605763). This makes the build logs comparable between builds with tools such as diff(1). + Logging messages have been improved, and important messages are now coloured when running interactively (does not affect log files). Errors, warnings and informational messages are coloured red, yellow and green, respectively. Build status is coloured green for success and red for all failure conditions. + Build log mails are now compressed and mailed in MIME format by default, together with a copy of the .changes file. The old behaviour (plain mailing of uncompressed logs) may be restored by setting $mime_build_log_mails=0 in the configuration, and compression may also be disabled in the MIME mails by setting $compress_build_log_mails=0. Note that it is no longer possible to send compressed log mails unless MIME mailing is enabled. Thanks to Philipp Kern for implementing this. - Error handling: + In order to handle errors more robustly, the build code now has initial support for exception handling. Normal operation will not be affected, but fatal errors may be logged in a different order than seen previously. Fatal errors will now be seen at the end of the build log, which should make it easier to spot problems. + sbuild now always cleans up fully when receiving a termination signal such as SIGINT or SIGTERM. Note that you may need to wait while the cleanup actions are performed, or the current task is completed prior to initiating cleanup. When running interactively, hitting Ctrl-C will sent SIGINT to the entire process group; doing this while apt-get or aptitude are running will potentially leave dpkg in an inconsistent state, so aborting at this point is not recommended. Sending a SIGTERM to the sbuild process will always work cleanly. - General: + sbuild now performs an apt dist-upgrade at the start of each build by default, rather than an upgrade. This is to reduce the amount of manual administration required to keep chroots up to date, and is not much more risky than upgrade in this context. + A new option, --keep-session, has been added (Closes: #609658). This prevents the automatic removal of session-managed snapshot chroots. Previously, snapshots would not be deleted if purging of the build directory or build dependencies was disabled, but this was not always desirable, hence it is now configurable separately. + Internally, building and other actions in the chroot are performed by the 'sbuild' system user, where previously the user invoking sbuild would be used instead. The aim of this change is to separate privileges to increase security and reduce the chance of accidental or deliberate tampering of the build environment. While the latter is not addressed by these changes, this will be taken care of during future architectural changes. + The sbuild package build directory created inside the chroot now has a reduced name length. It's now /build/packagename-XXXXXX where XXXXXX are random characters. This helps reduce the chance of hitting path length restrictions on some architectures, particularly when using sockets. * wanna-build: - The wanna-build database has been removed entirely. This part of the sbuild package was not used, and was not maintained for some time. Users wishing to use wanna-build should investigate the version in the wanna-build.git repository used by the Debian autobuilding infrastructure. This version is actively maintained and in continual use. * sbuild.conf: - sbuild.conf is now automatically generated from the help text and defaults in the source code. This means that the examples will always be syntactically correct, the help text will always be current, and the defaults will always match the defaults in the source code (Closes: #609932, #610995). - Non-scalar (or reference) types are deprecated in sbuild.conf. This is because it is not possible to tell the difference between an empty and an undefined value. Values using array or hash types should use the equivalent array reference or hash reference, which have been supported for some time. The old style array and hash values will remain supported for now, but will be removed in a future release. * buildd.conf: - Automatically generated like sbuild.conf. As for sbuild.conf, non-scalar types are deprecated. * sbuild.conf.5: - All of the allowed values in sbuild.conf are now documented in a new sbuild.conf(5) manual page. Like sbuild.conf, this is entirely generated from the source code, so will always match the defaults for the same sbuild version. * buildd.conf.5: - New manual page. Like sbuild.conf(5), this documents all allowed values. -- Roger Leigh Wed, 16 Mar 2011 16:10:31 +0000 sbuild (0.61.0-1) unstable; urgency=low * sbuild: - The apt and aptitude build dependency resolvers now use only the first alternative in alternative dependencies. The other alternatives are stripped out entirely. This makes the apt and aptitude resolvers behave exactly like the internal resolver. Note that this is configurable with the $resolve_alternatives option, so alternative resolving may be re-enabled with this option if desired. This is useful for e.g. backports, but not for unstable where the strict consistency and reproducibility offered by only using the first alternative is required. - The aptitude resolver now runs dpkg with --force-confold, to match the behaviour of internal and apt. This prevents failure when installing netbase into the build chroot, for example. -- Roger Leigh Wed, 23 Feb 2011 13:08:58 +0000 sbuild (0.60.9-1) unstable; urgency=low * New release. * sbuild: - Don't automatically generate local archive signing key if missing (Closes: #607945). If missing, abort build with an error message and instructions for how to generate the key. - Do not filter out environment variables starting with DEBIAN_ by default (Closes: #608659). Thanks to Modestas Vainius. - Do not filter out PATH environment variable (Closes: #610997). Note this is not the user's PATH, but the $path in sbuild.conf. - Aptitude resolver defines a custom SolutionCost in order to improve resolver behaviour (Closes: #608789). Thanks to Modestas Vainius. - When running apt-get, use "-o APT::Install-Recommends=false" rather than "--no-install-recommends" in order to support older releases (Closes: #609811). Thanks to Marc Deslauriers. - Purging the package removes generated files in /etc/sbuild/chroot and /var/lib/sbuild (Closes: #608412). - The architecture specified with --arch (defaulting to the host system architecture) must match the chroot architecture (Closes: #609151). This was previously allowed to be superceded by the chroot architecture. This change is to avoid any abiguity regarding the host/build architecture for the package being built. - Add --no-arch-all option to force not building arch-all packages (Closes: #613401). Thanks to Sebastian Harl for this patch. * sbuild-createchroot: - Use less restrictive permissions on chroot directory and schroot configuration file (Closes: #608414). The chroot now has 0755 permissions, and the schroot configuration 0644. - Don't require sudo access (Closes: #608429). The Sbuild::ChrootPlain module used to run commands inside the newly- created chroot was using sudo to run commands when already running as root. sudo is no longer used when root. - Remove use statement which prevented command-line options being registered (Closes: #610007, #607606). Command-line options now work correctly. * sbuild.conf: - $environment filter is syntactically correct (Closes: #610997). Thanks to Jakub Wilk. - $apt_allow_unauthenticated is documented to use apt-secure(8) (Closes: #608971). * sbuild.1: - Document the temporary local archive used by the apt and aptitude build dependency resolvers to store and install dummy dependency packages (Closes: #608972). -- Roger Leigh Mon, 14 Feb 2011 20:37:05 +0000 sbuild (0.60.8-1) unstable; urgency=low * New release. * sbuild: - Don't use user's default GPG configuration and keyrings for signing archives; use sbuild archive signing keys only (Closes: #606668). Thanks to Simon McVittie for this patch. - Use an empty directory as GPG homedir. - Don't run "apt-get update" to update local archive; copy files directly into /var/lib/apt/lists. This means the remote mirror lists can't be updated during a build, and it also saves the time needed to update the lists an additional two times. -- Roger Leigh Sun, 12 Dec 2010 19:24:11 +0000 sbuild (0.60.7-1) unstable; urgency=low * New release. * Correct building of dependency package using the apt and aptitude resolver, where /tmp is not shared with the host (Closes: #606278). -- Roger Leigh Wed, 08 Dec 2010 21:47:11 +0000 sbuild (0.60.6-1) unstable; urgency=low [ Roger Leigh ] * New release. * sbuild: - sbuild now sanitises its environment when running external commands. - sbuild no longer generates the files REDO and SBUILD-REDO-DUMPED. - sbuild now has a testsuite. - apt and aptitude build-dependency resolvers now use a local apt archive, which improves the behaviour of the apt resolver (the dependency package will no longer be removed in some situations). - Workaround uninstallable sysvinit on Ubuntu, where sysvinit is still present in the build-essential package list. Thanks to Jamie Strandboge. * sbuild-update: - sbuild-update works on multiple chroots (Closes: #604715). - sbuild-update works with multiple architectures (Closes: #606001). Thanks to Ansgar Burchardt for this patch. - sbuild-update now has a --keygen option to generate signing keys for temporary apt archives. * sbuild.1: Update description of --maintainer (Closes: #605745). Thanks to Jakub Wilk. * Sbuild::ConfBase: Only use MAILTO_HASH if defined (Closes: #589615). Thanks to Marc Dequènes for this patch. [ Modestas Vainius ] * sbuild: - Do not skip purging of build directory if chroot is cloned (Closes: #605997). This is necessary if /build in chroots is (bind-)mounted to the outside of the session. However, if /build is part of the cloned session, $purge_build_directory='never' could be used in order to avoid wasting time when the session ends. -- Roger Leigh Tue, 07 Dec 2010 21:08:28 +0000 sbuild (0.60.5-1) unstable; urgency=low * Chroot upgrade and dist-upgrade commands run with "dpkg --force-confold" as done for build dependency installation (Closes: #603397). Thanks to Loïc Minier. -- Roger Leigh Sat, 13 Nov 2010 18:43:25 +0000 sbuild (0.60.4-1) unstable; urgency=low * New release. * Allow the user to specify chroot namespaces in the distribution name (Closes: #602789). * Revert default build dependency resolver to 'internal' for the time being. -- Roger Leigh Tue, 09 Nov 2010 19:46:38 +0000 sbuild (0.60.3-1) unstable; urgency=low * New release. * sbuild-createchroot: - Allow direct creation of tarballs from chroots, with various options for compression (Closes: #545215). Thanks to Andres Mejia. * sbuild-update: - sbuild-clean functionality has been merged into sbuild-update. Thanks to Andres Mejia. * sbuild: - Dependency resolving: . 'aptitude' is now the default dependency resolver. Users wishing to use the old resolver should set $build_dep_resolver='internal' in their configuration. . The aptitude resolver can resolve complex dependencies. A | B, where A is uninstallable now correctly falls back to B (Closes: #403246). . Removal of Build-Conflicts now works, due to using apt-get or aptitude to perform the removal (Closes: #464376). . Default to not enabling virtual dependency resolving with the internal resolver ($resolve_virtual=0). This is to avoid changing the historical behaviour by default. - Don't set Sbuild::debug_level to undef (Closes: #602318). Thanks to Andres Mejia. - Add debuild-like feature to run sbuild on an unpacked source tree (Closes: #551311). In addition to specifying a package version to build, or a source package .dsc, a directory may be used. This will be packaged with 'dpkg-source -b' prior to building. Thanks to Andres Mejia. - Add support for running lintian after a build. Thanks to Andres Mejia. - Add support for running external commands before and after a build, and during chroot setup and cleanup. These may be used to run piuparts, for example. Thanks to Andres Mejia. * Run sbuild-* chroot maintenance commands in the 'source' chroot namespace for chroots providing such a facility (Closes: #567505). This means that update/distupgrade etc. operations will occur in the source volume for lvm-snapshot and btrfs-snapshot chroot types. Note that the sbuild chroot lock (/var/lock/sbuild) may be copied into cloned chroots if a build is started during a maintenance operation and the build will block until the operation is completed. -- Roger Leigh Mon, 08 Nov 2010 17:07:40 +0000 sbuild (0.60.2-1) unstable; urgency=low * New release. * sbuild: - Dependency resolving: . The aptitude build dependency resolver now sets Aptitude::CmdLine::Ignore-Trust-Violations based upon the $apt_allow_unauthenticated option (Closes: #588035). Thanks to Ansgar Burchardt for this patch. . Improve handling of alternative build dependencies and Provides using the interal build dependency resolver. (Closes: #586275, #578810, #591187, #591188, #591189, #595863, #595866, #595872). Thanks to Ansgar Burchardt for this patch. . Remove virtual build-dependency resolving using the "internal" resolver using the static ALTERATIVES (%alternatives) list. This was already limited, non-functional, and is obsoleted by the "aptitude" resolver. . Added the ability to resolve virtual dependencies using the "internal" build dependency resolver by calling "apt-cache --names-only" to get candidate packages to satisfy the dependency. The first package (sorted alphabetically) is chosen (Closes: #595934). This may be disabled using the $resolve_virtual option. . Use apt-get to remove build conflicts using the internal resolver and correctly reinstall post build. - Log the package source version as well as binary version in the package build log, since these may differ when making binNMUs (Closes: #569823). - Always attempt to install ESSENTIAL (build-essential) packages if they aren't already installed (Closes: #380113). - Don't end session on build failure (Closes: #567506). This allows examination of build trees and cloned chroots on build failure, rather than unconditionally deleting them, which prevents this. Thanks to Jan-Marek Glogowski. - Remove support for parsing output of apt-get stderr (Closes: #571806). - Check for sbuild group membership using gid and supplementary groups (Closes: #599350). * buildd: - Read entire contents of pipes (Closes: #567821). Thanks to Samuel Thibault. This ensures receipt of complete log messages. - Replace/Breaks with ubuntu-dev-tools <= 0.83 (Closes: #590153). Thanks to Lorenzo De Liso. * buildd-vlog: Fix breakage (Closes: #567822). Thanks to Samuel Thibault. This fix introduces sleeps, and is not a complete or entirely optimal fix, but corrects the existing breakage. * Documentation: - Remove trailing 'q' from sbuild-createchroot(8) manual page (Closes: #579971). Thanks to Salvatore Bonaccorso. - sbuild(1): . Remove and rewrite obsolete parts of the manpage (Closes: #599348). . .sbuildrc is no longer required for sbuild to function (Closes: #598054). -- Roger Leigh Tue, 02 Nov 2010 13:02:50 +0000 sbuild (0.60.1-1) unstable; urgency=low * New release. * debian/control: - Upgrade to Standards-Version 3.9.1. * sbuild: - Add --no-source option (Closes: #571726). Thanks to David Bremner for this suggestion. - Hint aptitude to produce better solutions in AptitudeBuildDepSatisfier. Thanks to Modestas Vainius. (Closes: #570463) - AptitudeBuildDepSatisfier: Handle the case when default negative dep is not available gracefully. Thanks to Modestas Vainius. (Closes: #571565). - Improve support for aptitude. - Set DEBIAN_FRONTEND=noninteractive when using aptitude (Closes: #588818). - Improve dpkg-source v3 source format handling. Don't hard-code assumptions about how the source files are named (Closes: #559533). - Remove conflict with schroot from oldstable. * buildd: - Retry the current suite if --take fails. (Closes: #570463) * buildd-uploader: - Don't remove the uploader lock if not already the owner Closes: #591620). Thanks to Sebastian Andrzej Siewior. * libsbuild-perl: - depend on schroot 1.4.0 or greater due to sbuild-createchroot creating schroot.conf fragments with 1.4.x-specific features. -- Roger Leigh Sun, 24 Oct 2010 19:56:34 +0100 sbuild (0.60.0-1) unstable; urgency=low * debian/control: - Upgrade to Standards-Version 3.8.4. - Use ${misc:Depends} as required by debhelper. * sbuild: - Only run "schroot --info" once on startup, to speed up the startup time when many chroots exist (Closes: #546624). Thanks to Nelson Elhage for finding this issue and suggesting a suitable approach for fixing it. - Don't append binNMU or extra version to version number for use in the DSC filename (Closes: #546647). Thanks to Nelson Elhage for finding this issue. - Distinguish between failed/attempted builds (Closes: #538083). - Build directory cleaned under all failure conditions (Closes: #538085). - Flush stdout explicitly in logger to avoid "choppy" output when monitoring interactively. Autoflushing stdout appears to be broken in Perl 5.10 so flush explicitly in addition to enabling autoflush. Thanks to Ryan Niebur for spotting this. - Print a list of all installed packages and versions, in addition to toolchain packages (Closes: #553301). Thanks to Felipe Sateler for this suggestion. - Don't default distribution to unstable (Closes: #559659). Defaulting to unstable can result in unintentional uploads of packages targetted at other distributions, such as experimental, which can potentially cause serious breakage. As a result, it is safer to require manually specifying the distribution, or explicitly setting it in the configuration file. - Set the man-db man-db/auto-update parameter to false to disable unnecessary work in a build environment. - Don't give back packages failing the arch check (Closes: #561936). Thanks to Philipp Kern for reporting this. - Add command-line and configuration options to enable running apt-get clean, upgrade and dist-upgrade prior to building. These complement the existing option to update the chroot, which is now also fixed (Closes: #521096). - Add $build_source variable to sbuild.conf to complement the --source command-line options (Closes: #564528). Thanks to David Bremner for this suggestion. - Allow setting of $build_dir in sbuild.conf (Closes: #535911). Thanks to Andres Mejia for this patch. - Add $check_space option to allow free space checking to be disabled (Closes: #551917). Thanks to Bruno Kleinert for this suggestion. - --apt-update both updates and upgrades the chroot (Closes: #521096). Thanks to Gustavo Noronha Silva for this patch. Note the original bug report 'get_apt_command' error was fixed on the 17th March 2009. - Allow the use of -C as well as --check-depends-algorithm as documented (Closes: #546673). Thanks to Nelson Elhage for this patch. * Add sbuild-clean script (Closes: #551310). Thanks to Andres Mejia for this patch. * sbuild-createchroot: Compute an absolute path for the chroot location. Thanks to Cyril Brulebois for this patch. * wanna-build: - Depend on postgresql-8.4-debversion in place of postgresql-8.3-debversion (Closes: #559607). Thanks to Martin Pitt for reporting this. - wanna-build now reads its system configuration from the correct location (/etc/buildd/wanna-build.conf, not /etc/wanna-build/wanna-build.conf). - Remove extra parenthesis from wanna-build-merge-packages (Closes: #553364). Thanks to Felipe Sateler for this patch. * Remove absent -t option for --top from sbuild-stats.1 (Closes: #566320). Thanks to Kurt Roeckx. * buildd: - Don't bind-mount /home into the schroot. (Closes: #566315) - Extract architecture for .changes filename from the .changes file instead of just using the system arch. (Closes: #566398) - Fix NO_WARN_PATTERN default to not warn about sbuilds build/current-* symlinks. (Closes: #566722) - Do all w-b interaction, leave nothing of it to sbuild. (Closes: #567646, #566321) -- Roger Leigh Tue, 23 Feb 2010 22:24:52 +0000 sbuild (0.59.0-1) unstable; urgency=low [ Roger Leigh ] * New release. * Use version comparison functions in WannaBuild::Database (Closes: #521486). Thanks to Florian Weimer. * WannaBuild::Database: Allow whitespace in Architecture field (Closes: #535415). Thanks to John Wright for this patch. * Sbuild::Build, WannaBuild::Database: Add support for architecture aliases/wildcards (Closes: #501230). Thanks to Andres Mejia for these patches. * Sbuild::Conf doesn't require STATS_DIR to exist, and Sbuild::Build::write_stats only uses STATS_DIR in batch mode (Closes: #539570). -- Roger Leigh Sun, 02 Aug 2009 11:15:26 +0100 sbuild (0.58.6-1) unstable; urgency=low [ Roger Leigh ] * New release. * debian/control: Update package descriptions to use correct English in full sentences (Closes: #531022). Thanks to Gerfried Fuchs for pointing this out. * Don't include Epoch in DSC filename (Closes: #529786). Thanks to Gustavo Noronha Silva for spotting this. -- Roger Leigh Sat, 20 Jun 2009 10:48:45 +0100 sbuild (0.58.5-1) unstable; urgency=low [ Roger Leigh ] * New release. * Install README.Debian in sbuild package (rename to debian/sbuild.README.Debian, Closes: #533029). * debian/sbuild.install: Don't install Perl modules, which should only be included in libsbuild-perl (Closes: #533143). * debian/control: - libsbuild-perl: Replace sbuild <= 0.58.4 (due to also providing perl modules) - sbuild: Depend on the same version of libsbuild-perl. -- Roger Leigh Mon, 15 Jun 2009 20:30:34 +0100 sbuild (0.58.4-1) unstable; urgency=low [ Roger Leigh ] * New release. * sbuild: - A $purge_build_deps configuration option, and --purge-deps command-line option have been added to control build-dependency removal (Closes: #528312). - Use the isin function from the Sbuild module (Closes: #529470). Thanks to Gustavo Noronha Silva for spotting this. * Sbuild: - Use Filesys::Df (libfilesys-df-perl) in place of invoking /bin/df and parsing its output. This is more robust and efficient, and works whatever the user environment (Closes: #509133). -- Roger Leigh Tue, 19 May 2009 22:16:46 +0100 sbuild (0.58.3-1) unstable; urgency=low [ Roger Leigh ] * New release. * debian/control: - Update to Standards Version 3.8.1. - Add buildd package. - Add libsbuild-perl package. - All packages depend upon libsbuild-perl. * Add support for appending a tag to version numbers (Closes: #475777). Thanks to Timothy G Abbott for this patch. * When using the --help or --version options, don't abort if not in the sbuild group (Closes: #523670). Group membership is now only performed after options parsing, and only if required. * Allow config files to use $HOME (Closes: #524564). Thanks to James Vega for this patch. * Restore buildd package. * Split common library functions into new libsbuild-perl package. * debian/sbuild.(preinst|postinst|postrm): - Remove special cases for versions older than oldstable. Update addition and removal of sbuild group to use return value of getent rather than parsing getent output. - Use addgroup/delgroup in place of adduser/deluser. - Use --system when adding and deleting group, to ensure creation of a system group. Migrate existing non-system group and group members if the system group is not present. - Handle removal of 50sbuild setup script. * debian/buildd.(preinst|postinst|postrm): Add maintainer scripts for buildd package. Move configuration file from /etc/buildd.conf to /etc/buildd/buildd.conf if present. Also create buildd user and group for running the buildd daemon. * Sbuild::Conf: Don't default MAINTAINER_NAME to $DEBEMAIL if unset in the configuration file (Closes: #520158). * /etc/schroot/setup.d/50sbuild: Remove. The setup tasks performed by this script are now handled internally by sbuild. -- Roger Leigh Sun, 17 May 2009 15:52:53 +0100 sbuild (0.58.2-1) unstable; urgency=low [ Roger Leigh ] * New release. * etc/50sbuild: Don't create user home directory inside the build chroot. Home directories are not required for building. * lib/Sbuild/ChrootInfoSchroot.pm: Run schroot in a C locale, to avoid localisation of the output which breaks parsing (Closes: #520755). This was preventing the detection of chroots in some locales. * debian/buildd.cron.d: Move example crontab here, with entries commented out for now. * debian/rules: Use dh_installcrontab to install crontabs. * Remove buildd package for this release, because it's not yet ready for use. -- Roger Leigh Sat, 11 Apr 2009 10:20:25 +0100 sbuild (0.58.1-1) unstable; urgency=low [ Roger Leigh ] * debian/rules: Run configure setting DCMD, SUDO and SCHROOT. (Closes: #519097). It's not possible to install sudo as a build-dependency due to it not allowing automatic removal, and none of the commands are actually needed for the build, just setting the default path. * sbuild: Don't erase default chroot environment (Closes: #519276). This removed APT_CONFIG, preventing sbuild from working correctly. Thanks to Francois-Denis Gonthier. -- Roger Leigh Wed, 11 Mar 2009 23:16:41 +0000 sbuild (0.58.0-1) unstable; urgency=low [ Roger Leigh ] * New release. * debian/rules: - Clean up old unused code. - Correct patching of config.status and config.guess. - Add functional binary-arch target. - Use dh_prep in place of dh_clean -k. - Don't configure with --with-postgresql (debversion code moved to postgresql-debversion). * debian/compat: Update to debhelper version 7. * debian/control: - Build-Depend on debhelper 7. - wanna-build recommends postgresql-8.3-debversion. * debian/NEWS: Document incompatible changes from previous versions. * debian/sbuild.docs: New file. Add NEWS. * debian/wanna-build.docs: New file. Add NEWS. * buildd-mail-wrapper: Use more portable BSD getloadavg in place of Linux-specific sysinfo. Thanks to Robert Millan for this patch (Closes: #511095). * wanna-build: --help output now documents --create-db, since --help now displays the full manual page (Closes: #511314). [ Kees Cook ] * lib/Sbuild.pm: always perform version checks on provided packages (Closes: #505747). -- Roger Leigh Sun, 08 Mar 2009 21:53:54 +0000 sbuild (0.57.5-1) unstable; urgency=low * New release. * Sbuild::Build::new: Check if 'DSC' exists rather than 'DSC File' to allow the .dsc to be in any directory (Closes: #489794). Thanks to Francois-Denis Gonthier for this patch. * $Sbuild::Conf::apt_allow_unauthenticated: New configuration parameter to disable APT package authentication, which is now enabled by default (Closes: #492327). Thanks to Enrico Zini for this patch. * Sbuild::Options: Use isin from Sbuild.pm (Closes: #492577). * Sbuild::Log: Add version number and correctly-formatted date to the package log name instead of a raw time_t (Closes: #493150). Additionally add user and architecture to the name. * Sbuild::Options: --make-binNMU no longer tries to assign an lvalue (Closes: #493325). Thanks to Greg Hudson for this patch. * $maintainer_name, $uploader_name and $key_id are now optional in .sbuildrc; one is only required with performing binary NMUs for the entry in debian/changelog (Closes: #489557). * debian/sbuild.postrm: Correct use of local to remove bashisms. -- Roger Leigh Sat, 02 Aug 2008 21:23:13 +0100 sbuild (0.57.4-1) unstable; urgency=low * New release. * debian/control: Update to Standards Version 3.8.0. * Use schroot "Session Purged" flag rather than "Session Cloned" (Closes: #482804). Thanks to Timothy G Abbott. * Handle version provides correctly, by using "~*=PROVIDED=*=" in place of "=*=PROVIDED=*=" as the package version (Closes: #395271). Thanks to Niko Tyni for this patch. * Don't include epoch version in directory names (Closes: #482456). Thanks to Raphael Hertzog. * man/sbuild-setup.7.in: Replace references to buildd.chroot with sbuild-createchroot, and adduser with sbuild-adduser (Closes: #483654). Thanks to Marc Fargas. * Package name, version, build directory and associated information are now contained within Sbuild::Build objects. This allows stripping of epoch to construct correct unpack directory location (Closes: #482931, #482922). * Warnings due to uninitialised variables are no longer reproducible (Closes: #449251). -- Roger Leigh Sun, 06 Jul 2008 12:21:06 +0100 sbuild (0.57.3-1) unstable; urgency=low * New release. * --chroot and --arch now work together (Closes: #479714). -- Roger Leigh Sun, 11 May 2008 10:49:17 +0100 sbuild (0.57.2-1) unstable; urgency=low * debian/copyright: Update copyright holders and copyright information. * debian/rules: Run dh_link in binary-indep target to correct symlinks. * debian/wanna-build.install: Install manual pages. * man/sbuild.1.in: - Add missing character, thanks to LI Daobing (Closes: #474487). - Document --binNMU (Closes: #466927). - --distribution should be --dist (Closes: #477693). Thanks to Martin F Krafft. * debian/README.Debian: Remove reference to README-buildd.chroot (Closes: #474030), thanks to Marc Fargas. Update sbuild statistics information. * Add --apt-update option to sbuild to run "apt-get update" in the chroot prior to fetching sources and building (Closes: #472350). Thanks to Timothy G Abbott for this patch. * Add --chroot option to specify a chroot separately from the distribution name (Closes: #474160). Thanks to Simon McVittie for this patch. * debian/control: Depend on debhelper version 6 or greater (Closes: #477655). Thanks to Martin F Krafft. * lib/Sbuild/Conf.pm: Don't require $mailto to be set if not running in a buildd environment (Closes: #478045). Thanks to Martin F Krafft. * Use dcmd to parse dsc files, rather than hand-parsing. This allows support of the new dpkg source format. * All files used in a build are stored in /build/username-package_version-arch-XXXXXX inside the chroot (Closes: #478044). -- Roger Leigh Sun, 27 Apr 2008 21:22:19 +0100 sbuild (0.57.1-1) unstable; urgency=low * New upstream release. * debian/control: - Depend upon schroot >= 1.1.6. This version includes a SESSION_CLONE property, used to determine if a chroot is cloned, and hence package removal may be skipped. - Add wanna-build package. * debian/rules: set libexecdir to /usr/share, for compatibility with locations of scripts in earlier versions. * debian/sbuild.install: use /usr/share in place of /usr/lib (Closes: #458779). * debian/wanna-build.install: New file: files for wanna-build. * sbuild: Don't parse output of dpkg-source (Closes: #471747). -- Roger Leigh Thu, 27 Mar 2008 20:42:56 +0000 sbuild (0.57.0-1) unstable; urgency=low * Sbuild/*.pm: Reindent to increase readability. * Sbuild/Chroot.pm: set APT::Install-Recommends to false inside the chroot (Closes: #449253). * Sbuild/Conf.pm: Add and export $check_depends_algorithm. [Jan-Marek Glogowski] * sbuild: - Reindent to increase readability. - Add additional syntax checks. Thanks to Jan-Marek Glogowski. - build: Use unicode line drawing characters instead of ASCII. - filter_dependencies: Remove redundant conditional. [Jan-Marek Glogowski] - Add check for check-depends-algorithm option. [Jan-Marek Glogowski] - filter_dependencies: Change dependency behaviour depending upon check_depends_algorithm. [Jan-Marek Glogowski] - Move to bin/. * avg-pkg-build-time: - Move to bin/. * bin/*: Reindent to increase readability. * chroot/*: Reindent to increase readability. * bin/sbuild-createchroot: - Moved from chroot/buildd.chroot. - Also install fakeroot and build-essential. * sbuild-createchroot.1.in: Add manual page. * chroot/buildd.chroot: - Add GPL boilerplate. - Remove /etc/passwd creation (already done by debootstrap). - Remove sbuild directory creation (already done by schroot). - Use here doc to set up /etc/apt/sources.list. - List sources.list. * chroot/README: Rename from README.buildd-chroot. Remove buildd.chroot section. * example.sbuildrc: Add missing variable types. [Jan-Marek Glogowski] * example.sbuildrc: Add missing variable types and add $check_depends_algorithm. [Jan-Marek Glogowski] * sbuild.1: Document --check-depends-algorithm [Jan-Marek Glogowski] * Move manual pages to man/. * debian/manpages: Move manual pages to man/. * sbuild.conf: Move to etc/. * example.sbuildrc: Move to etc/. * debian/compat: Move to debhelper v6 compatibility level. * debian/control: Update to Standards-Version 3.7.3. * debian/copyright: - Update git repository location. - Update GPL boilerplate. * debian/sbuild.dirs: - Rename from debian/dirs. - Remove all but -var/lib/sbuild/srcdep-lock. * debian/manpages: Remove. * debian/sbuild.postinst: Rename from debian/postinst. * debian/sbuild.preinst: Rename from debian/preinst. * debian/sbuild.postrm: Rename from debian/postrm. * debian/sbuild.install: - New file. - Install files from usr/sbin and usr/share/man/man8. * debian/rules: - Install sbuild-createchroot, and add buildd.chroot compatibility symlink. - Move -stamp files to debian/. - Remove GENFILES. - Run configure, make, and make install in appropriate rules. - Use dh_install. - Remove all special-cased installation rules (now handled by automake). * Note: All upstream changes are now in an upstream ChangeLog. -- Roger Leigh Tue, 01 Jan 2008 11:36:55 +0000 sbuild (0.56) unstable; urgency=low * sbuild - Fix --force-orig-source option which was renamed to --force_orig_source while rewriting the options parsing logic to use Getopt::Long (Closes: #428205). Thanks to Alec Berryman for reporting this regression. - Accept arguments for options requiring a string (Closes: #431216). Thanks to Anders Kaseorg for the patch for this regression. * debian/preinst: Use dpkg-query in place of /var/lib/dpkg/status. -- Roger Leigh Sat, 07 Jul 2007 20:36:35 +0100 sbuild (0.55) unstable; urgency=low * sbuild: - Parse options with Getopt::Long. - Remove trailing whitespace. - Initialise $main::sub_task with a value, in case the build gets terminated prior to it being used. - Change the position of begin_session, so that it matches the cleanup order on shutdown. - build: + Document the regex which strips the epoch from the version number. + Remove the call to setsid when forking dpkg-buildpackage, because this broke shell job control. Some packages might possibly hang while building if they detect they have a controlling terminal, but IMO this is a bug in the package. + When handling the timeout for dpkg-buildpackage, make the $SIG{'ALRM'} handler local, so that it is restored to the default once the build has finished. + When calling mv to move files, use -f to make sure it doesn't run interactively. - check_dependencies: If a toolchain package is missing, print a "not installed" message, rather than a blank version. - dsc_md5sums: Log failure to open the .dsc. - fetch_source_files: Strip the epoch of the version number, so that $dscbase matches the .dsc filename in the filesystem (Closes: #425715). Thanks to Lucas Nussbaum. - merge_pkg_build_deps: Replace references to "central" src deps with build-essential deps. - parse_manual_srcdeps: New function, to replace the addition of manual source dependencies from the removed read_deps() function. - shutdown: Call end_session to clean up the chroot. * Sbuild/Chroot.pm: - end_session: + Add a debugging message. + Clear $schroot_session. * Sbuild/Conf.pm: Add linux-libc-dev, gnumach-dev, hurd-dev and kfreebsd-kernel-headers to @toolchain_regex. Thanks to Clint Adams (Closes: #425855). * Sbuild/Log.pm.in: - Remove trailing whitespace. - open_log, open_pkg_log: Ignore SIGINT, SIGQUIT, SIGTERM and SIGPIPE in the logger processes, so that logging continues if the process group is signalled to terminate. They will exit when the group leader exits or closes the pipe. * debian/changelog: Fix missing colon in bug closure for revision 0.2.4. * debian/compat: New file. Set to debhelper compatibility level 5. * debian/control: Depend on debhelper v5. * debian/NEWS: Renamed from debian/NEWS.Debian (Closes: #425370). Thanks to Lucas Nussbaum for spotting this. * debian/rules: Remove DH_COMPAT. -- Roger Leigh Mon, 28 May 2007 00:38:46 +0100 sbuild (0.54) unstable; urgency=low * debian/control: - Remove sudo from Depends. - Add schroot to Depends. - Remove schroot from Recommends. - Depend on dctrl-tools rather than the transitional grep-dctrl package. Thanks to Jonh Wendell (Closes: #417573). * debian/rules: - Don't install sbuild.conf.local. - Install sbuild.conf into /etc/sbuild. * debian/NEWS.Debian: - New file. - Document removal of manual source dependencies and sudo. - Document removal of support for building from a directory. - Document removal of building on the host system. - Document sudo->schroot migration. - Document change in $sbuild_mode default. * debian/README.Debian: - Document removal of manual src-deps. - Remove requirements for chroot symlinks in working directory. * sbuild: - Remove read_deps, so manual src-deps are no longer read. The remainder of the manual src-deps support remains to be removed. - Quote all arguments to system commands such as "rm -rf", to prevent potential disasters. - Update copyrights, and encode in UTF-8. - Use "du -k -s" instead of "du -s" to increase portability. Thanks to Martin Koeppe (Closes: #418061). - Compute package, version, directory and whether to download sources before calling fetch_source_files, because all the needed information is available at this point. - cleanup_packages: + Remove check for schroot when removing build dependencies, since schroot is the default. + Remove undo_specials(). - build: + Remove do_apply_patches. + Replace "822-date" with "date -R". Thanks to Guillem Jover for this patch (Closes: #415798). + Remove support for building from a directory. + Run dpkg-source from within the chroot. + Don't chdir before running dpkg-source. + Don't chdir before running dpkg-parsechangelog (do it in the schroot child process). + Remove obsolete code for running dpkg-buildpackage outside a chroot. - fetch_source_files: + Remove support for building from a directory. + Download sources directly into the chroot build directory. For sources already existing outside the chroot, copy them into the chroot build directory. + Add extra directory, package, version and download arguments. + Only call dsc_md5sums once, rather than twice. - apply_patches: Remove. - get_special: Remove use of @main::global_patches. - Remove SVN Id:. - install_deps: Remove @special use. - unpack_special_source: Remove. - undo_specials: Remove. - filter_dependencies: Remove @special use. - run_script: Remove. - parse_one_srcdep: Remove @special use. - get_special: Remove. - write_srcdep_lock_file: Remove @special use. - check_srcdep_conflicts: Remove @special use. - dump_main_state: New function to dump the program state using Data::Dumper. Use to dump the state after each build. - Add / separators to all users of $main::chroot_build_dir in paths. - Replace all users of regular expressions to strip the chroot dir from paths with strip_chroot_path. - get_dpkg_status: Print debugging messages with defined variables only, to avoid Perl warning. - verify_md5sums: Remove obsolete comment regarding chroots. - check_group_membership: New function to check the user is a member of the sbuild group (Closes: #414064). - Added new command-line argument --arch to specify the architecture, and pass this to begin_session (Closes: 410576). * Sbuild/Chroot.pm: - Remove all special casing for sudo and schroot. schroot is now the only supported method of accessing chroots. - end_session: Only attempt to end a session when $schroot_session is non-empty. - _setup_options: + Remove use of $chroot_only. + Remove trailing / from 'Build Location'. - init: Add newline to debugging message. - strip_chroot_path: New function to strip the chroot location from a path. - log_command: Correctly log commands when no APT Options stripping is needed. - get_command_internal: Set the working directory inside the chroot to the build location. - begin_session: take the architecture as a second argument, and check if a chroot specific for the architecture exists. * Sbuild/Conf.pm: - Don't export $source_dependencies. - Don't define $source_dependencies. - Abort with an error if $source_dependencies is defined. - Don't export $sudo or $chroot_mode. - Don't define $sudo or $chroot_mode. - Remove sudo sanity checks. - Abort with an error if $sudo or $chroot_mode are defined. - Don't export $chroot_only. - Don't define $chroot_only. - Abort with an error if $chroot_only is defined. - Define and export %alternatives. Thanks to Martin Koeppe (Closes: #418060). - Define and export @no_auto_upgrade and %watches. - Remove the requirement for /usr/share/sbuild/sbuild.conf. - Mark deprecated/obsolete variables for removal post-Lenny. - Set defaults from global sbuild.conf. * sbuild.conf: - Remove $source_dependencies. - Remove $sudo. - Remove $chroot_only. - Add and document all options from Sbuild/Conf.pm. - Reorder into sections. - Merge with sbuild.conf.local, and install into /etc/sbuild. * sbuild.conf.local: - Remove $source_dependencies. - Remove. * example.sbuildrc: - Replace all options with documented options from sbuild.conf. - Add additional user-centric options from sbuild.conf. - Reorder into sections. * sbuild.1.in: Document --arch and chroot search order. * sbuild-setup.7.in: - Remove sudo setup. - Update user section to document sbuild group membership and add_sbuild_user. Remove chroot setup, which is now handled by schroot (Closes: #413524). * bin/README.bins: Remove sudo from extra package list. * bin/updatechroot, bin/upgradechroot, bin/chrapt: Remove chroot_mode. * chroot/add_sbuild_user: - Remove sudo setup instructions and copying of /etc/sudoers to the chroot. - Rewrite in perl. Only call adduser; all other chroot setup is taken care of by the 50sbuild schroot chroot setup script (Closes: #413908). * TODO: New file. Document needed changes. -- Roger Leigh Fri, 18 May 2007 17:46:31 +0100 sbuild (0.53) unstable; urgency=low * Sbuild/Conf.pm: Add and export check_watches configuration variable. * sbuild: - Set umask to 022 so that dpkg-buildpackage always runs with a sane umask (Closes: #405836). - check_watches: Don't check watches if check_watches configuration variable isn't set (Closes: #397123). - get_apt_policy: Allow ~ in version numbers. Thanks to Frank Lichtenheld for this patch (Closes: #407293). - When running apt-cache, divert STDOUT to the package log, so that warnings do not get mailed separately (Closes: #399178). - fetch_source_files: + Correct indentation, and error with brace placement which caused apt-cache output to not be used. + Add package information into the key of the %entries hash, in order to cope with multiple packages being returned by apt-cache. Based on a patch by Goswin von Brederlow for Bug #408091. * sbuild.conf: Obsolete $source_dependencies. * sbuild.conf.local: - Add pgp_options from sbuild.conf (Closes: #398128). - Add check_watches. - Obsolete $source_dependencies. * update-sourcedeps, update-sourcedeps.1.in: Remove (Closes: 409642). Thanks to Kenshi Muto for reporting that it no longer works. * debian/rules, debian/manpages, debian/README.Debian: Remove support for update-sourcedeps, and note that sourcedeps support is obsoleted and will be removed in Lenny. -- Roger Leigh Sun, 11 Feb 2007 10:18:12 +0000 sbuild (0.52) unstable; urgency=low * New upstream release. * sbuild: Remove incorrect WannaBuild:: prefix from version_compare. -- Roger Leigh Sat, 21 Oct 2006 21:23:16 +0100 sbuild (0.51) unstable; urgency=high * Urgency is high because this version fixes an RC bug in testing. * Sbuild.pm: Fix handling of ~ in versions (merge from upstream SVN cset 100; Closes: 392752). * sbuild, Sbuild/Conf.pm, sbuild.conf.local: Add support for setting APT policy, to allow building from experimental and sarge-backports. Thanks to Wouter Verhelst for this patch, which has been slightly modified to add configurability and adapt to this version of sbuild. * sbuild: - Don't run md5sum inside the chroot. Thanks to Michael Banck (Closes: #392323). - chroot_arch(): New function to detect build architecture from within the chroot. Thanks to Kees Cook (Closes: #392992). * Sbuild/Conf.pm: Fix check for schroot. Thanks to Julien Danjou for finding this (Closes: #392751). * sbuild-setup.7.in: Correct example commandline for debootstrap. Thanks to Alex Pennace (Closes: #391277). -- Roger Leigh Sat, 21 Oct 2006 10:13:00 +0100 sbuild (0.50) unstable; urgency=low * debian/copyright: Add Alioth file download location. * chroot/add_sbuild_user: - Fix chrapt command examples in output to use correct option syntax, thanks to Matthias Julius (Closes: #381186). - Add SHELL to sudoers env_keep. * sbuild: - dsc_md5sums: Return hashref on failure, rather than -1. - verify_md5sums: Only run md5sum if there is one or more md5sum to verify, to prevent md5sum waiting forever on stdin if there are no files to check. Thanks to Daniel Stone. * Sbuild.pm: Use new binNMU versioning scheme (+bn), taken from wanna-build SVN. Thanks to Clint Adams (Closes: #384137). * Sbuild/Conf.pm: Check sudo does not strip SHELL from the environment. * sbuild-setup.7.in: Document needed addition of SHELL to sudoers env_keep (Closes: #389815). -- Roger Leigh Fri, 29 Sep 2006 14:08:11 +0100 sbuild (0.49) unstable; urgency=low * Sbuild/Conf.pm: init checks if APT_CONFIG and DEBIAN_FRONTEND are being stripped from the environment by sudo (when running in split mode), and aborts with instructions for correctly configuring sudo. This prevents apt-get silently using the configuration from the host system instead of the chroot. * Sbuild/Chroot.pm: When running in split mode, use the -s option of su to set the shell used inside the chroot to /bin/sh. This ensures that a valid shell is always used when the $SHELL is not available inside the chroot (Closes: 378283). * sbuild.conf, sbuild.conf.local, update-sourcedeps, sbuild.1.in, avg-pkg-build-time.1.in: Update to use the new configuration file locations. -- Roger Leigh Sat, 15 Jul 2006 23:42:09 +0100 sbuild (0.48) unstable; urgency=low * Sbuild/Chroot.pm: Use su, rather than sudo, inside the chroot. This prevents the APT_CONFIG and DEBCONF_FRONTEND environment variables from being removed (Closes: #376020). * Sbuild/Conf.pm: Add $Sbuild::Conf::su. * sbuild-setup.7.in: Remove sudo configuration inside the chroot, now this is no longer required. -- Roger Leigh Sun, 9 Jul 2006 18:18:33 +0100 sbuild (0.47) unstable; urgency=low * bin/checkchroot: Correct uninitialised value warnings due to using an undefined variable (Closes: #369709). * bin/chrapt, bin/updatechroot, bin/upgradechroot: When chroot_mode is "schroot", chdir to / to ensure the CWD exists inside the chroot. Thanks for Clint Adams for finding this (Closes: #372806). * sbuild: fetch_source_files: When running apt-cache, check if we got valid output, and warn appropriately if the output is invalid (Closes: #369707). Output may be invalid if there are no deb-src lines in /etc/apt/sources.list in the chroot. * Sbuild/Conf.pm: Remove $Sbuild::Conf::log_dir checks. * Sbuild/Log.pm.in: If $Sbuild::Conf::log_dir does not exist, try to create it, and if this fails, warn and log to stdout (Closes: #369718). -- Roger Leigh Sat, 17 Jun 2006 12:04:36 +0100 sbuild (0.46) unstable; urgency=low * sbuild: - fetch_source_files: Only print "apt-get update" invocation in debug mode. - get_dpkg_status: Make sure $version is defined before checking its value, to ensure the Debian version can have a value of 0. Thanks to Santiago Vila for this fix (Closes: #368066). * Update svn::ignore properties to ignore generated files. * debian/control: - Update to Standards-Version 3.7.2. - Use Build-Depends, rather than Build-Depends-Indep. -- Roger Leigh Sat, 27 May 2006 15:22:02 +0100 sbuild (0.45) unstable; urgency=low * bin/checkchroot: - Check if the dpkg and reference files contained any data, and exit with an error if either were empty (Closes: #363351). - On error, use Sbuild::Utility::shutdown to clean up. * bin/chr-hold, bin/chr-unhold: On error, use Sbuild::Utility::shutdown to clean up. * sbuild: - build: Only print dpkg-buildpackage invocation in debug mode. - uninstall_debs: Only print dpkg invocation in debug mode. * debian/control: Update to Standards-Version 3.7.0. -- Roger Leigh Mon, 1 May 2006 09:48:20 +0100 sbuild (0.44) unstable; urgency=low * avg-pkg-build-time: Use Sbuild::Conf. * bin/checkchroot: Convert to Perl, using Sbuild::Utility. * bin/chrapt: Convert to Perl, using Sbuild::Utility. * bin/chr-hold: Convert to Perl, using Sbuild::Utility. * bin/chr-unhold: Convert to Perl, using Sbuild::Utility. * bin/gochroot: Convert to Perl, using Sbuild::Utility. * bin/updatechroot: - Convert to Perl, using Sbuild::Utility. - chrapt is no longer used (Closes: #355035). - Sbuild::Chroot is used for chroot access: + Suite names are no longer hardcoded (Closes: #355037). + APT Options are set correctly (Closes: #355038). * bin/upgradechroot: Convert to Perl, using Sbuild::Utility. * bin/common_functions: Remove; this is no longer used. * sbuild: - Treat schroot chroots with a "-sbuild" suffix in the same way as chroots without a suffix (Closes: #360124). - Use the new modules Sbuild::Chroot, Sbuild::Conf and Sbuild::Log. The functions moved into the modules have been removed. - Import needed module functions into the local namespace, to avoid long namespace prefixes on functions. - Remove $main::chroot_apt_options. - Move $main::debug to Sbuild::Conf. - Import Sbuild::Conf into package "conf". This allows the package name used by upstream to be used for backward compatibility. - Use $conf::HOME instead of $main::HOME. - Move $main::username to Sbuild::Conf. - Set $main::chroot_dir, $main::chroot_build_dir, $main::srcdep_lock_dir and $main::ilock_file from the current chroot $Sbuild::Chroot::current. $main::srcdep_lock_dir replaces $conf::srcdep_lock_dir (which is still used to set when the chroot is set up). - Pass $main::distribution to open_log and open_pkg_log. - Remove $main::cwd, $main::nolog and $main::verbose, now provided by Sbuild::Conf. They are imported from Sbuild::Conf for backward compatibility. - Remove unused $main::HOSTNAME. - Add build statistics to close_pkg_log. - Die if no maintainer_name, uploader_name or key_id is specified. - Set and unset $main::binNMU_name in the main loop, rather than when opening and closing the package log. In consequence, open_pkg_log now needs the package name only, and close_pkg_log does not need the package name passing. - build: + Set $firstline to "" to quell a warning. + Use debian_files_list to check for missing or extra packages, and warn appropriately. + Delete erroneous _all.deb files (Closes: #357042). - Don't use File::Temp (only needed by modules). - Remove build directory check. - Use File::Basename::basename instead of Sbuild::basename. - Don't import internal Sbuild::Chroot functions. - Split verify_dsc_md5sums into two parts: dsc_md5sums and verify_md5sums. - debian_files_list: New function to parse debian/files. * Sbuild/Chroot.pm: - New perl module for chroot operations. It contains the functions begin_session, end_session, log_command, get_command_internal, get_command, run_command, exec_command, get_apt_command_internal, get_apt_command and run_apt_command. - Don't export init and log_command. - Don't hardcode a list of chroots; use a glob to search for chroot-* instead. This allows any distribution name to be specified with -d. - Add an "APT Options" attribute to the chroot hash, to replace $main::chroot_apt_options. - Use STDERR instead of PLOG (which may not be available). - Replace $main::debug with $Sbuild::Conf::debug. - Replace $main::username with $Sbuild::Conf::username. - begin_session takes the distribution as its first argument, rather than using $main::distribution. - Don't use $main::chroot_dir. Add the build paths as 'Build Location', 'Srcdep Lock Dir' and 'Install Lock' to the chroot metadata. - Use File::Temp. - Don't export "internal" functions. - _setup_options: Set "APT Options" for schroot chroots. - log_command: Don't substitute CHROOT_APT_OPTIONS when no APT options are in use. * Sbuild/Conf.pm: - New perl module for configuration variables. It reads the system and user configuration. - Add $debug. - Add $username. - Add $cwd, $nolog and $verbose. They exported and used by the other modules in place of the variables in the main package. - Add and export $avg_time_db, $avg_space_db, $maintainer_name, $uploader_name and $key_id. - Add build directory check (moved from sbuild). * Sbuild/Log.pm: - New perl module for logging. It contains the functions open_log, close_log, open_pkg_log, close_pkg_log, add_time_entry, add_space_entry, send_mail and log_symlink. - $main::main_logfile and $main::pkg_logfile are package variables. - Removed use of $main::distribution. The distribution name must be passed to open_log or open_pkg_log. - Don't use $main::HOSTNAME or $main::arch. Get the values directly. - open_pkg_log: Save the package name for future use; the binNMU name (if any) is passed, so this no longer needs computing. - close_pkg_log: + Obtain $main::pkg_status, $main::pkg_start_time, $main::pkg_end_time and $main::this_space from the function arguments. + Don't pass the package name, which was saved in open_pkg_log. - add_space_entry: Use $space rather than $t, and don't use $main::this_space. - Use File::Temp. - Use File::Basename::basename instead of Sbuild::basename. * Sbuild/Utility.pm: New perl module for utility programs. This is a perl replacement for bin/common_functions. * bin/checkchroot: - Quote all variables. - Sort ref-chroot file before diffing (Closes: 360058). * avg-pkg-build-time.1.in, sbuild.1.in, sbuild-setup.7.in, update-sourcedeps.1.in, Sbuild/Log.pm.in: Rename and embed version and date tags for substitution. * COPYING: New file (GPL licence text). * debian/control: Update uploaders. * debian/copyright: - Update with new subversion repository locations for upstream and Debian. - Add Roger Leigh as a copyright holder. - Add a reference to /usr/share/common-licenses/GPL. * debian/dirs: Add usr/share/perl5/Sbuild. * debian/rules: - Install Sbuild/Chroot.pm, Sbuild/Conf.pm, Sbuild/Log.pm and Sbuild/Utility.pm into /usr/share/perl5/Sbuild. - Generate all manual pages and Log.pm in the build rule, and remove them in the clean rule. -- Roger Leigh Fri, 7 Apr 2006 09:47:00 +0100 sbuild (0.43) unstable; urgency=low * sbuild: - verify_dsc_md5sums(): New function to verify the MD5SUM of files in a .dsc file. - Add $conf::md5sum for security. - fetch_source_files(): + Use verify_dsc_md5sums to check for incomplete downloads, and redownload sources if needed; also verify again after download (Closes: #270439). + Remove redundant braces and reindent. - build(), shutdown(): Quote kill command correctly (Closes: #356686). - When using schroot, look for a distribution named "$distribution-sbuild" in preference to "$distribution". - open_log(), open_pkg_log(): + Use fork() rather than tee to multiplex log output. + Don't buffer log output (Closes: #358717). - close_log(), close_pkg_log(): Close all dup'd log streams, and don't kill the child log processes, which avoids dataloss in the pipeline. - log_symlink(): New function to create a symbolic link to the current package log. This replaces the use of /bin/ln, which has races if concurrent builds use it. - open_log(), close_log(): + Save a references to the initial STDOUT and STDERR, and restore them when the log is closed. + Create the build log using File::Temp, in the form build-distribution-date.XXXXXX.log. This prevents races during logfile creation when running concurrent builds. If the file is empty, it is unlinked on close, irrespective of whether verbose mode is used or not. - open_pkg_log(): Use the saved STDOUT for verbose logging. This prevents the package log being also directed to the build log. - setup_options(): Remove unused call to tmpnam(). - check_dependencies(): Print kernel information along with the toolchain package versions, in the same style as reportbug. - build(): Check for _all.udeb files which are built when they shouldn't (merge from upstream SVN cset 98). - Strip "./" from $pkg, so the name used for source dependencies is correct (Closes: #359747). - Add --force-orig-source option to force the inclusion of the .orig.tar.gz (Closes: #318030). - Add $conf::force_orig_source to allow --force-orig-source to be specified in a .sbuildrc. * sbuild.1: + Document schroot chroot naming. + Document --force-orig-source option. + Correctly escape hyphens in option and file names. * sbuild-setup.7: Use debootstrap rather than cdebootstrap. * bin/common_functions: Allow any chroot name to be specified (Closes: #356785). * bin/README.bins: Document changed chroot syntax. * bin/checkchroot: Set LC_COLLATE=POSIX to prevent collation issues (mismatches with the reference file; Closes: #294883). * bin/common_functions, bin/README.bins: Remove ~/build/ from the chroot path, to match sbuild behaviour of searching in the current directory (Closes: #355034). * chroot/README-buildd.chroot: Fix typo. * chroot/buildd.chroot: Use debootstrap rather than cdebootstrap (Closes: #358668). * debian/control: Recommend debootstrap rather than cdebootstrap. * example.sbuildrc: Add example $force_orig_source, with documentation. -- Roger Leigh Wed, 29 Mar 2006 14:58:32 +0100 sbuild (0.42) unstable; urgency=low * sbuild: - get_apt_command_internal(): Always add $main::chroot_apt_options. - log_command(): Add an additional priority argument. If nonzero, the message is always logged, otherwise is only logged if debug is enabled. - get_command_internal(): When running schroot, preserve the user environment, needed for APT_CONFIG, DEBIAN_FRONTEND, etc.. - get_command(), run_command(), exec_command(), get_apt_command(), run_apt_command(): + chdir to $main::cwd to make sure the directory location also exists inside the chroot. + Add an additional priority argument to control the urgency of the log message, and pass this to log_command(). - get_virtuals(): Remove usage of $main::chroot_apt_options, which is added automatically by get_apt_command(). - get_command(), run_command() and exec_command() only log the full command when debugging is enabled, otherwise only the short form is logged (Closes: #355043). - setup_options(): + Ensure APT_CONFIG is set to the correct path depending upon the chroot_mode. $chroot_aptconf is the absolute path to the file from the host system, while $aptconf is the absolute path when apt is run. + Only set $main::chroot_apt_options when chroot_mode is "split". + Always regenerate apt.conf, because when chroot_mode is changed, it will break APT unless rewritten. + Don't set "Dir" in $chroot_aptconf when in chroot_mode is "schroot" (because apt is run inside the chroot). - Remove setpgrp() calls, so that all child processes run in the same process group as the parent. - Add a $conf::sbuild_mode, used to switch behaviour between user and buildd defaults. The default is "buildd". This allows package build errors to be reported (Closes: #170742). - Add a --quiet option, the opposite action to --verbose. - open_pkg_log(): + Use correct Sbuild:: namespace for binNMU_version (Closes: #355861). + Create current-distribution symlink in addition to current. - Set the in the environment SHELL=/bin/sh, in case the user invoking sbuild uses a shell not available inside the chroot. - Remove unused variables @dist_parts and $main::nomail. - Use correct use syntax for File::Temp and Cwd, and initialise a number of variables which would otherwise be undefined, in order to remove run-time warnings. - Add a number of checks for undefined variables to remove run-time warnings. - Add -w to the shebang line, so sbuild always runs with warnings enabled. - All exec commands other than writing logfiles now use exec_command, so they get logged. - Require /usr/share/sbuild/sbuild.conf and optionally require /etc/sbuild/sbuild.conf. - Use named signals, rather than numbers, for portability. - close_log(), close_pkg_log: If verbose is enabled, flush the log and wait a second before killing tee, to prevent data loss in the pipeline. - $main::verbose is set by default if running on a tty (Closes: #355802). - LOG and PLOG are set to autoflush using IO::Handle. - $conf::build_dir defaults to $main::cwd if undefined. It is used as the directory containing the build chroots, build logs, and current symlinks (Closes: #183022). - Always print toolchain packages. This is done by always calling merge_pkg_build_deps(), and running all the way through install_deps(), even when the package does not supply any build dependencies or conflicts (Closes: #355040). - install_deps(): + If there are no package dependencies, create an empty anonymous array reference to hold the (nonexistent) dependencies, required by filter_dependencies. + Make sure %entries is initialised. - fetch_source_files(): Check that the dsc specified is valid. * sbuild.conf: Don't require local config file. * sbuild.conf.local: Add $sbuild_mode, defaulting to "buildd". * example.sbuildrc: Add $build_dir example. * sbuild.1: Document --quiet. * sbuild-setup.5: - Split chroot setup and user setup into two sections. - Document sudoers env_keep setup (Closes: #355072, #355604). * Sbuild.pm: Remove unused module 'IO'. * chroot/add_sbuild_user: Add sudoers env_keep example. * debian/README.Debian: Document existence of sbuild-setup(7). * debian/control: - Depend on perl-modules (for File::Temp). - Recommend schroot 0.2.7 or later (for preserving the environment). * debian/dirs: Add etc/sbuild. * debian/rules: - Remove "make clean" in clean target; there is no Makefile, so this is redundant. - Install sbuild.conf as /usr/share/sbuild/sbuild.conf and sbuild.conf.local as /etc/sbuild/sbuild.conf. * debian/preinst: - New conffile. - Remove /etc/sbuild.conf.local if not locally modified. * debian/postinst: - Move /etc/sbuild.conf.local to /etc/sbuild/sbuild.conf if needed. - Reindent. * debian/postrm: - Unlink /etc/sbuild.conf if present. - Unlink files under /var/lib/sbuild. - Reindent. -- Roger Leigh Mon, 13 Mar 2006 00:14:00 +0000 sbuild (0.41) unstable; urgency=low * sbuild: - setup_options(): Set $main::chroot_apt_options in the same manner as upstream. - setup_options(): Correct usage of a scalar reference rather than the scalar $main::chroot_dir (Closes: #354520). -- Roger Leigh Mon, 27 Feb 2006 19:07:59 +0000 sbuild (0.40) unstable; urgency=low * sbuild: - Fix typos in debug statement ($main::distribution rather than $main::distribtion, and $main::schroot_session rather than $main::scroot_session). Thanks to Adeodato Simó for this fix (Closes: #354456). - get_schroot_info(): Parse schroot "--info" Path (chroot location) output. - get_schroot_info(): Parse schroot "--info" Type (chroot type) output, and if "plain", always set $main::dist_sessioncaps to 0 ("plain" chroots may say they are session-managed, but do not support full session management, so they always need cleaning). * debian/control: - Recommend schroot (>= 0.2.5), for its "Path" information in --info output, used for determining the chroot location. -- Roger Leigh Sun, 26 Feb 2006 22:19:04 +0000 sbuild (0.39) unstable; urgency=low * sbuild: - fetch_source_files(): Merge from upstream SVN (cset 94); Strip trailing whitespace from each line in $dscfile/debian/.sbuild-build-deps early on, making all subsequent regexes simpler. - Update copyright notice (add myself as a copyright holder). - Add %main::sessioncaps to store whether or not a chroot is session-capable. Check the schroot "Session Managed" attribute to determine session capability. - If a chroot is session-capable, skip running uninstall_deps() (thanks to Reinhard Tartler). - Add debugging messages for distribution selection and schroot session creation (thanks to Reinhard Tartler). * debian/control: - Recommend schroot (>= 0.2.3-2), for its "Session Managed" information in --info output, used for skipping chroot cleanup. -- Roger Leigh Tue, 21 Feb 2006 23:44:19 +0000 sbuild (0.38) experimental; urgency=low * Full sudo access is no longer mandatory when using the schroot chroot_mode (Closes: #287669, #331506). * schroot session management is now fully implemented and completely functional. * sbuild: - Move schroot metadata parsing to a separate function, get_schroot_info(). Parse both "Location" (for backwards-compatibility) and "Mount Location". - Move path and APT setup into a separate function, setup_options(). - Remove check_dpkg_version(). This has not been necessary since the release of potato (Debian 2.2), which had a dpkg version 1.6.14. - When $chroot_mode == "schroot", clear %main::dist_order and %main::dist_locations using an empty array, rather than undef. - New functions get_command(), run_command(), get_apt_command() and run_apt_command() to run a command inside or outside the build chroot under the specified user, or run apt inside or outside the chroot (depending on the chroot_mode), respectively. - New function exec_command(). This is the same as run_command(), but runs the command with exec rather than system(). - New functions log_command() to log a command being run, get_command_internal() and get_apt_command_internal() to get a command string without logging it; these are used by get_command(), run_command, exec_command(), get_apt_command() and run_apt_command(), which do log the command being run. Commands are logged in for all chroot modes. - get_apt_command() and run_apt_command() take an additional parameter, the command to run (apt-get or apt-cache). - get_apt_command() and run_apt_command() take an additional parameter, the user to run as, because not all commands need (or should) run as root. - Use new commands for running commands inside and outside chroots: + Signing options for dpkg-buildpackage are double-quoted rather than single-quoted (because the main command is single-quoted). + All commands run in a pipeline are obtained with get_command() or get_apt_command(). + All other commands are run with run_command(), exec_command() or run_apt_command(). + check_space() only requires root access in the chroot. - Add schroot session management. Sessions are created, run and removed automatically. The current session is stored in $main::schroot_session. setup_options is called once per build, in order to set up the session options. - Add missing newline to log message. * sbuild.1: - Update outdated information. - Correct macro usage and reindent. - Correct command-line summary (Closes: #311589). * sbuild-setup.7: New manpage. This describes how to set up a chroot (Closes: #311363). * avg-pkg-build-time.1: Clean up. * update-sourcedeps.1: Clean up. * sbuild.conf: $schroot_options defaults to "-q" to match the built-in default. * example.sbuildrc: Single quote example email addresses in $maintainer_name, $uploader_name, and $key_id (Closes: #341327). * chroot/buildd.chroot: - Use "set -e" to abort on all errors (Closes: #342357). - Correctly quote all shell variables. - Use cdebootstrap rather than debootstrap. * chroot/buildd.chroot.pre-sarge: Remove. * chroot/README-buildd.chroot.pre-sarge: Remove (Closes: #308065). * debian/control: - Recommend schroot. - Recommend cdebootstrap rather than debootstrap. * debian/README.Debian: Update information about src-deps and schroot. -- Roger Leigh Wed, 15 Feb 2006 18:13:23 +0000 sbuild (0.37) unstable; urgency=low * Sync with upstream SVN: - avg-pkg-build-time, avg-pkg-build-time.1, sbuild, sbuild.1, update-sourcedeps, update-sourcedeps.1: Update copyright notices with current FSF postal address. - sbuild: + Split changes files sent in the log every 989 characters, to better conform to mail RFCs. + Always show versions of installed build dependencies. + Always purge packages when building in a chroot. + Output purged packages line by line, rather than all at once. + Use strftime() and getpwuid() instead of the external commands date and whoami. + Use /var/lib/sbuild/apt.conf if it exists, and create it if it does not. This fixes the problem of the root filesystem /etc/apt/apt.conf and /etc/apt/apt.conf.d directories being used, while the copies in the chroot filesystem are ignored. + Allow arch: all packages to be built when $main::build_arch_all is true. + Hardware DEBIAN_FRONTEND to "noninteractive" when installing and purging packages. "apt-get update" is also run when the package cache is out of date (closes: 331546). + Fix support for '~' in version numbers. + Add Sbuild.pm (upstream WannaBuild.pm), and replace version_cmp() with Sbuild::version_compare(). + Add REDO support for binNMUs. + Add stats generation for download+install, build and remove times. + Disassociate from the controlling terminal and make stdin /dev/null for the dpkg-buildpackage process. + Don't create entries to the sbuild log when a package claims to build an _all.deb, but doesn't. Instead, warn to the build log. + Delete binary-all packages that we didn't ask to be built. + By default, set APT::Get::AllowUnauthenticated to "true". + Add $conf::chroot_only for compatibility with upstream (closes: #302628). + Add $conf::dpkg_source. + Add $conf::build_env_cmnd. + Merge whitespace and indentation changes. + Fix typos. + shutdown(): Don't close the package log if there is no current job. + read_build_essential(): Read build-essential from $main::chroot_dir instead of the root filesystem. + Add @main::toolchain_pkgs and @toolchain_regex. + check_space(): Redirect stderr of du to /dev/null. + run_apt(): Complete support for "install-deps-env". + Add --use-snapshot for building with gcc-snapshot. + build(): Remove dpkg-buildpackage debugging statements. + merge_pkg_build_deps(): Correctly separate dependencies in $deps, and don't immediately return if there are missing packages. + Remove support for --store-built-packages. + get_dpkg_status(): Check $version is set and compute $result in the same manner as upstream. + run_apt(): Remove '*' from $pkgs and $rpkgs. + install_deps(): purge packages with "dpkg --set-selections". schroot support added in addition to upstream changes. + fetch_source_files(): Support versioned fetches with apt-get. + Add support for auto_giveback_socket: add an extra argument to --auto-give-back and add an ssh '-S' option to analyze_fail_stage(). + Support new --make-binNMU options. + Add support for $conf::chroot_only, and default to only running in a chroot for security and safety. + cleanup_close: Set $main::current_job to "" and shutdown if $main::HOME/EXIT-DAEMON-PLEASE exists and we are running in batchmode. + Move "Package claims to have built" error message to the same place as upstream. - sbuild.conf: + Remove watches. + Update alternatives (closes: #280689). + Comment out example %individual_stalled_pkg_timeout. + Empty @ignore_watches_no_build_deps. - sbuild.conf.local: + Add $chroot_only. - avg-pkg-build-space.1: Update text. - example.sbuildrc: + Remove $hack_changes_for_frozen. + Update comments. * sbuild.conf.local: - Use FHS-compliant pathnames, as in sbuild.conf. * Add support for building from experimental. * sbuild: - Parse the .changes rather than debian/files, so that the .dsc/.diff.gz/.orig.tar.gz are also copied back to ~/build. - Print information and contents of arch-all packages (closes: #321640). * debian/control: The maintainer field contains the list address. -- Roger Leigh Tue, 31 Jan 2006 12:58:57 +0000 sbuild (0.36) unstable; urgency=low Roger Leigh: * debian/changelog: Convert to UTF-8. * sbuild: - Don't fail in the absence of central sourcedeps. These are no longer required now source packages are required to have build dependencies, so this should not be fatal. - Added support for schroot: + Added $conf::chroot_mode. This may be set to "split" (the historical default), or "schroot" (use schroot instead of sudo). + All operations using sudo now check the value of $chroot_mode, and use sudo or schroot accordingly. + When using schroot, %main::dist_order is filled using the schroot chroot priorities. + Added %main::dist_locations to store the location of the available chroots. - Print a readable error if a chroot does not exist. * debian/control: Update to Standards-Version 3.6.2. * debian/copyright: Use the new FSF address. * debian/conffiles: Remove. * debian/rules: - Use debhelper version 4 compatibility mode. - Move the find -maxdepth option to before non-option arguments, to fix find warnings. - Remove template comments. - avg-pkg-build-space symbolic link should be relative. -- Roger Leigh Sun, 11 Sep 2005 10:02:19 +0100 sbuild (0.35) unstable; urgency=low Michael Banck: * bin/abort-current-build: Remove the `-B' from the grep line as `sbuild -s' does not pass that option to dpkg-configure and abort- current-build fails in that case. * sbuild: Set the locale to `POSIX' to make debconf and debhelper calls in the chroot not spew out locale warnings all the time. (closes: #287672) * sbuild: Removed check for specific distributions. Instead, fail if build/chroot-$dist is not there. * sbuild: Only override Distribution in .changes if specified as option on the command-line. (closes: #300145) * sbuild: Specify full path for Dir::Etc::main and Dir::Etc::parts. * example.sbuildrc: Clarify that $maintainer_name is not mandatory and overrides Maintainer: field, whereas $uploader_name overrides the Changed-By: field in changes. * Applied patch by Santiago Vila: - Moves scripts from /usr/lib/sbuild to /usr/share/sbuild and modifies all callers accordingly. - Add -n option to tail to comply with POSIX. - Call /usr/sbin/sendmail instead of /usr/lib/sendmail. (closes: #292717) * sbuild: Tolerate '0' as version number, thanks Santiago Vila. (closes: #300205) -- Michael Banck Fri, 1 Apr 2005 21:23:30 +0200 sbuild (0.34) unstable; urgency=high Francesco Paolo Lovergine: * Removed searchscripts recommendation in debian/control. That was requested by ppack now removed in archive. (closes: #272318) * checkchroot now uses grep-dctrl, thanks Clint Adams. Introduced dependency from grep-dctrl due to checkchroot. (closes: #260881,#265994) * Updated ref-* files for unstable and testing as well as the related README file. * This is the first revision CVS-enabled. -- Francesco Paolo Lovergine Sat, 25 Sep 2004 17:42:57 +0200 sbuild (0.33) unstable; urgency=low * Man page sbuild.1 revised. -- Francesco Paolo Lovergine Thu, 16 Sep 2004 16:42:18 +0200 sbuild (0.32) unstable; urgency=low * Added ~ as a legal character for debian version (post-sarge). * A few minor changes in README.chroot-buildd and man page. * Added -k and -e options as overriding for -m default in package signing. Man page changed to reflect new features. (closes: #260870) * Removed the CVS log variable in sbuild in order to import a new sane tree onto Alioth repo. Old logs are now stored in a new cvslogs.old file. * Minor revisions to ducumentation files. * Added Michael Banck as Uploader. -- Francesco Paolo Lovergine Thu, 16 Sep 2004 16:14:27 +0200 sbuild (0.31) unstable; urgency=low * Patch for #239339 revised: Escaping to manage correctly possible nested RE. (closes: #268712) Doing removes only in chroot environment. (closes: #264834). * Changed a bit man page to clarify better synopsis. (closes: #265998) -- Francesco Paolo Lovergine Sat, 28 Aug 2004 21:27:12 +0200 sbuild (0.30) unstable; urgency=high The "later better than never" release. Thanks Michael Banck, Martin Michlmayr and other submitters for useful patches. * example.sbuildrc now return 1 to satisfy perl require syntax. (closes: #228410) * Now copies the orig.tar.gz into $(CHROOT)/build// for non-native packages. (closes: #239339) * Corrected abort-current-build to manage correctly ps output. (closes: #249995) * Now should manage packages which provides the same pkgs of other yet installed ones. (closes: #259315) * build.chroot rewritten to use dbootstrap straight on. (closes: #235726,#228412,#228412) * Using dh_installman instead of obsolete dh_installmanpages. Added debian/manpages for that. * Alternatives modified for current ones in testing/sid. (closes: #228792) -- Francesco Paolo Lovergine Tue, 3 Aug 2004 18:21:22 +0200 sbuild (0.29) unstable; urgency=low * Now depends on exim4 (closes: #228591) * Non "noninteractive" is in lowercase currently. (closes: #228800) * Added /usr/bin/avg-pkg-build-space as symlink to /usr/bin/avg-pkg-build-time (closes: #228445) * add_sbuild_user corrected to show the true path of example.sbuildrc (closes: #228411) * removing obsolete packages in sid, and updated required ones (closes: #220932) * README.buildd-chroot updated (closes: #220933) -- Francesco Paolo Lovergine Fri, 23 Jan 2004 20:09:56 +0100 sbuild (0.28) unstable; urgency=low * Using latest instead of lastest. (closes: #202740) * Changing dependencies in buildd.chroot for current gcc. (closes: #180447) * Configuration examples now moved into /usr/share/doc/sbuild/examples Man changed as consequence. (closes: #208965) * Policy bumped to 3.6.1. -- Francesco Paolo Lovergine Tue, 11 Nov 2003 16:21:33 +0100 sbuild (0.27) unstable; urgency=low * sg is not available in hurd, removed in postinst and postrm (patch by Michael Banck). (closes: #206270) -- Francesco Paolo Lovergine Wed, 20 Aug 2003 09:03:41 +0200 sbuild (0.26) unstable; urgency=low * Ugh! Wrong control file. Now really updated as needed. (closes: #191203) -- Francesco Paolo Lovergine Fri, 20 Jun 2003 15:54:11 +0200 sbuild (0.25) unstable; urgency=low * New maintainer. Uploaders: Roger Leigh (closes: #191203) -- Francesco Paolo Lovergine Fri, 20 Jun 2003 15:17:25 +0200 sbuild (0.24) unstable; urgency=low * remove -qq from apt-get call in the updatechroot script * fix upgradechroot output and add -u to -y * added oldstable to distribution options * fix for dependency calculation for --arch-all builds from Martin Kögler (Closes: #180859) * libpng-dev => libpng12-0-dev in sbuild.conf * add dpkg-dev to package dependencies - thanks Michael Banck (Closes: #182234) * chroot building fix and waldi's patch still to come -- Rick Younie Sat, 19 Apr 2003 14:41:03 -0700 sbuild (0.23) unstable; urgency=low * fixed chroot building - thanks Matt Kraai for the patch and the heads-up - Closes: #167822 * use separate stable and testing/unstable required lists * updated the ref-* package lists * added -o/oldstable option to the helper scripts and fixed their usage strings -- Rick Younie Wed, 6 Nov 2002 06:07:22 -0800 sbuild (0.22) unstable; urgency=low * dpkg --root isn't fixed so use ppack for the checkchroot script, recommend searchscripts instead of suggest * add a note to README.Debian and the man page that sbuild must be run in ~/build (or wherever the chroot-* symlink is) for sbuild to find the chroot (thanks Otavio) -- Rick Younie Sat, 14 Sep 2002 19:38:16 -0700 sbuild (0.21) unstable; urgency=low * the new dpkg has gone into testing so add dselect to the buildd.chroot required list there as well -- Rick Younie Mon, 19 Aug 2002 22:35:24 -0700 sbuild (0.20) unstable; urgency=low * added a note that the original tarball has to be in the sbuild work directory $CHROOT/build/ for an "sbuild --source" build * removed the old potato chroot description; it can be gotten from the woody version of the package if needed * have sbuild make a ~/build/current symlink to the current build log -- Rick Younie Sat, 17 Aug 2002 09:26:55 -0700 sbuild (0.19) unstable; urgency=low * ref-stable = woody * re-added deborphan, searchscripts Suggests * add a note about setting up .sbuildrc * have sbuild, chrapt ignore base apt.conf{,.d} * handle dpkg/dselect unstable split in buildd.chroot; copy over /etc/hosts to chroot -- Rick Younie Sat, 20 Jul 2002 06:26:05 -0700 sbuild (0.18) unstable; urgency=low * split ref-testing from ref-unstable instead of symlink as they differ now * unstable dpkg --root is broken currently so use ppack instead of dpkg for checkchroot * don't 'touch' downloaded source; in buildd context, buildd-watcher should use ctime not mtime to look for old files * add a blurb about using chrapt to finish off the chroot build, in case debootstrap doesn't quite get it right -- Rick Younie Sat, 20 Jul 2002 06:26:05 -0700 sbuild (0.17) unstable; urgency=low * removed debconf-utils from unstable reference list * include Ryan's sbuild changes to allow the buildds to autobuild for security * include Ryan's debootstrap script for chroot building * the SBUILD_CHROOT_ROOT environment variable is gone. The chroots are now found by the ~/build/chroot-$DIST symlinks or absolute path. * moved the helper scripts to /usr/lib/sbuild * wrong switch so the 0.5 changelog was skipped; again, Closes: #138915 * create blank source-dependencies files on install -- Rick Younie Thu, 11 Jul 2002 01:22:56 -0700 sbuild (0.6) unstable; urgency=low * added dobuildlog, a shell script for processing build logs: file a bug, sign the changelog, reply to buildd if you're an admin * recommend fakeroot instead of depend as some arches don't have it. (Closes: #145753) -- Rick Younie Fri, 3 May 2002 22:22:41 -0700 sbuild (0.5) unstable; urgency=low * fix copyright file lintian errors * added ~/.wgetrc warning to man update-sourcedeps man page, Closes: #138915 -- Rick Younie Wed, 10 Apr 2002 00:27:25 -0700 sbuild (0.4) unstable; urgency=low * made /etc/sbuild.conf a conffile - thanks Gergely Nagy. (Closes: #136374) -- Rick Younie Sun, 3 Mar 2002 21:51:51 -0800 sbuild (0.3) unstable; urgency=low * added mailfrom config item so the msg body From: can be overridden * noninteractive -> Noninteractive for Ryan Murray * (re-)added conffile sbuild.conf.local for local changes that aren't suitable for ~/.sbuildrc * removed the bashrc & profile example files; they were part of my original local sbuild deb and are just clutter -- Rick Younie Sat, 23 Feb 2002 11:44:12 -0800 sbuild (0.2.5) unstable; urgency=low * add From/To headers to sbuild mail - thanks Gergely Nagy (Closes: #129850) * added deborphan to Suggests; -f is useful for finding the minimal chroot for an arch -- Rick Younie Fri, 18 Jan 2002 18:46:33 -0800 sbuild (0.2.4) unstable; urgency=low * Closes: #120309 (the ITP) * the sbuildrc:$source_dependencies config item got lost * removed Phil Blundell's apt "Replaces:" patch. This is a workaround for an apt weakness that shouldn't be depended on. * added fakeroot dependency. Thanks Michael Schmitz. -- Rick Younie Thu, 8 Dec 2001 05:55:08 -0800 sbuild (0.2.3) unstable; urgency=low * show all changes in initial *.changes -- Rick Younie Thu, 6 Dec 2001 05:55:08 -0800 sbuild (0.2.2) unstable; urgency=low * don't copy /etc/fstab to chroot -- Rick Younie Sun, 2 Dec 2001 00:34:38 -0800 sbuild (0.2.1) unstable; urgency=low * dpkg-buildpackage craps out on the unknown -d switch in the stable chroot. -- Rick Younie Fri, 30 Nov 2001 06:53:24 -0800 sbuild (0.2) unstable; urgency=low * Initial package -- Rick Younie Thu, 8 Nov 2001 00:18:34 -0800 debian/sbuild.install0000664000000000000000000000126112146242275012047 0ustar debian/install/etc/sbuild etc debian/install/usr/bin/sbuild* usr/bin debian/install/usr/sbin/sbuild* usr/sbin debian/install/usr/share/sbuild usr/share debian/install/usr/share/doc/sbuild usr/share/doc debian/install/usr/share/man/man1/sbuild* usr/share/man/man1 debian/install/usr/share/man/man5/sbuild* usr/share/man/man5 debian/install/usr/share/man/man7/sbuild* usr/share/man/man7 debian/install/usr/share/man/man8/sbuild* usr/share/man/man8 debian/install/var/lib/sbuild var/lib debian/install/var/lib/sbuild/apt-keys var/lib/sbuild debian/sbuild.postinst0000775000000000000000000000602612146242275012273 0ustar #! /bin/sh # postinst script for sbuild # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see /usr/share/doc/packaging-manual/ # # quoting from the policy: # Any necessary prompting should almost always be confined to the # post-installation script, and should be protected with a conditional # so that unnecessary prompting doesn't happen if a package's # installation fails and the `postinst' is called with `abort-upgrade', # `abort-remove' or `abort-deconfigure'. # Move a conffile without triggering a dpkg question mv_conffile() { OLDCONFFILE="$1" NEWCONFFILE="$2" if [ -e "$OLDCONFFILE" ]; then echo "Preserving user changes to $NEWCONFFILE ..." mv -f "$NEWCONFFILE" "$NEWCONFFILE".dpkg-new mv -f "$OLDCONFFILE" "$NEWCONFFILE" fi } case "$1" in configure) if dpkg --compare-versions "$2" lt "0.60.1-1"; then mv_conffile "/etc/sbuild/copyfiles-defaults" \ "/etc/schroot/buildd/copyfiles" mv_conffile "/etc/sbuild/nssdatabases-defaults" \ "/etc/schroot/buildd/nssdatabases" fi # If sbuild is a user group, migrate to a system group. Save # a list of group members, then add them back to the new group # once created. SGID="$(grep ^sbuild: /etc/group | sed -r -e 's/([^:]+):([^:]+):([^:]+):.*/\3/')" if [ -n "$SGID" ] && [ "$SGID" -ge "1000" ]; then SUSR="$(grep ^sbuild: /etc/group | sed -r -e 's/([^:]+):([^:]+):([^:]+):(.*)$/\4/' -e 's/,/ /g')" delgroup --quiet sbuild fi if ! getent group sbuild > /dev/null; then addgroup --system --quiet sbuild fi # Restore group membership to users in old user group (if any) for user in $SUSR; do adduser $user sbuild done # Create dedicated sbuild user if ! getent passwd sbuild > /dev/null; then adduser --system --quiet --home /var/lib/sbuild --no-create-home \ --shell /bin/bash --ingroup sbuild --gecos "Debian source builder" sbuild fi # Unlock account in case it was locked from previous purge. usermod -U -e '' sbuild chown -R sbuild:sbuild /var/lib/sbuild chmod 02770 /var/lib/sbuild chmod 02770 /var/lib/sbuild/apt-keys [ -f /var/lib/sbuild/avg-build-space ] && \ chmod 0664 /var/lib/sbuild/avg-build-space [ -f /var/lib/sbuild/avg-build-times ] && \ chmod 0664 /var/lib/sbuild/avg-build-times ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 0 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/sbuild.preinst0000775000000000000000000000372312146242275012075 0ustar #! /bin/sh # preinst script for sbuild # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # Remove a no-longer used conffile rm_conffile() { PKGNAME="$1" CONFFILE="$2" if [ -e "$CONFFILE" ]; then md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE'{s/ obsolete$//;s/.* //p}\"`" if [ "$md5sum" != "$old_md5sum" ]; then echo "Obsolete conffile $CONFFILE has been modified by you." echo "Saving as $CONFFILE.dpkg-old ..." mv -f "$CONFFILE" "$CONFFILE".dpkg-old else echo "Removing obsolete conffile $CONFFILE ..." rm -f "$CONFFILE" fi fi } # Prepare to move a conffile without triggering a dpkg question prep_mv_conffile() { PACKAGE="$1" CONFFILE="$2" if [ -e "$CONFFILE" ]; then md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" old_md5sum="`dpkg-query -W -f='${Conffiles}' $PACKAGE | sed -n -e \"\\\\' $CONFFILE'{s/.* //;p}\"`" if [ "$md5sum" = "$old_md5sum" ]; then rm -f "$CONFFILE" fi fi } case "$1" in install|upgrade) if dpkg --compare-versions "$2" le "0.58.3-1"; then rm_conffile "sbuild" "/etc/schroot/setup.d/50sbuild" fi if dpkg --compare-versions "$2" lt "0.60.1-1"; then prep_mv_conffile "sbuild" "/etc/sbuild/copyfiles-defaults" prep_mv_conffile "sbuild" "/etc/sbuild/nssdatabases-defaults" fi if dpkg --compare-versions "$2" lt "0.63.1-1"; then rm_conffile "sbuild" "/etc/schroot/setup.d/99builddsourceslist" fi ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/sbuild.NEWS0000664000000000000000000000222211610657167011160 0ustar sbuild (0.60.4-1) unstable; urgency=low * sbuild provides two build dependency resolvers, 'internal', which is the default, and currently used by the build dæmons, and 'aptitude' which uses aptitude. * The 'aptitude' resolver has been available for nearly a year, and is believed to be ready for everyday use, having a number of advantages over the old 'internal' resolver. We are soliciting feedback from users prior to making 'aptitude' the default. To enable it, set "$build_dep_resolver='aptitude';" in your configuration. Please report any discrepancies in its behaviour compared with the 'internal' resolver. It is hoped that once it has been shown to work reliably and correctly, it will become the default resolver used on the buildd network; it is already in use on buildds autobuilding experimental. * The older 'internal' resolver is still used by the buildds, so packages intended for upload should use "$build_dep_resolver='internal';" to build using exactly the same dependencies that should be used by the buildds. -- Roger Leigh Tue, 09 Nov 2010 16:32:18 +0000 debian/tests/0000775000000000000000000000000012305607220010327 5ustar debian/tests/sbuild-key.sec0000640000000000000000000000136712305607220013074 0ustar S 9)(j|ʔ튦*۫U Kp~YXa\&m=$%m9A #vbb5.?zeOeS<<6&~fVJa3yNt\u$\gznw=ǴrH dt0Eɝ!fP OHR7^p3>M51H5/K*V ,KRV?P &Vt0A|(b2d> \-mKCLJ;;u3}wo+E/@˩-]? G:«mb4 !|rך^uei1}YVaf+.~&z,Ty^z]zl>WF@j /Wp* W\`Sbuild Signer (Sbuild Build Dependency Archive Key) "S /   N)6+P9*wW%o>,>kW%H]^b[n |3$Co7"3CǜFPE۩?ܰkZmI!@2ĩ323§ ]B}=Vbmdebian/tests/build_procenv0000664000000000000000000001422012305630245013107 0ustar #!/bin/sh #--------------------------------------------------------------------- # DEP-8 test for sbuild. # # Creates a sbuild chroot, builds a package, installs the resulting # .deb, then runs the command provided by the .deb. #--------------------------------------------------------------------- set -e die() { msg="$*" echo "ERROR: $msg" >&2 exit 1 } # The package we'll ask sbuild to build (we know its buildable since # it's already in the archive :-) # # The advantage of choosing this particular package being that it runs # *itself* at the end of its build, which has the nice side-effect of # exposing the full sbuild environment to those perusing the autopkgtest # logs. pkg=procenv components="" distro=$(lsb_release -is|tr '[A-Z]' '[a-z]') [ -z "$distro" ] && die "cannot establish distribution" host_release=$(lsb_release -cs) [ -z "$host_release" ] && die "cannot establish release running on host" if [ "$distro" = ubuntu ] then # Build chroot for latest release. release=$(distro-info --devel) components=main,universe case $(dpkg --print-architecture) in amd64|i386) url=http://archive.ubuntu.com/ubuntu ;; *) url=http://ports.ubuntu.com/ubuntu-ports ;; esac elif [ "$distro" = debian ] then # Build chroot for latest stable release since # sid may not be buildable on a particular day. release=$(distro-info --stable) url=http://archive.debian.org/debian else die "need to know where archive is for distro '$distro'" fi arch=$(dpkg --print-architecture 2>/dev/null) [ -z "$arch" ] && die "cannot establish architecture" [ -z "$ADTTMP" ] && die "ADTTMP not set" dir="$ADTTMP/schroot-$release" # The expected name of the schroot that sbuild-createchroot will create chroot="${release}-${arch}-sbuild" # schroot does not allow a chroot name to be specified at creation time. # As such, we must take care to avoid stomping on a developers chroots. # If we find any that match the chroot we're about to try and make, exit # with a message. # # Note that we are very cautious in the grep check below; we purposely # don't match on the _type_ of schroot in case new schroot types are # added and this test is not updated to take account of the new types. schroots=$(schroot -l 2>/dev/null) if [ -n "$schroots" ] && echo "$schroots"|grep -q ":${release}-${arch}" then echo "INFO:" echo "INFO: Existing schroots detected for current release ($release)" echo "INFO: and architecture ($arch)" echo "INFO:" echo "INFO: Not continuing." echo "INFO:" # exit successfully exit 0 fi # Use '--download-only' to avoid unpack which generates a # signature warning to stderr, causing this test to fail. # Take care to download the package version for the release we will # create the chroot for. echo "INFO: Downloading source for package '$pkg' from release '$release'" apt-get source --download-only "$pkg/$release" dsc=$(ls ${pkg}*.dsc) echo "INFO: Creating sbuild chroot '$chroot' for release '$release' in directory '$dir' from url '$url'" [ -n "$components" ] && components="--components=$components" sbuild-createchroot $components "$release" "$dir" "$url" echo "INFO: Checking chroot '$chroot' is known" schroot --list --all-chroots|grep "^chroot:${chroot}$" echo "INFO: Displaying information about chroot '$chroot'" schroot --info "${chroot}" keydir=/var/lib/sbuild/apt-keys # Install pre-generated signing keys specifically to handle systems with # insufficient entropy to run 'sbuild-update --keygen' on. echo "INFO: Installing sbuild key pair (to avoid need for local entropy)" [ -d "$keydir" ] || die "key directory '$keydir' does not exist" srcdir="debian/tests" key="$srcdir/sbuild-key.pub" echo "INFO: Copying key '$key' to '$keydir'" install -o sbuild -g sbuild -m 0664 "$key" "$keydir" key="$srcdir/sbuild-key.sec" echo "INFO: Copying key '$key' to '$keydir'" install -o sbuild -g sbuild -m 0640 "$key" "$keydir" echo "INFO: Building package '$pkg' for release '$release' from '$dsc'" sbuild -A -d "$release" $dsc 2>&1 pkg_and_version=$(echo "$dsc"|sed 's/\.dsc$//g') deb=${pkg_and_version}_${arch}.deb echo "INFO: Displaying sbuild log" cat ${pkg_and_version}_${arch}*.build # Do what we can to check if the .deb looks usable (since we may not # be able to install it to test it properly) echo "INFO: Listing information on '$deb'" dpkg --info "$deb" echo "INFO: Listing contents of '$deb'" dpkg --contents "$deb" extract="$ADTTMP/extract" echo "INFO: Extracting '$deb' to '$extract'" dpkg --extract "$deb" "$extract" if [ "$release" = "$host_release" ] then echo "INFO: Installing package '$pkg' from '$deb'" dpkg -i "$deb" # run the command to prove the build worked but also to expose the # auto-package-test environment used for this test. cmd=$pkg echo "INFO: Showing AutoPkgTest environment by running '$cmd' from package '$pkg'" "$cmd" else echo "INFO: Not installing package '$pkg' as host release ('$host_release')" echo "INFO: differs to release package is built for ('$release')" fi # There is no sbuild/schroot command to actually delete the chroot, but # we do want to clean up fully. The best we can do is end the schroot # session, and remove the sym links. Removing the chroot itself is not # necessary since it is created below $ADTTMP so will be removed # automatically by the AutoPkgTest environment. echo "INFO: Establishing schroot sessions for chroot '$chroot'" session=$(schroot --list --all-sessions|grep "^session:${release}-${arch}-" || :) if [ -n "$session" ] then count=$(echo "$session"|wc -l) [ $count -eq 1 ] || die "expected 1 session, found $count" echo "INFO: Ending schroot session '$session'" schroot --end-session --chroot "$session" else echo "INFO: No schroot session to end" fi echo "INFO: Cleaning up" echo "INFO: Removing sbuild chroot symbolic link for '$chroot'" link=$(ls /etc/sbuild/chroot/${chroot}) # remove soon-to-be-broken symbolic link [ -h "$link" ] && rm "$link" # remove soon-to-be stale configuration file echo "INFO: Removing schroot configuration file for '$chroot'" config=$(ls /etc/schroot/chroot.d/${chroot}-*) [ -f "$config" ] && rm "$config" echo "INFO: SUCCESS" debian/tests/sbuild-key.pub0000664000000000000000000000065312305607220013113 0ustar S 9)(j|ʔ튦*۫U Kp~YXa\&m=$%m9A #vbb5.?zeOeS<<6&~fV`Sbuild Signer (Sbuild Build Dependency Archive Key) "S /   N)6+P9*wW%o>,>kW%H]^b[n |3$Co7"3CǜFPE۩?ܰkZmI!@2ĩ323§ ]B}=Vbmdebian/tests/control0000664000000000000000000000033012305633157011736 0ustar Tests: build_procenv Depends: @, debootstrap, distro-info, lsb-release, libnuma1 [linux-i386 linux-amd64 linux-ia64 linux-mips linux-mipsel linux-powerpc linux-ppc64 linux-ppc64el linux-x32] Restrictions: needs-root debian/git-tag-debian0000775000000000000000000000154311506707234011702 0ustar #!/bin/sh DEBSOURCE="$(dpkg-parsechangelog | sed -ne '/^Source:/{s/Source:[[:space:]][[:space:]]*//p;q}')" DEBVERSION="$(dpkg-parsechangelog | sed -ne '/^Version:/{s/Version:[[:space:]][[:space:]]*//p;q}')" DEBDIST="$(dpkg-parsechangelog | sed -ne '/^Distribution:/{s/Distribution:[[:space:]][[:space:]]*//p;q}')" DEBURGENCY="$(dpkg-parsechangelog | sed -ne '/^Urgency:/{s/Urgency:[[:space:]][[:space:]]*//p;q}')" if [ -z "$DEBSOURCE" ] || [ -z "$DEBVERSION" ] || \ [ -z "$DEBDIST" ] || [ -z "$DEBURGENCY" ]; then echo "Error parsing source, version, distribution and urgency from debian/changelog" exit 1 fi echo "Tagging ${DEBSOURCE}-${DEBVERSION} (dist=${DEBDIST}, urgency=${DEBURGENCY}) as 'debian/${DEBSOURCE}-${DEBVERSION}'" git tag -s "debian/${DEBSOURCE}-${DEBVERSION}" -m "${DEBSOURCE}-${DEBVERSION} (dist=${DEBDIST}, urgency=${DEBURGENCY})" debian/buildd.cron.d0000664000000000000000000000033211610657167011550 0ustar # crontab for buildd # min hour day mon wday user cmd 10,25,40,55 * * * * buildd /usr/bin/buildd-uploader 5,20,35,50 * * * * buildd /usr/bin/buildd-watcher debian/NEWS0000664000000000000000000001126611506707234007702 0ustar sbuild (0.58.3-1) unstable; urgency=low * The sbuild group was previously created as a non-sytem group. When upgrading from older versions of sbuild, the group will be deleted and re-created as a system group. Group membership will be transferred to the new group, and system files and directories owned by group sbuild will be updated to be owned by the new group. Files and directories which are set to be owned by group sbuild on the system or inside any build chroots will need to be manually updated. The group database inside any build chroots may also need updating. If using schroot to access chroots, the group database should normally be updated automatically, as should file and directory ownership. -- Roger Leigh Sun, 17 May 2009 19:16:30 +0100 sbuild (0.58.0) unstable; urgency=low * The configuration option @no_auto_upgrade, which was no longer used, has been removed. To prevent packages being upgraded automatically, please use sbuild-hold. See sbuild-hold(1). * The configuration option $chroot_mode has been restored, allowing chroot access by both schroot (which remains the default) and sudo. * A new configuration option $chroot_split has been added. This allows both schroot and sudo chroot access to be modified to run apt/dpkg on the host system. Note that schroot needs sudo to run commands as root on the host system. * Deprecated commands from /usr/lib/sbuild have been removed. Please use the sbuild-* replacements found in /usr/bin. * The maintainer name defaults to DEBEMAIL if set in the environment, so no longer needs setting explicitly in .sbuildrc. * Unless configured as a buildd ($sbuild_mode), when using sudo chroot access, chroots are searched for in /etc/sbuild/chroots. This directory should contain symlinks to the chroots, with the distribution name being the name of the symlink. Buildd mode will continue to use the old method of current-$distribution symlinks in the current directory. * The log format used for build logs has been updated to use a more readable format, and is now encoded in UTF-8 rather than US-ASCII. Code which parses the log file may need to be updated to handle the new format. Further log format changes made in the future. * The wanna-build configuration has moved from /etc/wanna-build/wanna-build.conf into /etc/sbuild/sbuild.conf as part of ongoing refactoring work. It is expected that this will be split into a separate file in the future once this work is completed. * wanna-build can now correctly dump and restore its databases using the --export and --import options. Note that wanna-build-catmldbm and related commands can not correctly dump the current database format, can not be used to restore the dump and will be removed in the future. * The wanna-build commands do-merge-packages and do-merge-quinn have been renamed to wanna-build-merge-packages and wanna-build-merge-quinn. -- Roger Leigh Sun, 08 Mar 2009 21:49:22 +0000 sbuild (0.54) unstable; urgency=low * Support for manual source dependencies has been removed. Packages must now supply all their build dependencies in the debian/control file in the source package. This should now be the case for all packages in the archive. * Support for sudo has been removed. schroot is now required to access build chroots. This change has been effected in order to improve the safety and security of sbuild, which no longer requires unrestricted sudo access to the host system. Guidance for migrating to a schroot setup is provided in error messages and in sbuild-setup(7). Also see schroot(1) and schroot.conf(5) for help configuring schroot. * Support for building outside a chroot on the host system has been removed, as has the corresponding $chroot_only option. Building on the host system was rather dangerous, and also made the code far more complex than needed. All building must now take place inside a chroot managed by schroot. * Support for building an unpacked source directory has been removed, because the .dsc needs to be available in the current working directory and copied into the chroot, or downloaded inside the chroot. * Several configuration options have been removed. sbuild will print a diagnostic error message and exit with an error when obsolete options are used. * The default for $build_mode has been changed from "buildd" to "user". The means that sbuild will return a nonzero exit status on build failure. -- Roger Leigh Fri, 18 May 2007 17:46:17 +0100 debian/copyright0000664000000000000000000000700611506707234011133 0ustar sbuild is maintained by the Debian buildd-tools project team. It was downloaded from git://git.debian.org/git/buildd-tools/sbuild.git. Team information and mailing list are available at http://alioth.debian.org/projects/buildd-tools/. The upstream source was originally downloaded from the CVS repository :pserver:anon@cvs.linux-m68k.org:/CVS (module: wanna-build) (up to version 0.36; September 2006), and the SVN repository http://svn.cyberhqz.com/svn/wanna-build (version 0.37; January 2006 to November 2006). All future changes are in the buildd-tools GIT repository, with occasional merges from the upstream SVN repository. Upstream Authors: Roman Hodek - wanna-build (and sbuild) Ben Collins - the "apt patch" for sbuild for finding source Ryan Murray - modifications for security building, maintenance Roger Leigh - schroot support and general maintenance Copyright: © 1998-2000 Roman Hodek © 1998-1999 James Troup © 2003-2006 Ryan Murray © 2001-2003 Rick Younie © 2003-2004 Francesco Paolo Lovergine © 2005 Michael Banck © 2005-2008 Roger Leigh All program code, manuals, and documentation are licensed under the terms of the GNU General Public License, version 2 or later: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU General Public License, version 2, can be found in /usr/share/common-licenses/GPL-2. The GNU autotools build infrastructure is licensed under the terms of the GNU General Public License, version 3 or later: sbuild is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. sbuild is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License, version 3, can be found in /usr/share/common-licenses/GPL. Debian packaging copyright: © 2001-2003 Rick Younie © 2003-2004 Francesco Paolo Lovergine © 2005 Michael Banck © 2005-2008 Roger Leigh The Debian packaging is also maintained in the primary GIT repository, and is also licensed under the GPL version 2; see above.debian/sbuild.postrm0000775000000000000000000000440712146242275011735 0ustar #! /bin/sh # postrm script for sbuild # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' overwrit>r> # for details, see /usr/share/doc/packaging-manual/ PACKAGE="sbuild" # Remove a conffile which has been forgotten by dpkg # If the file does not exist, or is owned by any package, do not remove it. rm_conffile() { CONFFILE="$1" local delete; delete="false" if [ -f "$CONFFILE" ]; then local fpkg; fpkg="" local pkg; pkg="" if fpkg=$(dpkg -S "$CONFFILE" 2>/dev/null); then # Don't delete, but check which package it came from. pkg=$(echo $fpkg | sed -e 's/\(^[[:print:]][[:print:]]*\): .*$/\1/') if [ "$pkg" = "$PACKAGE" ]; then delete="true" fi else rm -f "$CONFFILE" delete="true" fi else delete="true" fi # Remove dpkg cruft if [ "$delete" = "true" ]; then rm -f "${CONFFILE}.dpkg-old" rm -f "${CONFFILE}.dpkg-new" rm -f "${CONFFILE}.dpkg-dist" fi } case "$1" in remove|upgrade|failed-upgrade|abort-install|abort-upgrade) ;; purge|disappear) # Lock sbuild account. usermod -L -e 1 sbuild rm_conffile "/etc/sbuild.conf" rm_conffile "/etc/sbuild.conf.local" rm_conffile "/etc/schroot/setup.d/50sbuild" # Don't remove /etc/sbuild/chroot recursively in case anyone # put the entire chroot under here; only remove symlinks. rm -f /etc/sbuild/chroot/* rmdir --ignore-fail-on-non-empty /etc/sbuild/chroot/ || true # Remove autogenerated files. rm -f /var/lib/sbuild/apt.conf* rm -f /var/lib/sbuild/apt-keys/* rm -f /var/lib/sbuild/avg-build-space rm -f /var/lib/sbuild/avg-build-times rm -f /var/lib/sbuild/source-dependencies-* rm -rf /var/lib/sbuild/srcdep-lock ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 0 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/libsbuild-perl.install0000664000000000000000000000007011506707234013473 0ustar debian/install/usr/share/perl5/Sbuild* usr/share/perl5 debian/buildd.postrm0000775000000000000000000000166212203717624011715 0ustar #! /bin/sh # postrm script for buildd # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' overwrit>r> # for details, see /usr/share/doc/packaging-manual/ case "$1" in remove|upgrade|failed-upgrade|abort-install|abort-upgrade) ;; purge|disappear) # Lock buildd account. usermod -L -e 1 buildd ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 0 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/compat0000664000000000000000000000000212020236452010362 0ustar 7 debian/rules0000775000000000000000000000425412203717624010261 0ustar #!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 VERSION=$(shell dpkg-parsechangelog | grep '^Version:' | cut -d' ' -f 2) BUILDD_BUILD=$(shell echo ${VERSION} | grep -q 'buildd' && echo yes || echo no) configure: ./bootstrap debian/build/config.status: configure dh_testdir [ -d debian/build ] || mkdir debian/build cd debian/build; \ CFLAGS="$(CFLAGS)" ../../configure \ --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ --localstatedir=/var --mandir=\$${prefix}/share/man build-indep: build build-arch: build build: debian/build/config.status debian/build-stamp debian/build-stamp: debian/build/config.status dh_testdir $(MAKE) -C debian/build all touch debian/build-stamp clean: dh_testdir dh_testroot rm -rf debian/build rm -rf debian/install rm -f debian/build-stamp dh_clean install-indep: install install-arch: install install: build dh_testdir dh_testroot dh_prep dh_installdirs $(MAKE) -C debian/build install DESTDIR=$(CURDIR)/debian/install dh_install cp debian/buildd.forward debian/buildd/var/lib/buildd/.forward # Build architecture-independent files here. binary-indep: build install-indep dh_testdir -i dh_testroot -i dh_installchangelogs -i ChangeLog dh_installdocs -i -A debian/cvslogs.old dh_installexamples -i dh_installman -i dh_installcron -i if [ "${BUILDD_BUILD}" = "no" ]; then \ dh_installinit -i --no-start --no-restart-on-upgrade; \ fi dh_perl -i dh_link -i dh_compress -i mv debian/buildd/usr/share/man/man1/buildd-abort.1 \ debian/buildd/usr/share/man/man1/buildd-abort.1.gz mv debian/buildd/usr/share/man/man8/buildd-make-chroot.8 \ debian/buildd/usr/share/man/man8/buildd-make-chroot.8.gz mv debian/buildd/usr/share/man/man1/buildd-update-chroots.1 \ debian/buildd/usr/share/man/man1/buildd-update-chroots.1.gz dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i # Build architecture-dependent files here. binary-arch: build install-arch binary: binary-indep binary-arch .PHONY: build build-indep build-arch clean binary-indep binary-arch binary install install-indep install-arch debian/buildd.init0000775000000000000000000000612012146242275011327 0ustar #! /bin/sh # ### BEGIN INIT INFO # Provides: buildd # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Should-Start: schroot # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Debian package autobuilder daemon # Description: Control the buildd daemon. ### END INIT INFO # # Copyright © 2006-2009 Roger Leigh # Copyright © 2007 Federico Di Gregorio # # sbuild is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # sbuild is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see # . DAEMON=/usr/bin/buildd PIDFILE=/var/lib/buildd/build/buildd.pid PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=buildd DESC="Debian package autobuilder" . /lib/lsb/init-functions test -x $BUILDD || exit 0 test -x $BUILDD_WATCHER || exit 0 # Include buildd defaults if available if [ -f "/etc/default/$NAME" ] ; then . "/etc/default/$NAME" fi set -e start () { log_begin_msg "Starting $DESC: $NAME " if [ -e /var/lib/buildd/NO-DAEMON-PLEASE ]; then log_failure_msg "NO-DAEMON-PLEASE exists, not starting" else start-stop-daemon --start --quiet --oknodo --pidfile "$PIDFILE" --chuid buildd:buildd --exec $DAEMON log_end_msg $? fi } stop () { log_begin_msg "Stopping $DESC: $NAME" start-stop-daemon --stop --quiet --retry 5 --oknodo --pidfile $PIDFILE --name $NAME log_end_msg $? } reload () { log_begin_msg "Reloading $DESC: $NAME" start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME --signal USR1 && success=1 log_end_msg $? } restart () { log_begin_msg "Restarting $DESC: $NAME " if start-stop-daemon --stop --quiet --retry 5 --oknodo --pidfile $PIDFILE --name $NAME; then if [ -e /var/lib/buildd/NO-DAEMON-PLEASE ]; then log_failure_msg "NO-DAEMON-PLEASE exists, not starting" else start-stop-daemon --start --quiet --pidfile "$PIDFILE" --chuid buildd:buildd --exec $DAEMON fi fi log_end_msg $? } case "$1" in start) start ;; restart) restart ;; force-reload) reload ;; stop) stop ;; status) echo -n "Status of $DESC: " if [ ! -r "$PIDFILE" ]; then echo "$NAME is not running." exit 3 fi if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then echo "$NAME is running." exit 0 else echo "$NAME is not running but $PIDFILE exists." exit 1 fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0 debian/sbuild.README.Debian0000664000000000000000000000276711506707234012533 0ustar sbuild for Debian ----------------- Initial Setup ============= The full procedure for setting up a chroot and setting up users is documented in sbuild-setup(7). Existing users may need to review their setup, due to the removal of sudo support. (User setup, part 4). New users should use sbuild-createchroot(8) to set up a chroot, and sbuild-adduser(8) to add users. Chroots ======= If you don't have an existing chroot, sbuild-createchroot(8) describes how to set one up. Helper scripts ============== See sbuild-abort(1), sbuild-apt(1), sbuild-checkpackages(1), sbuild-hold(1), sbuild-stats(1), sbuild-update(1), and sbuild-upgrade(1). These scripts were previously found in /usr/share/sbuild, which now contains symbolic links to the new scripts in /usr/bin. The symbolic links will be removed following the release of Lenny. Extras ====== sbuild-stats ------------ sbuild will keep databases of the time and space that builds require if a couple files exist: touch /var/lib/sbuild/avg-build-{times,space} chmod 664 /var/lib/sbuild/avg-build-{times,space} chgrp sbuild /var/lib/sbuild/avg-build-{times,space} These have limited usefulness outside buildd context. See the sbuild-stats(1) man page for more info. An schroot chroot with the same name (or alias) as the distribution must be available. For example, to build in an unstable chroot, the chroot must be named "sbuild-unstable" or "unstable" (in order of preference). -- Roger Leigh , Sat, 16 Aug 2008 16:05:55 +0100 debian/rules-buildd0000775000000000000000000001145711506707234011526 0ustar #!/usr/bin/make -f # debian/rules file - for wanna-build. # Based on sample debian/rules file - for GNU Hello (1.3). # Copyright 1994,1995 by Ian Jackson. # Copyright 1998,1999 by James Troup. # Copyright 2004,2005 by Ryan Murray. # I hereby give you perpetual unlimited permission to copy, # modify and relicense this file, provided that you do not remove # my name from the file itself. (I assert my moral right of # paternity under the Copyright, Designs and Patents Act 1988.) # # $Id$ STRIP=strip --remove-section=.comment --remove-section=.note build: $(checkdir) $(MAKE) touch build clean: $(checkdir) $(MAKE) clean -rm -f build buildd-mail-wrapper wanna-build-mail *~ -rm -rf debian/tmp/ debian/*~ debian/files debian/substvars binary-arch: binary-buildd binary-wanna-build binary-buildd: checkroot build $(checkdir) -rm -rf debian/tmp install -d debian/tmp/DEBIAN install -m 755 debian/buildd.postinst debian/tmp/DEBIAN/postinst install -d debian/tmp/usr/bin install -m 755 buildd buildd-mail buildd-mail-wrapper buildd-uploader \ buildd-watcher debian/tmp/usr/bin $(STRIP) debian/tmp/usr/bin/buildd-mail-wrapper install -m 755 buildd-vlog debian/tmp/usr/bin/buildd-vlog install -m 755 buildd-abort debian/tmp/usr/bin/buildd-abort install -m 755 buildd-update-chroots debian/tmp/usr/bin/buildd-update-chroots install -d debian/tmp/etc/cron.d install -m 644 buildd.conf.global debian/tmp/etc install -d debian/tmp/usr/share/perl5/ install -m 644 Buildd.pm debian/tmp/usr/share/perl5/ install -d debian/tmp/usr/share/emacs/site-lisp install -m 644 buildd-reply.el debian/tmp/usr/share/emacs/site-lisp/ # XXX: still need /usr/lib/emacsen-common/packages/{install,remove} ! install -d debian/tmp/usr/share/man/man1/ install -m 644 buildd.1 buildd-mail-wrapper.1 buildd-uploader.1 \ debian/tmp/usr/share/man/man1 gzip -9v debian/tmp/usr/share/man/man1/* install -d debian/tmp/usr/share/doc/buildd/examples install -m 644 README.buildd-admin debian/tmp/usr/share/doc/buildd/README.admin install -m 644 crontab debian/tmp/usr/share/doc/buildd/examples/crontab install -m 644 NEWS debian/tmp/usr/share/doc/buildd/changelog install -m 644 buildd.conf debian/tmp/usr/share/doc/buildd/examples install -m 644 setup_system debian/tmp/usr/share/doc/buildd/examples/buildd-setup-system install -m 644 debian/changelog debian/tmp/usr/share/doc/buildd/changelog.Debian find debian/tmp/usr/share/doc/buildd/ -type f | xargs gzip -9v install -m 644 debian/copyright debian/tmp/usr/share/doc/buildd/ dpkg-shlibdeps buildd-mail-wrapper dpkg-gencontrol -pbuildd -isp chown -R root.root debian/tmp chmod -R go=rX debian/tmp dpkg --build debian/tmp .. binary-wanna-build: checkroot $(checkdir) -rm -rf debian/tmp install -d debian/tmp/DEBIAN install -d debian/tmp/usr/bin/wb-short install -m 755 wanna-build wanna-build-mail wanna-build-mail.pl \ wanna-build-statistics check-old-builds do-merge-packages \ do-merge-quinn debian/tmp/usr/bin $(STRIP) debian/tmp/usr/bin/wanna-build-mail install -m 755 wanna-build-catdb debian/tmp/usr/bin/wanna-build-catdb ln -s wanna-build-catdb debian/tmp/usr/bin/wanna-build-catgdbm set -e; for link in dep-wait-build failed-build forget-build \ give-back-build merge-packages merge-quinn \ no-build uploaded-build list-all list-building \ list-dep-wait list-failed list-installed \ list-needs-build list-not-for-us list-uploaded; do \ ln -s ../wanna-build debian/tmp/usr/bin/wb-short/$$link; \ done ln -s ../wanna-build-catdb debian/tmp/usr/bin/wb-short/catdb ln -s ../wanna-build-catgdbm debian/tmp/usr/bin/wb-short/catgdbm install -d debian/tmp/etc/buildd install -m 644 wanna-build.conf debian/tmp/etc/buildd install -d debian/tmp/usr/share/perl5/WannaBuild install -m 644 WannaBuild.pm debian/tmp/usr/share/perl5/ install -m 644 WannaBuild/Conf.pm debian/tmp/usr/share/perl5/WannaBuild install -d debian/tmp/usr/share/doc/wanna-build/ install -m 644 README README.mail README.failcat debian/tmp/usr/share/doc/wanna-build/ install -m 644 NEWS debian/tmp/usr/share/doc/wanna-build/changelog install -m 644 debian/changelog debian/tmp/usr/share/doc/wanna-build/changelog.Debian find debian/tmp/usr/share/doc/wanna-build/ -type f | xargs gzip -9v install -m 644 debian/copyright debian/tmp/usr/share/doc/wanna-build/ dpkg-shlibdeps wanna-build-mail dpkg-gencontrol -pwanna-build -isp chown -R root.root debian/tmp chmod -R go=rX debian/tmp dpkg --build debian/tmp .. define checkdir test -f buildd-mail-wrapper.c -a -f debian/rules endef # Below here is fairly generic really binary: binary-indep binary-arch source diff: @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false checkroot: $(checkdir) test root = "`whoami`" .PHONY: binary binary-arch binary-indep clean checkroot debian/buildd.postinst0000775000000000000000000000632412203717624012254 0ustar #! /bin/sh # postinst script for buildd # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see /usr/share/doc/packaging-manual/ # # quoting from the policy: # Any necessary prompting should almost always be confined to the # post-installation script, and should be protected with a conditional # so that unnecessary prompting doesn't happen if a package's # installation fails and the `postinst' is called with `abort-upgrade', # `abort-remove' or `abort-deconfigure'. case "$1" in configure) if ! getent passwd buildd > /dev/null; then adduser --system --quiet --home /var/lib/buildd --no-create-home \ --shell /bin/bash --group --gecos "Debian build daemon" buildd fi # Unlock account in case it was locked from previous purge. usermod -U -e '' buildd # check validity of buildd user and group if [ "$(id -u buildd)" -eq 0 ]; then echo "The buildd system user must not have uid 0 (root). Please fix this and reinstall this package." >&2 exit 1 fi if [ "$(id -g buildd)" -eq 0 ]; then echo "The buildd system user must not have root as primary group. Please fix this and reinstall this package." >&2 exit 1 fi # Home directory ownership chown buildd:buildd /var/lib/buildd chown buildd:buildd /var/lib/buildd/.forward chown buildd:buildd /var/lib/buildd/.ssh chown buildd:buildd /var/lib/buildd/build chown buildd:buildd /var/lib/buildd/logs chown buildd:buildd /var/lib/buildd/mqueue chown buildd:buildd /var/lib/buildd/old-logs chown buildd:buildd /var/lib/buildd/stats chown buildd:buildd /var/lib/buildd/stats/graphs chown buildd:buildd /var/lib/buildd/upload chown buildd:buildd /var/lib/buildd/upload-security # Home directory permissions chmod 2770 /var/lib/buildd chmod 2640 /var/lib/buildd/.forward chmod 2700 /var/lib/buildd/.ssh chmod 2770 /var/lib/buildd/build chmod 2770 /var/lib/buildd/logs chmod 2770 /var/lib/buildd/mqueue chmod 2770 /var/lib/buildd/old-logs chmod 2770 /var/lib/buildd/stats chmod 2770 /var/lib/buildd/stats/graphs chmod 2770 /var/lib/buildd/upload chmod 2770 /var/lib/buildd/upload-security # Drop the irrelevant options run-setup-scripts / run-exec-scripts, see #579926 # Use buildd/config in place of old script-defaults.buildd find /etc/schroot/chroot.d/ -name 'buildd-*' -print0 | xargs -0 -r sed -e 's/^run-setup-scripts=/#&/' -e 's/^run-exec-scripts=/#&/' -e 's;^script-config=script-defaults\.buildd;script-config=buildd/config;' -i ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 0 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/buildd.default0000664000000000000000000000064711506707234012015 0ustar # This is a configuration file for /etc/init.d/buildd; it allows you # to perform common modifications to the behavior of buildd # initialization without editing the init script (and thus getting # prompted by dpkg on upgrades). Note that the defaults defined here # are not used when invoking the buildd command; to configure buildd # behaviour have a look at /etc/buildd/* and the buildd manual page # ("man buildd"). debian/source/0000775000000000000000000000000012305610345010467 5ustar debian/source/format0000664000000000000000000000001411410224342011667 0ustar 3.0 (quilt) debian/source/include-binaries0000664000000000000000000000007012305610345013624 0ustar debian/tests/sbuild-key.pub debian/tests/sbuild-key.sec debian/buildd.install0000664000000000000000000000063712146242275012036 0ustar debian/install/etc/buildd/buildd.conf etc/buildd debian/install/usr/bin/buildd* usr/bin debian/install/usr/share/man/man1/buildd* usr/share/man/man1 debian/install/usr/share/man/man5/buildd* usr/share/man/man5 debian/install/usr/share/man/man8/buildd* usr/share/man/man8 debian/install/usr/share/perl5/Buildd* usr/share/perl5 debian/install/var/lib/buildd var/lib etc/apt-keys/*.asc usr/share/buildd debian/control-buildd0000664000000000000000000000154211506707234012043 0ustar Source: buildd Section: devel Priority: extra Maintainer: Debian buildd-tools Developers Uploaders: Michael Banck , Roger Leigh , Francesco Paolo Lovergine Standards-Version: 3.6.2 Package: wanna-build Architecture: any Depends: ${shlibs:Depends}, perl5, libmldbm-perl Recommends: exim | mail-transport-agent, cron, wget Suggests: gnupg Description: Database for Debian source packages needing to be compiled. wanna-build maintains a database of packages which need to be compiled. Package: buildd Architecture: any Depends: ${shlibs:Depends}, perl5, sbuild (>= 0.49), dupload, cron, exim | mail-transport-agent Description: Build daemon for automatically compiling Debian packages buildd is a build daemon which will compile Debian packages automatically. debian/buildd.postinst-buildd0000664000000000000000000000017211506707234013506 0ustar #!/bin/sh -e if [ ! -e /etc/cron.d/buildd ]; then zcat /usr/share/doc/buildd/examples/crontab.gz > /etc/cron.d/buildd fi debian/cvslogs.old0000664000000000000000000004164711506707234011371 0ustar Thu Sep 16 11:34:43 CEST 2004 This is the old (now obsolete) log contents of roman CVS repository. We missed a few changes after, unfortunately. Francesco P. Lovergine # Revision 1.169 2002/03/11 09:49:55 rnhodek # chroot_apt_options: don't just set Dir::Etc::sourcelist, but whole # Dir::Etc, to avoid new preferences. # # Revision 1.168 2002/02/07 09:12:25 rnhodek # Fixed sudo call for running scripts. # # Revision 1.167 2002/01/22 08:53:10 rnhodek # Use capitalized "Noninteractive" das DEBIAN_FRONTENT. # # Revision 1.166 2001/11/08 09:32:10 rnhodek # fetch_source_file: in case of apt, need to pass up a $dscfile with # epoch stripped. # # Revision 1.165 2001/11/07 18:04:31 rnhodek # Argl.. I should learn perl first :) # # Revision 1.164 2001/11/07 09:25:59 rnhodek # fetch_source_files: after apt-get, fix $dscfile not to contain epoch. # # Revision 1.163 2001/11/06 15:11:24 rnhodek # fetch_source_files: don't touch symlinks generated by apt-get. # # Revision 1.162 2001/11/06 12:29:22 rnhodek # New config var $use_FetchFile (default 0). # Integrated patches for using apt-get to download sources; modified so # that old code (using FetchFile.pm) still present. # run_apt: Fix parsing error of apt-output (\s matched ^M printed by # pre-configuring). # # Revision 1.161 2001/10/29 12:20:41 rnhodek # Added $fakeroot var. # # Revision 1.160 2001/10/29 08:27:53 rnhodek # Fix typo in message. # # Revision 1.159 2001/06/18 09:57:55 rnhodek # Use --database option when wanna_build_dbbase set in config. # # Revision 1.158 2001/06/01 09:54:36 rnhodek # Fix two typos. # # Revision 1.157 2001/05/31 08:08:08 rnhodek # Fixed thinko in conflicts checking (tnx James) # # Revision 1.156 2001/05/30 08:20:05 rnhodek # Use /var/lib/apt as Dir::State if exists (newer apt versions use that) # (tnx to Ryan Murray). # # Revision 1.155 2001/05/30 08:17:01 rnhodek # Print also architecture at start of log. # # Revision 1.154 2001/05/29 07:33:54 rnhodek # Also handle versioned Build-Conflicts. # (Tnx to David Schleef ) # # Revision 1.153 2001/03/13 08:45:17 rnhodek # Run chmod -R on source tree only after unpacking. # # Revision 1.152 2001/02/19 09:23:24 rnhodek # Fix typo. # # Revision 1.151 2001/02/19 08:43:22 rnhodek # Fix wrong arch logic. # # Revision 1.150 2001/01/22 12:56:16 rnhodek # Fix handling of arch-restricted build-deps (tnx to Ryan Murray). # # Revision 1.149 2001/01/15 11:17:36 rnhodek # Fixed typo. # # Revision 1.148 2001/01/15 10:59:18 rnhodek # Shortcut when looking for non-dsc files: first try to fetch from same # dir as .dsc and FF_search only if that fails. # # Revision 1.147 2001/01/10 16:16:48 rnhodek # Move all built files from chroot dir, not only *.deb. # # Revision 1.146 2000/10/23 10:39:24 rnhodek # Before doing chmod on /etc/ld.so.conf, test if it exists at all. # # Revision 1.145 2000/10/19 09:08:35 rnhodek # A couple of little fixes from Ben. # Checks and assures that /etc/ld.so.conf is readable. # Support for local overrides with $conf::srcdep_over. # # Revision 1.144 2000/06/27 12:34:00 rnhodek # Implemented new 'prepre' and 'unpack' sections for special targets; # the first is a script run before package installation, and the latter # can list source packages that should be unpacked in the build dir. # # Revision 1.143 2000/06/20 14:39:59 rnhodek # Call apt-get with some options for relocating various files instead of # chrooting it; this avoids that the archive must be available in chroot # environment; same is true for dpkg and apt-cache calls. # If chrooted, call dpkg with the chroot dir as cwd to avoid "cannot get # current directory" errors; same for apt option DPkg::Run-Directory. # # Revision 1.142 2000/06/19 14:09:00 rnhodek # Fix syntax error. # # Revision 1.141 2000/06/19 14:05:38 rnhodek # Call buildd-addpkg with --chroot=DIR options for each dist that is >= # the one building for (to run apt-get update in the chroot # environments). # # Revision 1.140 2000/06/19 09:10:24 rnhodek # Obey new config var @ignore_watches_no_build_deps, i.e. don't flag # watches that are listed there if the package doesn't have build deps. # In check_watches(), strip $chroot_dir instead of $chroot_build_dir # from pathname. # # Revision 1.139 2000/06/13 10:54:43 rnhodek # Also execute special dependency scripts in chroot environment. # # Revision 1.138 2000/06/09 12:47:52 rnhodek # File .dsc filename for rbuilder (with URL). # # Revision 1.137 2000/06/09 09:15:21 rnhodek # Always install built package (if already) when building chroot; i.e. # the $system_level test is not necessary when chrooted. # # Revision 1.136 2000/06/09 08:20:52 rnhodek # Fixed su usage in sub build. # # Revision 1.135 2000/06/08 14:02:11 rnhodek # After changing to chroot dir, change back to be the normal user again # and start dpkg-buildpackage with -rsudo again; some packages require # that the build target is executed as non-root. # # Revision 1.134 2000/06/08 13:01:54 rnhodek # apt-cache calls need sudo, too, when using chroot. # # Revision 1.133 2000/06/08 09:13:31 rnhodek # Implemented chroot builds; there are a few new global variables # $main::chroot_*; major changes are in build, where the source tree is # unpacked somewhere else, dpkg-buildpackage called under chroot and # built packages are moved back again; also all apt-get and dpkg calls # are chroot-ed and /var/lib/dpkg/status is accessed from the chroot # environment; also watches are checked under the new root dir. # # Revision 1.132 2000/06/06 14:37:05 rnhodek # New option --source (-s): Also build source package, i.e. don't pass # -b or -B to dpkg-buildpackage. # # Revision 1.131 2000/05/30 15:41:34 rnhodek # Call buildd-addpkg with --dist option. # Install freshly built packages only if $conf::system_level >= $dist. # # Revision 1.130 2000/05/16 12:34:20 rnhodek # Insert a chmod -R go+rX on the build tree to make files readable; it # happens sometimes that files in a .orig.tar.gz have restrictive # permissions and this can be inconvenient. # # Revision 1.129 2000/03/01 14:43:34 rnhodek # Also match error message "dpkg: status database area is locked" from # apt and retry call later. # # Revision 1.128 2000/02/16 15:21:33 rnhodek # Fix a print message in merge_pkg_build_deps. # # Revision 1.127 2000/02/16 15:20:38 rnhodek # Print version number of sbuild in package log. # # Revision 1.126 2000/02/16 15:15:15 rnhodek # Fix regexp for finding !needs-no-XXX packages. # Move !needs-no-XXX from central deps to $main::additional_deps so that # they can be found by prepare_watches later. # # Revision 1.125 2000/02/15 14:40:35 rnhodek # Remove forgotten debugging code. # # Revision 1.124 2000/02/15 11:12:43 rnhodek # Expand virtual packages in package build dependencies for comparing # with central deps. # # Revision 1.123 2000/02/11 11:17:07 rnhodek # Do not activate watches for packages XXX if a negative dependency # needs-no-XXX exists (used to be just a comment, now really processed # by sbuild.) # Also do not activate watches for dependencies of pkg build deps. # # Revision 1.122 2000/02/09 15:57:25 rnhodek # In merge_pkg_build_deps, do not show warnings about missing # !this-package-does-not-exist or !needs-no-xxx dependencies. # # Revision 1.121 2000/02/04 14:04:18 rnhodek # Use --no-down-propagation. # # Revision 1.120 2000/02/01 12:05:56 rnhodek # In binNMU mode, a '_' was missing in the job name. # # Revision 1.119 2000/01/28 14:54:43 rnhodek # Accept abbrevs for distribution options (-ds, -df, -du) here, too. # New option --make-binNMU=entry. # New binNMU hack to modify debian/changelog; it will add a new entry # for the NMU version. # New helper function binNMU_version to generate a new version number. # # Revision 1.118 2000/01/13 14:32:30 rnhodek # For compiling on slink systems, pass the --force-confold option to # dpkg only for versions < 1.4.1.18 (that don't understand it yet). # # Revision 1.117 1999/12/17 13:49:50 rnhodek # Improved output about missing central deps: build-essential (act. # policy) and dependencies of pkg build deps are filtered out and # printed separately. # New functions cmp_dep_lists, read_build_essential, # expand_dependencies, and get_dependencies for the above. # # Revision 1.116 1999/12/17 11:04:43 rnhodek # When pkg build-deps were read from debian/sbuild-build-deps, a wrong # package name was used. # # Revision 1.115 1999/12/09 09:54:42 rnhodek # Again fixed a fatal typo... # # Revision 1.114 1999/12/08 12:33:16 rnhodek # merge_pkg_build_deps: Fix printing of overrides. # # Revision 1.113 1999/12/08 12:25:34 rnhodek # Special dependencies are implicitly overrides, i.e. are added to the # package-provided build deps. # # Revision 1.112 1999/12/08 11:31:38 rnhodek # get_dpkg_status: don't reset $res{$pkg}->{Installed} to 0 if $pkg is # provided. # # Revision 1.111 1999/12/08 10:37:33 rnhodek # Change parsing of .dsc file so that multi-line build dependencies are # allowed. # Make warning about missing central deps a bit bigger. # # Revision 1.110 1999/12/06 15:00:33 rnhodek # Fix comparison with old deps (must copy them, not only the reference). # # Revision 1.109 1999/12/06 08:35:53 rnhodek # Fixed typo. # # Revision 1.108 1999/12/03 09:58:16 rnhodek # If a pkg has its own build deps, compare them with the central ones # and report missing ones. # # Revision 1.107 1999/11/30 13:54:38 rnhodek # Print a message if build deps from the .dsc are used (to avoid confusion). # If a pkg has build deps, store them in debian/.sbuild-build-deps to # have them available when rebuilding later (no .dsc anymore); also # check for this file and read deps from it if building without a .dsc # in unpacked source. # # Revision 1.106 1999/11/15 12:30:15 rnhodek # merge_pkg_build_deps: added missing if $main::debug. # # Revision 1.105 1999/11/03 14:56:32 rnhodek # When running apt, set env var DEBIAN_FRONTEND to noninteractive to # stop debconf from asking questions or complaining that /dev/tty can't # be opened. # # Revision 1.104 1999/11/02 16:43:51 rnhodek # check_inst_packages: also upgrade dependencies of src-deps (if they're # already installed); some -dev packages fail to correctly require an # identical versioned shlib pkg, so in some cases only the -dev pkg was # installed. # # Revision 1.103 1999/11/02 15:45:43 rnhodek # build: Use epoch-stripped version number for the .changes file. # check_inst_packages: forgot a if $main::debug. # # Revision 1.102 1999/10/29 13:07:49 rnhodek # New option --stats-dir=DIR; if used, a "1" is appended to # DIR/give-back each time a package is given back. # # Revision 1.101 1999/10/29 12:32:24 rnhodek # If using an already unpacked source tree, check (with # dpkg-parsechangelog) if it's really the requested version. # Make apt-get run dpkg with --force-confold, as the = 1.4.1.18. # # Revision 1.100 1999/10/25 12:12:21 rnhodek # check_inst_packages: Add packages to @deps_inst only if they're not # already to be installed. # # Revision 1.99 1999/10/22 09:01:36 rnhodek # Minor changes to output of check_inst_packages. # # Revision 1.98 1999/10/21 14:21:57 rnhodek # Oops... call check_inst_packages only if build was successful. # # Revision 1.97 1999/10/21 11:46:50 rnhodek # Deleted RCS logs for < 1.50. # New option --store-built-packages. # Fix package name parsing: \w also matches '_' which is unwanted; # replace by a-zA-Z. # Read reverse sourcedeps of $main::store_built_packages. # New sub check_inst_packages. # # Revision 1.96 1999/09/27 11:18:10 rnhodek # Added a missing PLOG. # # Revision 1.95 1999/09/15 09:10:25 rnhodek # Additionally print a warning if a special dep has a version relation. # # Revision 1.94 1999/09/15 09:08:12 rnhodek # Changed parsing of dependencies a bit so that special deps can have # arch restrictions, too. # # Revision 1.93 1999/08/30 09:44:35 rnhodek # get_dpkg_status: don't exit too early if a pkg isn't in the arg list, # as it might be provided only. # # Revision 1.92 1999/08/27 13:32:04 rnhodek # --auto-give-back has a new optional argument, the user and hostname # where to call wanna-build (like $conf::sshcmd); this is needed that # sbuild can do give-backs when there's no local wanna-build. # # Revision 1.91 1999/08/23 12:53:02 rnhodek # Support for alternatives. # Support for [ARCH1 !ARCH2] arch restriction on dependencies. # Parses only src-deps which are needed for packages to be built. # Reads Build-{Depends,Conflicts}{,-Indep}: fields from .dsc if present; # those override the central src-deps, except those marked as override # (& prefix). # Implemented abbrevs as kind of macros in src-deps. # New option --add-depends (-a). # New option --arch-all (-A). # # Revision 1.90 1999/08/11 15:28:11 rnhodek # Insert missing wait call in run_script to get correct return value. # # Revision 1.89 1999/08/10 14:01:49 rnhodek # Virtual packages as dependencies didn't work really yet -- the # consistency check didn't see them (dpkg --status doesn't know them) # and thus aborted the build; solution: get_dpkg_status now directly # reads the status file (which should be a bit faster, too) and extracts # Provides: fields of all installed packages and considers those virtual # packages installed, too. # Print "Source-dependencies not satisfied" message to package log, not # to sbuild log. # Same in run_apt for virtual package handling. # Fix stdout/stderr redirecting when running scripts. # # Revision 1.88 1999/07/13 07:23:55 rnhodek # Use GDBM for time/space databases, as perl-5.004 seems not to contain # DB_File anymore. # # Revision 1.87 1999/06/21 12:52:00 rnhodek # Seems apt has a new error message if a cached Packages file isn't # up-to-date anymore -- recognize this msg, too, and reun apt-get update. # # Revision 1.86 1999/06/09 15:05:38 rnhodek # Fix loop in apply_patches. # Don't fail due to failed patch if a global patch. # Global patches are no syntax error when parsing src-deps... # # Revision 1.85 1999/06/04 09:47:02 rnhodek # Add support for global patches, which will be tried on any package; # their names in source-dependencies start with "**". # # Revision 1.84 1999/06/04 08:17:17 rnhodek # When calling wanna-build --give-back, don't forget the --dist argument! # Added support for virtual packages as source dependencies: apt-get tells us # which alternatives are possible, and one of these is selected either by # %conf::alternatives or by random. # # Revision 1.83 1999/06/02 09:07:47 rnhodek # With --batch, write each finished job to SBUILD-FINISHED; buildd can pick up # this file if sbuild crashes and needs not rebuild already done stuff. The file # is removed on normal exit and if sbuild dumps to REDO during a shutdown. # # Revision 1.82 1999/06/02 08:47:39 rnhodek # Remove as many die's as possible -- the bad exit status can cause # buildd to retry all packages of an sbuild run; better let this one # package fail. # Make sure that after build() we're in the correct directory: some # chdir()s were missing; also don't chdir("..") because this can be # wrong if we followed a symlink, use $main::cwd instead. # If the package directory already exists as a symlink, abort the build. # # Revision 1.81 1999/05/31 12:59:41 rnhodek # Run du after build under sudo, to avoid error messages about # unreadable dirs. # # Revision 1.80 1999/05/27 13:28:04 rnhodek # Oops, missed an epoch fix (when constructing the .changes file name). # # Revision 1.79 1999/05/26 11:34:11 rnhodek # Ignore epochs for fetching files. # # Revision 1.78 1999/05/26 09:48:23 rnhodek # If dpkg-source fails, remove .tmp-nest dir. # # Revision 1.77 1999/05/05 07:56:51 rnhodek # Need to empty %main::this_watches before filling it for a new package; # otherwise we have some spurious reports :-) # # Revision 1.76 1999/05/04 14:51:40 rnhodek # Some more minor stuff for avg-build-space: Reset global # $main::this_space to 0 before each build to avoid using the figure of # the previous package in case of errors; don't write a 0 value into the # database. # # Revision 1.75 1999/05/04 14:43:01 rnhodek # Fix parsing of a single dependency: package name never should contain # a '('. # # Revision 1.74 1999/05/04 14:29:51 rnhodek # Determine how much space is required for a build (final build dir + # generated .debs) after dpkg-buildpackage is finished; display figure # in package log and also store it in $conf::avg_space_db (analogous to # avg_time_db). # # Revision 1.73 1999/05/03 12:53:25 rnhodek # After unpacking src dir, run "chmod -R g-s ." on it; some # .orig.tar.gz's are packed with the setgid bit, which causes the debian # dir and all subdirs to be created setgid, too, and later dpkg-deb # --build complains about this. # # Revision 1.72 1999/04/22 14:16:25 rnhodek # Don't kill tee process if verbose but --nolog set -- $pkg_tee_pid # undefined then! # # Revision 1.71 1999/04/21 14:54:10 rnhodek # Implemented watches if certain binaries have been used during a build # without a source dependency. # # Revision 1.70 1999/03/12 10:29:32 rnhodek # New option --force-depends (-f) to override src-deps of a package. # debian/changelog-buildd0000664000000000000000000000153711506707234012316 0ustar buildd (0.10) UNRELEASED; urgency=low * Initial buildd packaging. * debian/control: - Fix line wrapping. Thanks to Florian Lohoff. * debian/rules: - Use prefixed binary names for installation. Thanks to Florian Lohoff. - Install wanna-build.conf in /etc/buildd. - Install WannaBuild/Conf.pm in usr/share/perl5/WannaBuild. - Don't install removed wanna-build.conf.local. * abort-current-build: Re-add. * buildd: - Log command-line arguments. Thanks to Florian Lohoff. - Use --auto-give-back arguments correctly with newer sbuild option parser. Thanks to Florian Lohoff. * wanna-build: - Move @distributions and %dist_order into conf package. Thanks to Florian Lohoff. * wanna-build.conf: - Add @distributions and %dist_order. -- Roger Leigh Sun, 06 Jan 2008 16:41:58 +0000 debian/sbuild-db.dirs0000664000000000000000000000003512047437157011730 0ustar /var/cache/sbuild/db/archive debian/changelog.old0000664000000000000000000026331612145233312011626 0ustar sbuild (0.61.0-1+buildd20120121.3) squeeze-buildd; urgency=low * [Sbuild::Chroot] unlock_chroot: also fix lockfile location here -- Philipp Kern Sat, 21 Jan 2012 21:11:47 +0100 sbuild (0.61.0-1+buildd20120121.2) squeeze-buildd; urgency=low * [Sbuild::Chroot] lock_chroot: fix lockfile location -- Philipp Kern Sat, 21 Jan 2012 21:05:31 +0100 sbuild (0.61.0-1+buildd20120121.1) squeeze-buildd; urgency=low * Fix SSH control master restart. -- Philipp Kern Sat, 21 Jan 2012 13:39:54 +0100 sbuild (0.61.0-1+buildd20120121.0) squeeze-buildd; urgency=low * bin/create-chroot: add s390 as linux32 architecture * [Sbuild::Build] specify UTF-8 encoding in the .changes's MIME part * create-chroot: use directory in schroot snippet, not location * etc/99builddsourceslist: fix a typo * Sbuild::Chroot: Create chroot lock inside chroot * [Sbuild::DB::Client] do not change the cwd -- Philipp Kern Sat, 21 Jan 2012 13:12:02 +0200 sbuild (0.61.0-1+buildd20110803.0) squeeze-buildd; urgency=low * Revert "Sbuild::ResolverBase: Implement alternative stripping" -- Philipp Kern Wed, 03 Aug 2011 13:40:30 +0200 sbuild (0.61.0-1+buildd20110721.0) squeeze-buildd; urgency=low * Sbuild: use our for version comparision variable -- Philipp Kern Thu, 21 Jul 2011 10:34:08 +0200 sbuild (0.61.0-1+buildd20110626.0) squeeze-buildd; urgency=low * etc/99builddsourceslist: use backports.d.o for main bpo archive -- Philipp Kern Sun, 26 Jun 2011 22:14:21 +0200 sbuild (0.61.0-1+buildd20110611.0) squeeze; urgency=low * Set HOME explicitly to cope with schroot 1.2 in Lenny. * create-chroot: set check intervals to 0 for the new filesystem -- Philipp Kern Sat, 11 Jun 2011 16:44:10 +0200 sbuild (0.61.0-1+buildd20110527.0) squeeze; urgency=low * Buildd::Mail: Remove empty newline from .changes * sbuild-apt: Run apt via the resolver * Sbuild::ResolverBase: sources.list fragments must have 0644 permissions -- Philipp Kern Fri, 27 May 2011 22:12:49 +0200 sbuild (0.61.0-1+buildd20110402.0) squeeze; urgency=low * [Buildd::Daemon] move_to_upload: fix binNMU uploading -- Philipp Kern Sat, 02 Apr 2011 13:45:11 +0200 sbuild (0.61.0-1+buildd20110330.0) squeeze; urgency=low * [Buildd::Daemon] support autosigning of binNMUs -- Philipp Kern Wed, 30 Mar 2011 11:56:44 +0200 sbuild (0.61.0-1+buildd20110328.0) squeeze; urgency=low * [Sbuild::Conf] adjust ENVIRONMENT_FILTER to be sane * [Buildd::Daemon] add arch_all building support * [Sbuild::Build] only try to invoke debsign on successful builds -- Philipp Kern Mon, 28 Mar 2011 21:50:45 +0200 sbuild (0.61.0-1+buildd20110324.1) squeeze; urgency=low * [Sbuild::Build] invoke debsign post-build * [Sbuild::Conf] handle command-line signing options correctly * [Sbuild::Conf] put SIGNING_OPTIONS into an array instead of overwriting values * [Sbuild::Build] check correctly for SIGNING_OPTIONS being an ARRAY * [Buildd::Uploader] make .changes -> .upload substitution clearer * [Sbuild::Build] attach a .summary file to MIME build logs -- Philipp Kern Thu, 24 Mar 2011 21:22:33 +0100 sbuild (0.61.0-1+buildd20110324.0) squeeze; urgency=low * [Sbuild::Build] put KEY_ID into the log mail header if set * [Buildd::Daemon] put signed builds into the upload queue * [Buildd::Daemon] pass SIGN_WITH as keyid to sbuild * [Buildd::DistConf] SIGN_WITH added as a new variable * [Buildd::Daemon] remove unused read_config function -- Philipp Kern Thu, 24 Mar 2011 15:35:55 +0100 sbuild (0.61.0-1+buildd20110321.1) squeeze; urgency=low * sbuild: Add --no-apt-* options to disable default actions * Buildd::Daemon: Don't upgrade or distupgrade running sbuild * Revert "[Sbuild::Conf] set APT_UPGRADE's default to 0" -- Philipp Kern Mon, 21 Mar 2011 17:17:59 +0100 sbuild (0.61.0-1+buildd20110321.0) squeeze; urgency=low * Sbuild::ResolverBase: Remove File::Path dependency * buildd profile: all/copyfiles: remove comments on top * [Sbuild::Conf] set APT_UPGRADE's default to 0 -- Philipp Kern Mon, 21 Mar 2011 09:46:17 +0100 sbuild (0.61.0-1+buildd20110320.0) squeeze; urgency=low * Built from git revision f97a8a7b668c16a2b8281110a91730c7ca349930. -- Philipp Kern Sun, 20 Mar 2011 14:15:17 +0100 sbuild (0.61.0-1+buildd20110319.1) squeeze; urgency=low * Built from git revision d6c599e73426d1039c3396cd87b8ba667b7a515a. -- Philipp Kern Sat, 19 Mar 2011 14:28:20 +0100 sbuild (0.61.0-1buildd0) unstable; urgency=low * Buildd-specific modifications: - debian/rules: Enable compatibility with stable releases. -- Roger Leigh Wed, 23 Feb 2011 13:43:01 +0000 sbuild (0.61.0-1) unstable; urgency=low * sbuild: - The apt and aptitude build dependency resolvers now use only the first alternative in alternative dependencies. The other alternatives are stripped out entirely. This makes the apt and aptitude resolvers behave exactly like the internal resolver. Note that this is configurable with the $resolve_alternatives option, so alternative resolving may be re-enabled with this option if desired. This is useful for e.g. backports, but not for unstable where the strict consistency and reproducibility offered by only using the first alternative is required. - The aptitude resolver now runs dpkg with --force-confold, to match the behaviour of internal and apt. This prevents failure when installing netbase into the build chroot, for example. -- Roger Leigh Wed, 23 Feb 2011 13:08:58 +0000 sbuild (0.60.9-1) unstable; urgency=low * New release. * sbuild: - Don't automatically generate local archive signing key if missing (Closes: #607945). If missing, abort build with an error message and instructions for how to generate the key. - Do not filter out environment variables starting with DEBIAN_ by default (Closes: #608659). Thanks to Modestas Vainius. - Do not filter out PATH environment variable (Closes: #610997). Note this is not the user's PATH, but the $path in sbuild.conf. - Aptitude resolver defines a custom SolutionCost in order to improve resolver behaviour (Closes: #608789). Thanks to Modestas Vainius. - When running apt-get, use "-o APT::Install-Recommends=false" rather than "--no-install-recommends" in order to support older releases (Closes: #609811). Thanks to Marc Deslauriers. - Purging the package removes generated files in /etc/sbuild/chroot and /var/lib/sbuild (Closes: #608412). - The architecture specified with --arch (defaulting to the host system architecture) must match the chroot architecture (Closes: #609151). This was previously allowed to be superceded by the chroot architecture. This change is to avoid any abiguity regarding the host/build architecture for the package being built. - Add --no-arch-all option to force not building arch-all packages (Closes: #613401). Thanks to Sebastian Harl for this patch. * sbuild-createchroot: - Use less restrictive permissions on chroot directory and schroot configuration file (Closes: #608414). The chroot now has 0755 permissions, and the schroot configuration 0644. - Don't require sudo access (Closes: #608429). The Sbuild::ChrootPlain module used to run commands inside the newly- created chroot was using sudo to run commands when already running as root. sudo is no longer used when root. - Remove use statement which prevented command-line options being registered (Closes: #610007, #607606). Command-line options now work correctly. * sbuild.conf: - $environment filter is syntactically correct (Closes: #610997). Thanks to Jakub Wilk. - $apt_allow_unauthenticated is documented to use apt-secure(8) (Closes: #608971). * sbuild.1: - Document the temporary local archive used by the apt and aptitude build dependency resolvers to store and install dummy dependency packages (Closes: #608972). -- Roger Leigh Mon, 14 Feb 2011 20:37:05 +0000 sbuild (0.60.8-1) unstable; urgency=low * New release. * sbuild: - Don't use user's default GPG configuration and keyrings for signing archives; use sbuild archive signing keys only (Closes: #606668). Thanks to Simon McVittie for this patch. - Use an empty directory as GPG homedir. - Don't run "apt-get update" to update local archive; copy files directly into /var/lib/apt/lists. This means the remote mirror lists can't be updated during a build, and it also saves the time needed to update the lists an additional two times. -- Roger Leigh Sun, 12 Dec 2010 19:24:11 +0000 sbuild (0.60.7-1) unstable; urgency=low * New release. * Correct building of dependency package using the apt and aptitude resolver, where /tmp is not shared with the host (Closes: #606278). -- Roger Leigh Wed, 08 Dec 2010 21:47:11 +0000 sbuild (0.60.6-1) unstable; urgency=low [ Roger Leigh ] * New release. * sbuild: - sbuild now sanitises its environment when running external commands. - sbuild no longer generates the files REDO and SBUILD-REDO-DUMPED. - sbuild now has a testsuite. - apt and aptitude build-dependency resolvers now use a local apt archive, which improves the behaviour of the apt resolver (the dependency package will no longer be removed in some situations). - Workaround uninstallable sysvinit on Ubuntu, where sysvinit is still present in the build-essential package list. Thanks to Jamie Strandboge. * sbuild-update: - sbuild-update works on multiple chroots (Closes: #604715). - sbuild-update works with multiple architectures (Closes: #606001). Thanks to Ansgar Burchardt for this patch. - sbuild-update now has a --keygen option to generate signing keys for temporary apt archives. * sbuild.1: Update description of --maintainer (Closes: #605745). Thanks to Jakub Wilk. * Sbuild::ConfBase: Only use MAILTO_HASH if defined (Closes: #589615). Thanks to Marc Dequènes for this patch. [ Modestas Vainius ] * sbuild: - Do not skip purging of build directory if chroot is cloned (Closes: #605997). This is necessary if /build in chroots is (bind-)mounted to the outside of the session. However, if /build is part of the cloned session, $purge_build_directory='never' could be used in order to avoid wasting time when the session ends. -- Roger Leigh Tue, 07 Dec 2010 21:08:28 +0000 sbuild (0.60.5-1) unstable; urgency=low * Chroot upgrade and dist-upgrade commands run with "dpkg --force-confold" as done for build dependency installation (Closes: #603397). Thanks to Loïc Minier. -- Roger Leigh Sat, 13 Nov 2010 18:43:25 +0000 sbuild (0.60.4-1) unstable; urgency=low * New release. * Allow the user to specify chroot namespaces in the distribution name (Closes: #602789). * Revert default build dependency resolver to 'internal' for the time being. -- Roger Leigh Tue, 09 Nov 2010 19:46:38 +0000 sbuild (0.60.3-1) unstable; urgency=low * New release. * sbuild-createchroot: - Allow direct creation of tarballs from chroots, with various options for compression (Closes: #545215). Thanks to Andres Mejia. * sbuild-update: - sbuild-clean functionality has been merged into sbuild-update. Thanks to Andres Mejia. * sbuild: - Dependency resolving: . 'aptitude' is now the default dependency resolver. Users wishing to use the old resolver should set $build_dep_resolver='internal' in their configuration. . The aptitude resolver can resolve complex dependencies. A | B, where A is uninstallable now correctly falls back to B (Closes: #403246). . Removal of Build-Conflicts now works, due to using apt-get or aptitude to perform the removal (Closes: #464376). . Default to not enabling virtual dependency resolving with the internal resolver ($resolve_virtual=0). This is to avoid changing the historical behaviour by default. - Don't set Sbuild::debug_level to undef (Closes: #602318). Thanks to Andres Mejia. - Add debuild-like feature to run sbuild on an unpacked source tree (Closes: #551311). In addition to specifying a package version to build, or a source package .dsc, a directory may be used. This will be packaged with 'dpkg-source -b' prior to building. Thanks to Andres Mejia. - Add support for running lintian after a build. Thanks to Andres Mejia. - Add support for running external commands before and after a build, and during chroot setup and cleanup. These may be used to run piuparts, for example. Thanks to Andres Mejia. * Run sbuild-* chroot maintenance commands in the 'source' chroot namespace for chroots providing such a facility (Closes: #567505). This means that update/distupgrade etc. operations will occur in the source volume for lvm-snapshot and btrfs-snapshot chroot types. Note that the sbuild chroot lock (/var/lock/sbuild) may be copied into cloned chroots if a build is started during a maintenance operation and the build will block until the operation is completed. -- Roger Leigh Mon, 08 Nov 2010 17:07:40 +0000 sbuild (0.60.2-1) unstable; urgency=low * New release. * sbuild: - Dependency resolving: . The aptitude build dependency resolver now sets Aptitude::CmdLine::Ignore-Trust-Violations based upon the $apt_allow_unauthenticated option (Closes: #588035). Thanks to Ansgar Burchardt for this patch. . Improve handling of alternative build dependencies and Provides using the interal build dependency resolver. (Closes: #586275, #578810, #591187, #591188, #591189, #595863, #595866, #595872). Thanks to Ansgar Burchardt for this patch. . Remove virtual build-dependency resolving using the "internal" resolver using the static ALTERATIVES (%alternatives) list. This was already limited, non-functional, and is obsoleted by the "aptitude" resolver. . Added the ability to resolve virtual dependencies using the "internal" build dependency resolver by calling "apt-cache --names-only" to get candidate packages to satisfy the dependency. The first package (sorted alphabetically) is chosen (Closes: #595934). This may be disabled using the $resolve_virtual option. . Use apt-get to remove build conflicts using the internal resolver and correctly reinstall post build. - Log the package source version as well as binary version in the package build log, since these may differ when making binNMUs (Closes: #569823). - Always attempt to install ESSENTIAL (build-essential) packages if they aren't already installed (Closes: #380113). - Don't end session on build failure (Closes: #567506). This allows examination of build trees and cloned chroots on build failure, rather than unconditionally deleting them, which prevents this. Thanks to Jan-Marek Glogowski. - Remove support for parsing output of apt-get stderr (Closes: #571806). - Check for sbuild group membership using gid and supplementary groups (Closes: #599350). * buildd: - Read entire contents of pipes (Closes: #567821). Thanks to Samuel Thibault. This ensures receipt of complete log messages. - Replace/Breaks with ubuntu-dev-tools <= 0.83 (Closes: #590153). Thanks to Lorenzo De Liso. * buildd-vlog: Fix breakage (Closes: #567822). Thanks to Samuel Thibault. This fix introduces sleeps, and is not a complete or entirely optimal fix, but corrects the existing breakage. * Documentation: - Remove trailing 'q' from sbuild-createchroot(8) manual page (Closes: #579971). Thanks to Salvatore Bonaccorso. - sbuild(1): . Remove and rewrite obsolete parts of the manpage (Closes: #599348). . .sbuildrc is no longer required for sbuild to function (Closes: #598054). -- Roger Leigh Tue, 02 Nov 2010 13:02:50 +0000 sbuild (0.60.1-1) unstable; urgency=low * New release. * debian/control: - Upgrade to Standards-Version 3.9.1. * sbuild: - Add --no-source option (Closes: #571726). Thanks to David Bremner for this suggestion. - Hint aptitude to produce better solutions in AptitudeBuildDepSatisfier. Thanks to Modestas Vainius. (Closes: #570463) - AptitudeBuildDepSatisfier: Handle the case when default negative dep is not available gracefully. Thanks to Modestas Vainius. (Closes: #571565). - Improve support for aptitude. - Set DEBIAN_FRONTEND=noninteractive when using aptitude (Closes: #588818). - Improve dpkg-source v3 source format handling. Don't hard-code assumptions about how the source files are named (Closes: #559533). - Remove conflict with schroot from oldstable. * buildd: - Retry the current suite if --take fails. (Closes: #570463) * buildd-uploader: - Don't remove the uploader lock if not already the owner Closes: #591620). Thanks to Sebastian Andrzej Siewior. * libsbuild-perl: - depend on schroot 1.4.0 or greater due to sbuild-createchroot creating schroot.conf fragments with 1.4.x-specific features. -- Roger Leigh Sun, 24 Oct 2010 19:56:34 +0100 sbuild (0.60.0-1) unstable; urgency=low * debian/control: - Upgrade to Standards-Version 3.8.4. - Use ${misc:Depends} as required by debhelper. * sbuild: - Only run "schroot --info" once on startup, to speed up the startup time when many chroots exist (Closes: #546624). Thanks to Nelson Elhage for finding this issue and suggesting a suitable approach for fixing it. - Don't append binNMU or extra version to version number for use in the DSC filename (Closes: #546647). Thanks to Nelson Elhage for finding this issue. - Distinguish between failed/attempted builds (Closes: #538083). - Build directory cleaned under all failure conditions (Closes: #538085). - Flush stdout explicitly in logger to avoid "choppy" output when monitoring interactively. Autoflushing stdout appears to be broken in Perl 5.10 so flush explicitly in addition to enabling autoflush. Thanks to Ryan Niebur for spotting this. - Print a list of all installed packages and versions, in addition to toolchain packages (Closes: #553301). Thanks to Felipe Sateler for this suggestion. - Don't default distribution to unstable (Closes: #559659). Defaulting to unstable can result in unintentional uploads of packages targetted at other distributions, such as experimental, which can potentially cause serious breakage. As a result, it is safer to require manually specifying the distribution, or explicitly setting it in the configuration file. - Set the man-db man-db/auto-update parameter to false to disable unnecessary work in a build environment. - Don't give back packages failing the arch check (Closes: #561936). Thanks to Philipp Kern for reporting this. - Add command-line and configuration options to enable running apt-get clean, upgrade and dist-upgrade prior to building. These complement the existing option to update the chroot, which is now also fixed (Closes: #521096). - Add $build_source variable to sbuild.conf to complement the --source command-line options (Closes: #564528). Thanks to David Bremner for this suggestion. - Allow setting of $build_dir in sbuild.conf (Closes: #535911). Thanks to Andres Mejia for this patch. - Add $check_space option to allow free space checking to be disabled (Closes: #551917). Thanks to Bruno Kleinert for this suggestion. - --apt-update both updates and upgrades the chroot (Closes: #521096). Thanks to Gustavo Noronha Silva for this patch. Note the original bug report 'get_apt_command' error was fixed on the 17th March 2009. - Allow the use of -C as well as --check-depends-algorithm as documented (Closes: #546673). Thanks to Nelson Elhage for this patch. * Add sbuild-clean script (Closes: #551310). Thanks to Andres Mejia for this patch. * sbuild-createchroot: Compute an absolute path for the chroot location. Thanks to Cyril Brulebois for this patch. * wanna-build: - Depend on postgresql-8.4-debversion in place of postgresql-8.3-debversion (Closes: #559607). Thanks to Martin Pitt for reporting this. - wanna-build now reads its system configuration from the correct location (/etc/buildd/wanna-build.conf, not /etc/wanna-build/wanna-build.conf). - Remove extra parenthesis from wanna-build-merge-packages (Closes: #553364). Thanks to Felipe Sateler for this patch. * Remove absent -t option for --top from sbuild-stats.1 (Closes: #566320). Thanks to Kurt Roeckx. * buildd: - Don't bind-mount /home into the schroot. (Closes: #566315) - Extract architecture for .changes filename from the .changes file instead of just using the system arch. (Closes: #566398) - Fix NO_WARN_PATTERN default to not warn about sbuilds build/current-* symlinks. (Closes: #566722) - Do all w-b interaction, leave nothing of it to sbuild. (Closes: #567646, #566321) -- Roger Leigh Tue, 23 Feb 2010 22:24:52 +0000 sbuild (0.59.0-1) unstable; urgency=low [ Roger Leigh ] * New release. * Use version comparison functions in WannaBuild::Database (Closes: #521486). Thanks to Florian Weimer. * WannaBuild::Database: Allow whitespace in Architecture field (Closes: #535415). Thanks to John Wright for this patch. * Sbuild::Build, WannaBuild::Database: Add support for architecture aliases/wildcards (Closes: #501230). Thanks to Andres Mejia for these patches. * Sbuild::Conf doesn't require STATS_DIR to exist, and Sbuild::Build::write_stats only uses STATS_DIR in batch mode (Closes: #539570). -- Roger Leigh Sun, 02 Aug 2009 11:15:26 +0100 sbuild (0.58.6-1) unstable; urgency=low [ Roger Leigh ] * New release. * debian/control: Update package descriptions to use correct English in full sentences (Closes: #531022). Thanks to Gerfried Fuchs for pointing this out. * Don't include Epoch in DSC filename (Closes: #529786). Thanks to Gustavo Noronha Silva for spotting this. -- Roger Leigh Sat, 20 Jun 2009 10:48:45 +0100 sbuild (0.58.5-1) unstable; urgency=low [ Roger Leigh ] * New release. * Install README.Debian in sbuild package (rename to debian/sbuild.README.Debian, Closes: #533029). * debian/sbuild.install: Don't install Perl modules, which should only be included in libsbuild-perl (Closes: #533143). * debian/control: - libsbuild-perl: Replace sbuild <= 0.58.4 (due to also providing perl modules) - sbuild: Depend on the same version of libsbuild-perl. -- Roger Leigh Mon, 15 Jun 2009 20:30:34 +0100 sbuild (0.58.4-1) unstable; urgency=low [ Roger Leigh ] * New release. * sbuild: - A $purge_build_deps configuration option, and --purge-deps command-line option have been added to control build-dependency removal (Closes: #528312). - Use the isin function from the Sbuild module (Closes: #529470). Thanks to Gustavo Noronha Silva for spotting this. * Sbuild: - Use Filesys::Df (libfilesys-df-perl) in place of invoking /bin/df and parsing its output. This is more robust and efficient, and works whatever the user environment (Closes: #509133). -- Roger Leigh Tue, 19 May 2009 22:16:46 +0100 sbuild (0.58.3-1) unstable; urgency=low [ Roger Leigh ] * New release. * debian/control: - Update to Standards Version 3.8.1. - Add buildd package. - Add libsbuild-perl package. - All packages depend upon libsbuild-perl. * Add support for appending a tag to version numbers (Closes: #475777). Thanks to Timothy G Abbott for this patch. * When using the --help or --version options, don't abort if not in the sbuild group (Closes: #523670). Group membership is now only performed after options parsing, and only if required. * Allow config files to use $HOME (Closes: #524564). Thanks to James Vega for this patch. * Restore buildd package. * Split common library functions into new libsbuild-perl package. * debian/sbuild.(preinst|postinst|postrm): - Remove special cases for versions older than oldstable. Update addition and removal of sbuild group to use return value of getent rather than parsing getent output. - Use addgroup/delgroup in place of adduser/deluser. - Use --system when adding and deleting group, to ensure creation of a system group. Migrate existing non-system group and group members if the system group is not present. - Handle removal of 50sbuild setup script. * debian/buildd.(preinst|postinst|postrm): Add maintainer scripts for buildd package. Move configuration file from /etc/buildd.conf to /etc/buildd/buildd.conf if present. Also create buildd user and group for running the buildd daemon. * Sbuild::Conf: Don't default MAINTAINER_NAME to $DEBEMAIL if unset in the configuration file (Closes: #520158). * /etc/schroot/setup.d/50sbuild: Remove. The setup tasks performed by this script are now handled internally by sbuild. -- Roger Leigh Sun, 17 May 2009 15:52:53 +0100 sbuild (0.58.2-1) unstable; urgency=low [ Roger Leigh ] * New release. * etc/50sbuild: Don't create user home directory inside the build chroot. Home directories are not required for building. * lib/Sbuild/ChrootInfoSchroot.pm: Run schroot in a C locale, to avoid localisation of the output which breaks parsing (Closes: #520755). This was preventing the detection of chroots in some locales. * debian/buildd.cron.d: Move example crontab here, with entries commented out for now. * debian/rules: Use dh_installcrontab to install crontabs. * Remove buildd package for this release, because it's not yet ready for use. -- Roger Leigh Sat, 11 Apr 2009 10:20:25 +0100 sbuild (0.58.1-1) unstable; urgency=low [ Roger Leigh ] * debian/rules: Run configure setting DCMD, SUDO and SCHROOT. (Closes: #519097). It's not possible to install sudo as a build-dependency due to it not allowing automatic removal, and none of the commands are actually needed for the build, just setting the default path. * sbuild: Don't erase default chroot environment (Closes: #519276). This removed APT_CONFIG, preventing sbuild from working correctly. Thanks to Francois-Denis Gonthier. -- Roger Leigh Wed, 11 Mar 2009 23:16:41 +0000 sbuild (0.58.0-1) unstable; urgency=low [ Roger Leigh ] * New release. * debian/rules: - Clean up old unused code. - Correct patching of config.status and config.guess. - Add functional binary-arch target. - Use dh_prep in place of dh_clean -k. - Don't configure with --with-postgresql (debversion code moved to postgresql-debversion). * debian/compat: Update to debhelper version 7. * debian/control: - Build-Depend on debhelper 7. - wanna-build recommends postgresql-8.3-debversion. * debian/NEWS: Document incompatible changes from previous versions. * debian/sbuild.docs: New file. Add NEWS. * debian/wanna-build.docs: New file. Add NEWS. * buildd-mail-wrapper: Use more portable BSD getloadavg in place of Linux-specific sysinfo. Thanks to Robert Millan for this patch (Closes: #511095). * wanna-build: --help output now documents --create-db, since --help now displays the full manual page (Closes: #511314). [ Kees Cook ] * lib/Sbuild.pm: always perform version checks on provided packages (Closes: #505747). -- Roger Leigh Sun, 08 Mar 2009 21:53:54 +0000 sbuild (0.57.5-1) unstable; urgency=low * New release. * Sbuild::Build::new: Check if 'DSC' exists rather than 'DSC File' to allow the .dsc to be in any directory (Closes: #489794). Thanks to Francois-Denis Gonthier for this patch. * $Sbuild::Conf::apt_allow_unauthenticated: New configuration parameter to disable APT package authentication, which is now enabled by default (Closes: #492327). Thanks to Enrico Zini for this patch. * Sbuild::Options: Use isin from Sbuild.pm (Closes: #492577). * Sbuild::Log: Add version number and correctly-formatted date to the package log name instead of a raw time_t (Closes: #493150). Additionally add user and architecture to the name. * Sbuild::Options: --make-binNMU no longer tries to assign an lvalue (Closes: #493325). Thanks to Greg Hudson for this patch. * $maintainer_name, $uploader_name and $key_id are now optional in .sbuildrc; one is only required with performing binary NMUs for the entry in debian/changelog (Closes: #489557). * debian/sbuild.postrm: Correct use of local to remove bashisms. -- Roger Leigh Sat, 02 Aug 2008 21:23:13 +0100 sbuild (0.57.4-1) unstable; urgency=low * New release. * debian/control: Update to Standards Version 3.8.0. * Use schroot "Session Purged" flag rather than "Session Cloned" (Closes: #482804). Thanks to Timothy G Abbott. * Handle version provides correctly, by using "~*=PROVIDED=*=" in place of "=*=PROVIDED=*=" as the package version (Closes: #395271). Thanks to Niko Tyni for this patch. * Don't include epoch version in directory names (Closes: #482456). Thanks to Raphael Hertzog. * man/sbuild-setup.7.in: Replace references to buildd.chroot with sbuild-createchroot, and adduser with sbuild-adduser (Closes: #483654). Thanks to Marc Fargas. * Package name, version, build directory and associated information are now contained within Sbuild::Build objects. This allows stripping of epoch to construct correct unpack directory location (Closes: #482931, #482922). * Warnings due to uninitialised variables are no longer reproducible (Closes: #449251). -- Roger Leigh Sun, 06 Jul 2008 12:21:06 +0100 sbuild (0.57.3-1) unstable; urgency=low * New release. * --chroot and --arch now work together (Closes: #479714). -- Roger Leigh Sun, 11 May 2008 10:49:17 +0100 sbuild (0.57.2-1) unstable; urgency=low * debian/copyright: Update copyright holders and copyright information. * debian/rules: Run dh_link in binary-indep target to correct symlinks. * debian/wanna-build.install: Install manual pages. * man/sbuild.1.in: - Add missing character, thanks to LI Daobing (Closes: #474487). - Document --binNMU (Closes: #466927). - --distribution should be --dist (Closes: #477693). Thanks to Martin F Krafft. * debian/README.Debian: Remove reference to README-buildd.chroot (Closes: #474030), thanks to Marc Fargas. Update sbuild statistics information. * Add --apt-update option to sbuild to run "apt-get update" in the chroot prior to fetching sources and building (Closes: #472350). Thanks to Timothy G Abbott for this patch. * Add --chroot option to specify a chroot separately from the distribution name (Closes: #474160). Thanks to Simon McVittie for this patch. * debian/control: Depend on debhelper version 6 or greater (Closes: #477655). Thanks to Martin F Krafft. * lib/Sbuild/Conf.pm: Don't require $mailto to be set if not running in a buildd environment (Closes: #478045). Thanks to Martin F Krafft. * Use dcmd to parse dsc files, rather than hand-parsing. This allows support of the new dpkg source format. * All files used in a build are stored in /build/username-package_version-arch-XXXXXX inside the chroot (Closes: #478044). -- Roger Leigh Sun, 27 Apr 2008 21:22:19 +0100 sbuild (0.57.1-1) unstable; urgency=low * New upstream release. * debian/control: - Depend upon schroot >= 1.1.6. This version includes a SESSION_CLONE property, used to determine if a chroot is cloned, and hence package removal may be skipped. - Add wanna-build package. * debian/rules: set libexecdir to /usr/share, for compatibility with locations of scripts in earlier versions. * debian/sbuild.install: use /usr/share in place of /usr/lib (Closes: #458779). * debian/wanna-build.install: New file: files for wanna-build. * sbuild: Don't parse output of dpkg-source (Closes: #471747). -- Roger Leigh Thu, 27 Mar 2008 20:42:56 +0000 sbuild (0.57.0-1) unstable; urgency=low * Sbuild/*.pm: Reindent to increase readability. * Sbuild/Chroot.pm: set APT::Install-Recommends to false inside the chroot (Closes: #449253). * Sbuild/Conf.pm: Add and export $check_depends_algorithm. [Jan-Marek Glogowski] * sbuild: - Reindent to increase readability. - Add additional syntax checks. Thanks to Jan-Marek Glogowski. - build: Use unicode line drawing characters instead of ASCII. - filter_dependencies: Remove redundant conditional. [Jan-Marek Glogowski] - Add check for check-depends-algorithm option. [Jan-Marek Glogowski] - filter_dependencies: Change dependency behaviour depending upon check_depends_algorithm. [Jan-Marek Glogowski] - Move to bin/. * avg-pkg-build-time: - Move to bin/. * bin/*: Reindent to increase readability. * chroot/*: Reindent to increase readability. * bin/sbuild-createchroot: - Moved from chroot/buildd.chroot. - Also install fakeroot and build-essential. * sbuild-createchroot.1.in: Add manual page. * chroot/buildd.chroot: - Add GPL boilerplate. - Remove /etc/passwd creation (already done by debootstrap). - Remove sbuild directory creation (already done by schroot). - Use here doc to set up /etc/apt/sources.list. - List sources.list. * chroot/README: Rename from README.buildd-chroot. Remove buildd.chroot section. * example.sbuildrc: Add missing variable types. [Jan-Marek Glogowski] * example.sbuildrc: Add missing variable types and add $check_depends_algorithm. [Jan-Marek Glogowski] * sbuild.1: Document --check-depends-algorithm [Jan-Marek Glogowski] * Move manual pages to man/. * debian/manpages: Move manual pages to man/. * sbuild.conf: Move to etc/. * example.sbuildrc: Move to etc/. * debian/compat: Move to debhelper v6 compatibility level. * debian/control: Update to Standards-Version 3.7.3. * debian/copyright: - Update git repository location. - Update GPL boilerplate. * debian/sbuild.dirs: - Rename from debian/dirs. - Remove all but -var/lib/sbuild/srcdep-lock. * debian/manpages: Remove. * debian/sbuild.postinst: Rename from debian/postinst. * debian/sbuild.preinst: Rename from debian/preinst. * debian/sbuild.postrm: Rename from debian/postrm. * debian/sbuild.install: - New file. - Install files from usr/sbin and usr/share/man/man8. * debian/rules: - Install sbuild-createchroot, and add buildd.chroot compatibility symlink. - Move -stamp files to debian/. - Remove GENFILES. - Run configure, make, and make install in appropriate rules. - Use dh_install. - Remove all special-cased installation rules (now handled by automake). * Note: All upstream changes are now in an upstream ChangeLog. -- Roger Leigh Tue, 01 Jan 2008 11:36:55 +0000 sbuild (0.56) unstable; urgency=low * sbuild - Fix --force-orig-source option which was renamed to --force_orig_source while rewriting the options parsing logic to use Getopt::Long (Closes: #428205). Thanks to Alec Berryman for reporting this regression. - Accept arguments for options requiring a string (Closes: #431216). Thanks to Anders Kaseorg for the patch for this regression. * debian/preinst: Use dpkg-query in place of /var/lib/dpkg/status. -- Roger Leigh Sat, 07 Jul 2007 20:36:35 +0100 sbuild (0.55) unstable; urgency=low * sbuild: - Parse options with Getopt::Long. - Remove trailing whitespace. - Initialise $main::sub_task with a value, in case the build gets terminated prior to it being used. - Change the position of begin_session, so that it matches the cleanup order on shutdown. - build: + Document the regex which strips the epoch from the version number. + Remove the call to setsid when forking dpkg-buildpackage, because this broke shell job control. Some packages might possibly hang while building if they detect they have a controlling terminal, but IMO this is a bug in the package. + When handling the timeout for dpkg-buildpackage, make the $SIG{'ALRM'} handler local, so that it is restored to the default once the build has finished. + When calling mv to move files, use -f to make sure it doesn't run interactively. - check_dependencies: If a toolchain package is missing, print a "not installed" message, rather than a blank version. - dsc_md5sums: Log failure to open the .dsc. - fetch_source_files: Strip the epoch of the version number, so that $dscbase matches the .dsc filename in the filesystem (Closes: #425715). Thanks to Lucas Nussbaum. - merge_pkg_build_deps: Replace references to "central" src deps with build-essential deps. - parse_manual_srcdeps: New function, to replace the addition of manual source dependencies from the removed read_deps() function. - shutdown: Call end_session to clean up the chroot. * Sbuild/Chroot.pm: - end_session: + Add a debugging message. + Clear $schroot_session. * Sbuild/Conf.pm: Add linux-libc-dev, gnumach-dev, hurd-dev and kfreebsd-kernel-headers to @toolchain_regex. Thanks to Clint Adams (Closes: #425855). * Sbuild/Log.pm.in: - Remove trailing whitespace. - open_log, open_pkg_log: Ignore SIGINT, SIGQUIT, SIGTERM and SIGPIPE in the logger processes, so that logging continues if the process group is signalled to terminate. They will exit when the group leader exits or closes the pipe. * debian/changelog: Fix missing colon in bug closure for revision 0.2.4. * debian/compat: New file. Set to debhelper compatibility level 5. * debian/control: Depend on debhelper v5. * debian/NEWS: Renamed from debian/NEWS.Debian (Closes: #425370). Thanks to Lucas Nussbaum for spotting this. * debian/rules: Remove DH_COMPAT. -- Roger Leigh Mon, 28 May 2007 00:38:46 +0100 sbuild (0.54) unstable; urgency=low * debian/control: - Remove sudo from Depends. - Add schroot to Depends. - Remove schroot from Recommends. - Depend on dctrl-tools rather than the transitional grep-dctrl package. Thanks to Jonh Wendell (Closes: #417573). * debian/rules: - Don't install sbuild.conf.local. - Install sbuild.conf into /etc/sbuild. * debian/NEWS.Debian: - New file. - Document removal of manual source dependencies and sudo. - Document removal of support for building from a directory. - Document removal of building on the host system. - Document sudo->schroot migration. - Document change in $sbuild_mode default. * debian/README.Debian: - Document removal of manual src-deps. - Remove requirements for chroot symlinks in working directory. * sbuild: - Remove read_deps, so manual src-deps are no longer read. The remainder of the manual src-deps support remains to be removed. - Quote all arguments to system commands such as "rm -rf", to prevent potential disasters. - Update copyrights, and encode in UTF-8. - Use "du -k -s" instead of "du -s" to increase portability. Thanks to Martin Koeppe (Closes: #418061). - Compute package, version, directory and whether to download sources before calling fetch_source_files, because all the needed information is available at this point. - cleanup_packages: + Remove check for schroot when removing build dependencies, since schroot is the default. + Remove undo_specials(). - build: + Remove do_apply_patches. + Replace "822-date" with "date -R". Thanks to Guillem Jover for this patch (Closes: #415798). + Remove support for building from a directory. + Run dpkg-source from within the chroot. + Don't chdir before running dpkg-source. + Don't chdir before running dpkg-parsechangelog (do it in the schroot child process). + Remove obsolete code for running dpkg-buildpackage outside a chroot. - fetch_source_files: + Remove support for building from a directory. + Download sources directly into the chroot build directory. For sources already existing outside the chroot, copy them into the chroot build directory. + Add extra directory, package, version and download arguments. + Only call dsc_md5sums once, rather than twice. - apply_patches: Remove. - get_special: Remove use of @main::global_patches. - Remove SVN Id:. - install_deps: Remove @special use. - unpack_special_source: Remove. - undo_specials: Remove. - filter_dependencies: Remove @special use. - run_script: Remove. - parse_one_srcdep: Remove @special use. - get_special: Remove. - write_srcdep_lock_file: Remove @special use. - check_srcdep_conflicts: Remove @special use. - dump_main_state: New function to dump the program state using Data::Dumper. Use to dump the state after each build. - Add / separators to all users of $main::chroot_build_dir in paths. - Replace all users of regular expressions to strip the chroot dir from paths with strip_chroot_path. - get_dpkg_status: Print debugging messages with defined variables only, to avoid Perl warning. - verify_md5sums: Remove obsolete comment regarding chroots. - check_group_membership: New function to check the user is a member of the sbuild group (Closes: #414064). - Added new command-line argument --arch to specify the architecture, and pass this to begin_session (Closes: 410576). * Sbuild/Chroot.pm: - Remove all special casing for sudo and schroot. schroot is now the only supported method of accessing chroots. - end_session: Only attempt to end a session when $schroot_session is non-empty. - _setup_options: + Remove use of $chroot_only. + Remove trailing / from 'Build Location'. - init: Add newline to debugging message. - strip_chroot_path: New function to strip the chroot location from a path. - log_command: Correctly log commands when no APT Options stripping is needed. - get_command_internal: Set the working directory inside the chroot to the build location. - begin_session: take the architecture as a second argument, and check if a chroot specific for the architecture exists. * Sbuild/Conf.pm: - Don't export $source_dependencies. - Don't define $source_dependencies. - Abort with an error if $source_dependencies is defined. - Don't export $sudo or $chroot_mode. - Don't define $sudo or $chroot_mode. - Remove sudo sanity checks. - Abort with an error if $sudo or $chroot_mode are defined. - Don't export $chroot_only. - Don't define $chroot_only. - Abort with an error if $chroot_only is defined. - Define and export %alternatives. Thanks to Martin Koeppe (Closes: #418060). - Define and export @no_auto_upgrade and %watches. - Remove the requirement for /usr/share/sbuild/sbuild.conf. - Mark deprecated/obsolete variables for removal post-Lenny. - Set defaults from global sbuild.conf. * sbuild.conf: - Remove $source_dependencies. - Remove $sudo. - Remove $chroot_only. - Add and document all options from Sbuild/Conf.pm. - Reorder into sections. - Merge with sbuild.conf.local, and install into /etc/sbuild. * sbuild.conf.local: - Remove $source_dependencies. - Remove. * example.sbuildrc: - Replace all options with documented options from sbuild.conf. - Add additional user-centric options from sbuild.conf. - Reorder into sections. * sbuild.1.in: Document --arch and chroot search order. * sbuild-setup.7.in: - Remove sudo setup. - Update user section to document sbuild group membership and add_sbuild_user. Remove chroot setup, which is now handled by schroot (Closes: #413524). * bin/README.bins: Remove sudo from extra package list. * bin/updatechroot, bin/upgradechroot, bin/chrapt: Remove chroot_mode. * chroot/add_sbuild_user: - Remove sudo setup instructions and copying of /etc/sudoers to the chroot. - Rewrite in perl. Only call adduser; all other chroot setup is taken care of by the 50sbuild schroot chroot setup script (Closes: #413908). * TODO: New file. Document needed changes. -- Roger Leigh Fri, 18 May 2007 17:46:31 +0100 sbuild (0.53) unstable; urgency=low * Sbuild/Conf.pm: Add and export check_watches configuration variable. * sbuild: - Set umask to 022 so that dpkg-buildpackage always runs with a sane umask (Closes: #405836). - check_watches: Don't check watches if check_watches configuration variable isn't set (Closes: #397123). - get_apt_policy: Allow ~ in version numbers. Thanks to Frank Lichtenheld for this patch (Closes: #407293). - When running apt-cache, divert STDOUT to the package log, so that warnings do not get mailed separately (Closes: #399178). - fetch_source_files: + Correct indentation, and error with brace placement which caused apt-cache output to not be used. + Add package information into the key of the %entries hash, in order to cope with multiple packages being returned by apt-cache. Based on a patch by Goswin von Brederlow for Bug #408091. * sbuild.conf: Obsolete $source_dependencies. * sbuild.conf.local: - Add pgp_options from sbuild.conf (Closes: #398128). - Add check_watches. - Obsolete $source_dependencies. * update-sourcedeps, update-sourcedeps.1.in: Remove (Closes: 409642). Thanks to Kenshi Muto for reporting that it no longer works. * debian/rules, debian/manpages, debian/README.Debian: Remove support for update-sourcedeps, and note that sourcedeps support is obsoleted and will be removed in Lenny. -- Roger Leigh Sun, 11 Feb 2007 10:18:12 +0000 sbuild (0.52) unstable; urgency=low * New upstream release. * sbuild: Remove incorrect WannaBuild:: prefix from version_compare. -- Roger Leigh Sat, 21 Oct 2006 21:23:16 +0100 sbuild (0.51) unstable; urgency=high * Urgency is high because this version fixes an RC bug in testing. * Sbuild.pm: Fix handling of ~ in versions (merge from upstream SVN cset 100; Closes: 392752). * sbuild, Sbuild/Conf.pm, sbuild.conf.local: Add support for setting APT policy, to allow building from experimental and sarge-backports. Thanks to Wouter Verhelst for this patch, which has been slightly modified to add configurability and adapt to this version of sbuild. * sbuild: - Don't run md5sum inside the chroot. Thanks to Michael Banck (Closes: #392323). - chroot_arch(): New function to detect build architecture from within the chroot. Thanks to Kees Cook (Closes: #392992). * Sbuild/Conf.pm: Fix check for schroot. Thanks to Julien Danjou for finding this (Closes: #392751). * sbuild-setup.7.in: Correct example commandline for debootstrap. Thanks to Alex Pennace (Closes: #391277). -- Roger Leigh Sat, 21 Oct 2006 10:13:00 +0100 sbuild (0.50) unstable; urgency=low * debian/copyright: Add Alioth file download location. * chroot/add_sbuild_user: - Fix chrapt command examples in output to use correct option syntax, thanks to Matthias Julius (Closes: #381186). - Add SHELL to sudoers env_keep. * sbuild: - dsc_md5sums: Return hashref on failure, rather than -1. - verify_md5sums: Only run md5sum if there is one or more md5sum to verify, to prevent md5sum waiting forever on stdin if there are no files to check. Thanks to Daniel Stone. * Sbuild.pm: Use new binNMU versioning scheme (+bn), taken from wanna-build SVN. Thanks to Clint Adams (Closes: #384137). * Sbuild/Conf.pm: Check sudo does not strip SHELL from the environment. * sbuild-setup.7.in: Document needed addition of SHELL to sudoers env_keep (Closes: #389815). -- Roger Leigh Fri, 29 Sep 2006 14:08:11 +0100 sbuild (0.49) unstable; urgency=low * Sbuild/Conf.pm: init checks if APT_CONFIG and DEBIAN_FRONTEND are being stripped from the environment by sudo (when running in split mode), and aborts with instructions for correctly configuring sudo. This prevents apt-get silently using the configuration from the host system instead of the chroot. * Sbuild/Chroot.pm: When running in split mode, use the -s option of su to set the shell used inside the chroot to /bin/sh. This ensures that a valid shell is always used when the $SHELL is not available inside the chroot (Closes: 378283). * sbuild.conf, sbuild.conf.local, update-sourcedeps, sbuild.1.in, avg-pkg-build-time.1.in: Update to use the new configuration file locations. -- Roger Leigh Sat, 15 Jul 2006 23:42:09 +0100 sbuild (0.48) unstable; urgency=low * Sbuild/Chroot.pm: Use su, rather than sudo, inside the chroot. This prevents the APT_CONFIG and DEBCONF_FRONTEND environment variables from being removed (Closes: #376020). * Sbuild/Conf.pm: Add $Sbuild::Conf::su. * sbuild-setup.7.in: Remove sudo configuration inside the chroot, now this is no longer required. -- Roger Leigh Sun, 9 Jul 2006 18:18:33 +0100 sbuild (0.47) unstable; urgency=low * bin/checkchroot: Correct uninitialised value warnings due to using an undefined variable (Closes: #369709). * bin/chrapt, bin/updatechroot, bin/upgradechroot: When chroot_mode is "schroot", chdir to / to ensure the CWD exists inside the chroot. Thanks for Clint Adams for finding this (Closes: #372806). * sbuild: fetch_source_files: When running apt-cache, check if we got valid output, and warn appropriately if the output is invalid (Closes: #369707). Output may be invalid if there are no deb-src lines in /etc/apt/sources.list in the chroot. * Sbuild/Conf.pm: Remove $Sbuild::Conf::log_dir checks. * Sbuild/Log.pm.in: If $Sbuild::Conf::log_dir does not exist, try to create it, and if this fails, warn and log to stdout (Closes: #369718). -- Roger Leigh Sat, 17 Jun 2006 12:04:36 +0100 sbuild (0.46) unstable; urgency=low * sbuild: - fetch_source_files: Only print "apt-get update" invocation in debug mode. - get_dpkg_status: Make sure $version is defined before checking its value, to ensure the Debian version can have a value of 0. Thanks to Santiago Vila for this fix (Closes: #368066). * Update svn::ignore properties to ignore generated files. * debian/control: - Update to Standards-Version 3.7.2. - Use Build-Depends, rather than Build-Depends-Indep. -- Roger Leigh Sat, 27 May 2006 15:22:02 +0100 sbuild (0.45) unstable; urgency=low * bin/checkchroot: - Check if the dpkg and reference files contained any data, and exit with an error if either were empty (Closes: #363351). - On error, use Sbuild::Utility::shutdown to clean up. * bin/chr-hold, bin/chr-unhold: On error, use Sbuild::Utility::shutdown to clean up. * sbuild: - build: Only print dpkg-buildpackage invocation in debug mode. - uninstall_debs: Only print dpkg invocation in debug mode. * debian/control: Update to Standards-Version 3.7.0. -- Roger Leigh Mon, 1 May 2006 09:48:20 +0100 sbuild (0.44) unstable; urgency=low * avg-pkg-build-time: Use Sbuild::Conf. * bin/checkchroot: Convert to Perl, using Sbuild::Utility. * bin/chrapt: Convert to Perl, using Sbuild::Utility. * bin/chr-hold: Convert to Perl, using Sbuild::Utility. * bin/chr-unhold: Convert to Perl, using Sbuild::Utility. * bin/gochroot: Convert to Perl, using Sbuild::Utility. * bin/updatechroot: - Convert to Perl, using Sbuild::Utility. - chrapt is no longer used (Closes: #355035). - Sbuild::Chroot is used for chroot access: + Suite names are no longer hardcoded (Closes: #355037). + APT Options are set correctly (Closes: #355038). * bin/upgradechroot: Convert to Perl, using Sbuild::Utility. * bin/common_functions: Remove; this is no longer used. * sbuild: - Treat schroot chroots with a "-sbuild" suffix in the same way as chroots without a suffix (Closes: #360124). - Use the new modules Sbuild::Chroot, Sbuild::Conf and Sbuild::Log. The functions moved into the modules have been removed. - Import needed module functions into the local namespace, to avoid long namespace prefixes on functions. - Remove $main::chroot_apt_options. - Move $main::debug to Sbuild::Conf. - Import Sbuild::Conf into package "conf". This allows the package name used by upstream to be used for backward compatibility. - Use $conf::HOME instead of $main::HOME. - Move $main::username to Sbuild::Conf. - Set $main::chroot_dir, $main::chroot_build_dir, $main::srcdep_lock_dir and $main::ilock_file from the current chroot $Sbuild::Chroot::current. $main::srcdep_lock_dir replaces $conf::srcdep_lock_dir (which is still used to set when the chroot is set up). - Pass $main::distribution to open_log and open_pkg_log. - Remove $main::cwd, $main::nolog and $main::verbose, now provided by Sbuild::Conf. They are imported from Sbuild::Conf for backward compatibility. - Remove unused $main::HOSTNAME. - Add build statistics to close_pkg_log. - Die if no maintainer_name, uploader_name or key_id is specified. - Set and unset $main::binNMU_name in the main loop, rather than when opening and closing the package log. In consequence, open_pkg_log now needs the package name only, and close_pkg_log does not need the package name passing. - build: + Set $firstline to "" to quell a warning. + Use debian_files_list to check for missing or extra packages, and warn appropriately. + Delete erroneous _all.deb files (Closes: #357042). - Don't use File::Temp (only needed by modules). - Remove build directory check. - Use File::Basename::basename instead of Sbuild::basename. - Don't import internal Sbuild::Chroot functions. - Split verify_dsc_md5sums into two parts: dsc_md5sums and verify_md5sums. - debian_files_list: New function to parse debian/files. * Sbuild/Chroot.pm: - New perl module for chroot operations. It contains the functions begin_session, end_session, log_command, get_command_internal, get_command, run_command, exec_command, get_apt_command_internal, get_apt_command and run_apt_command. - Don't export init and log_command. - Don't hardcode a list of chroots; use a glob to search for chroot-* instead. This allows any distribution name to be specified with -d. - Add an "APT Options" attribute to the chroot hash, to replace $main::chroot_apt_options. - Use STDERR instead of PLOG (which may not be available). - Replace $main::debug with $Sbuild::Conf::debug. - Replace $main::username with $Sbuild::Conf::username. - begin_session takes the distribution as its first argument, rather than using $main::distribution. - Don't use $main::chroot_dir. Add the build paths as 'Build Location', 'Srcdep Lock Dir' and 'Install Lock' to the chroot metadata. - Use File::Temp. - Don't export "internal" functions. - _setup_options: Set "APT Options" for schroot chroots. - log_command: Don't substitute CHROOT_APT_OPTIONS when no APT options are in use. * Sbuild/Conf.pm: - New perl module for configuration variables. It reads the system and user configuration. - Add $debug. - Add $username. - Add $cwd, $nolog and $verbose. They exported and used by the other modules in place of the variables in the main package. - Add and export $avg_time_db, $avg_space_db, $maintainer_name, $uploader_name and $key_id. - Add build directory check (moved from sbuild). * Sbuild/Log.pm: - New perl module for logging. It contains the functions open_log, close_log, open_pkg_log, close_pkg_log, add_time_entry, add_space_entry, send_mail and log_symlink. - $main::main_logfile and $main::pkg_logfile are package variables. - Removed use of $main::distribution. The distribution name must be passed to open_log or open_pkg_log. - Don't use $main::HOSTNAME or $main::arch. Get the values directly. - open_pkg_log: Save the package name for future use; the binNMU name (if any) is passed, so this no longer needs computing. - close_pkg_log: + Obtain $main::pkg_status, $main::pkg_start_time, $main::pkg_end_time and $main::this_space from the function arguments. + Don't pass the package name, which was saved in open_pkg_log. - add_space_entry: Use $space rather than $t, and don't use $main::this_space. - Use File::Temp. - Use File::Basename::basename instead of Sbuild::basename. * Sbuild/Utility.pm: New perl module for utility programs. This is a perl replacement for bin/common_functions. * bin/checkchroot: - Quote all variables. - Sort ref-chroot file before diffing (Closes: 360058). * avg-pkg-build-time.1.in, sbuild.1.in, sbuild-setup.7.in, update-sourcedeps.1.in, Sbuild/Log.pm.in: Rename and embed version and date tags for substitution. * COPYING: New file (GPL licence text). * debian/control: Update uploaders. * debian/copyright: - Update with new subversion repository locations for upstream and Debian. - Add Roger Leigh as a copyright holder. - Add a reference to /usr/share/common-licenses/GPL. * debian/dirs: Add usr/share/perl5/Sbuild. * debian/rules: - Install Sbuild/Chroot.pm, Sbuild/Conf.pm, Sbuild/Log.pm and Sbuild/Utility.pm into /usr/share/perl5/Sbuild. - Generate all manual pages and Log.pm in the build rule, and remove them in the clean rule. -- Roger Leigh Fri, 7 Apr 2006 09:47:00 +0100 sbuild (0.43) unstable; urgency=low * sbuild: - verify_dsc_md5sums(): New function to verify the MD5SUM of files in a .dsc file. - Add $conf::md5sum for security. - fetch_source_files(): + Use verify_dsc_md5sums to check for incomplete downloads, and redownload sources if needed; also verify again after download (Closes: #270439). + Remove redundant braces and reindent. - build(), shutdown(): Quote kill command correctly (Closes: #356686). - When using schroot, look for a distribution named "$distribution-sbuild" in preference to "$distribution". - open_log(), open_pkg_log(): + Use fork() rather than tee to multiplex log output. + Don't buffer log output (Closes: #358717). - close_log(), close_pkg_log(): Close all dup'd log streams, and don't kill the child log processes, which avoids dataloss in the pipeline. - log_symlink(): New function to create a symbolic link to the current package log. This replaces the use of /bin/ln, which has races if concurrent builds use it. - open_log(), close_log(): + Save a references to the initial STDOUT and STDERR, and restore them when the log is closed. + Create the build log using File::Temp, in the form build-distribution-date.XXXXXX.log. This prevents races during logfile creation when running concurrent builds. If the file is empty, it is unlinked on close, irrespective of whether verbose mode is used or not. - open_pkg_log(): Use the saved STDOUT for verbose logging. This prevents the package log being also directed to the build log. - setup_options(): Remove unused call to tmpnam(). - check_dependencies(): Print kernel information along with the toolchain package versions, in the same style as reportbug. - build(): Check for _all.udeb files which are built when they shouldn't (merge from upstream SVN cset 98). - Strip "./" from $pkg, so the name used for source dependencies is correct (Closes: #359747). - Add --force-orig-source option to force the inclusion of the .orig.tar.gz (Closes: #318030). - Add $conf::force_orig_source to allow --force-orig-source to be specified in a .sbuildrc. * sbuild.1: + Document schroot chroot naming. + Document --force-orig-source option. + Correctly escape hyphens in option and file names. * sbuild-setup.7: Use debootstrap rather than cdebootstrap. * bin/common_functions: Allow any chroot name to be specified (Closes: #356785). * bin/README.bins: Document changed chroot syntax. * bin/checkchroot: Set LC_COLLATE=POSIX to prevent collation issues (mismatches with the reference file; Closes: #294883). * bin/common_functions, bin/README.bins: Remove ~/build/ from the chroot path, to match sbuild behaviour of searching in the current directory (Closes: #355034). * chroot/README-buildd.chroot: Fix typo. * chroot/buildd.chroot: Use debootstrap rather than cdebootstrap (Closes: #358668). * debian/control: Recommend debootstrap rather than cdebootstrap. * example.sbuildrc: Add example $force_orig_source, with documentation. -- Roger Leigh Wed, 29 Mar 2006 14:58:32 +0100 sbuild (0.42) unstable; urgency=low * sbuild: - get_apt_command_internal(): Always add $main::chroot_apt_options. - log_command(): Add an additional priority argument. If nonzero, the message is always logged, otherwise is only logged if debug is enabled. - get_command_internal(): When running schroot, preserve the user environment, needed for APT_CONFIG, DEBIAN_FRONTEND, etc.. - get_command(), run_command(), exec_command(), get_apt_command(), run_apt_command(): + chdir to $main::cwd to make sure the directory location also exists inside the chroot. + Add an additional priority argument to control the urgency of the log message, and pass this to log_command(). - get_virtuals(): Remove usage of $main::chroot_apt_options, which is added automatically by get_apt_command(). - get_command(), run_command() and exec_command() only log the full command when debugging is enabled, otherwise only the short form is logged (Closes: #355043). - setup_options(): + Ensure APT_CONFIG is set to the correct path depending upon the chroot_mode. $chroot_aptconf is the absolute path to the file from the host system, while $aptconf is the absolute path when apt is run. + Only set $main::chroot_apt_options when chroot_mode is "split". + Always regenerate apt.conf, because when chroot_mode is changed, it will break APT unless rewritten. + Don't set "Dir" in $chroot_aptconf when in chroot_mode is "schroot" (because apt is run inside the chroot). - Remove setpgrp() calls, so that all child processes run in the same process group as the parent. - Add a $conf::sbuild_mode, used to switch behaviour between user and buildd defaults. The default is "buildd". This allows package build errors to be reported (Closes: #170742). - Add a --quiet option, the opposite action to --verbose. - open_pkg_log(): + Use correct Sbuild:: namespace for binNMU_version (Closes: #355861). + Create current-distribution symlink in addition to current. - Set the in the environment SHELL=/bin/sh, in case the user invoking sbuild uses a shell not available inside the chroot. - Remove unused variables @dist_parts and $main::nomail. - Use correct use syntax for File::Temp and Cwd, and initialise a number of variables which would otherwise be undefined, in order to remove run-time warnings. - Add a number of checks for undefined variables to remove run-time warnings. - Add -w to the shebang line, so sbuild always runs with warnings enabled. - All exec commands other than writing logfiles now use exec_command, so they get logged. - Require /usr/share/sbuild/sbuild.conf and optionally require /etc/sbuild/sbuild.conf. - Use named signals, rather than numbers, for portability. - close_log(), close_pkg_log: If verbose is enabled, flush the log and wait a second before killing tee, to prevent data loss in the pipeline. - $main::verbose is set by default if running on a tty (Closes: #355802). - LOG and PLOG are set to autoflush using IO::Handle. - $conf::build_dir defaults to $main::cwd if undefined. It is used as the directory containing the build chroots, build logs, and current symlinks (Closes: #183022). - Always print toolchain packages. This is done by always calling merge_pkg_build_deps(), and running all the way through install_deps(), even when the package does not supply any build dependencies or conflicts (Closes: #355040). - install_deps(): + If there are no package dependencies, create an empty anonymous array reference to hold the (nonexistent) dependencies, required by filter_dependencies. + Make sure %entries is initialised. - fetch_source_files(): Check that the dsc specified is valid. * sbuild.conf: Don't require local config file. * sbuild.conf.local: Add $sbuild_mode, defaulting to "buildd". * example.sbuildrc: Add $build_dir example. * sbuild.1: Document --quiet. * sbuild-setup.5: - Split chroot setup and user setup into two sections. - Document sudoers env_keep setup (Closes: #355072, #355604). * Sbuild.pm: Remove unused module 'IO'. * chroot/add_sbuild_user: Add sudoers env_keep example. * debian/README.Debian: Document existence of sbuild-setup(7). * debian/control: - Depend on perl-modules (for File::Temp). - Recommend schroot 0.2.7 or later (for preserving the environment). * debian/dirs: Add etc/sbuild. * debian/rules: - Remove "make clean" in clean target; there is no Makefile, so this is redundant. - Install sbuild.conf as /usr/share/sbuild/sbuild.conf and sbuild.conf.local as /etc/sbuild/sbuild.conf. * debian/preinst: - New conffile. - Remove /etc/sbuild.conf.local if not locally modified. * debian/postinst: - Move /etc/sbuild.conf.local to /etc/sbuild/sbuild.conf if needed. - Reindent. * debian/postrm: - Unlink /etc/sbuild.conf if present. - Unlink files under /var/lib/sbuild. - Reindent. -- Roger Leigh Mon, 13 Mar 2006 00:14:00 +0000 sbuild (0.41) unstable; urgency=low * sbuild: - setup_options(): Set $main::chroot_apt_options in the same manner as upstream. - setup_options(): Correct usage of a scalar reference rather than the scalar $main::chroot_dir (Closes: #354520). -- Roger Leigh Mon, 27 Feb 2006 19:07:59 +0000 sbuild (0.40) unstable; urgency=low * sbuild: - Fix typos in debug statement ($main::distribution rather than $main::distribtion, and $main::schroot_session rather than $main::scroot_session). Thanks to Adeodato Simó for this fix (Closes: #354456). - get_schroot_info(): Parse schroot "--info" Path (chroot location) output. - get_schroot_info(): Parse schroot "--info" Type (chroot type) output, and if "plain", always set $main::dist_sessioncaps to 0 ("plain" chroots may say they are session-managed, but do not support full session management, so they always need cleaning). * debian/control: - Recommend schroot (>= 0.2.5), for its "Path" information in --info output, used for determining the chroot location. -- Roger Leigh Sun, 26 Feb 2006 22:19:04 +0000 sbuild (0.39) unstable; urgency=low * sbuild: - fetch_source_files(): Merge from upstream SVN (cset 94); Strip trailing whitespace from each line in $dscfile/debian/.sbuild-build-deps early on, making all subsequent regexes simpler. - Update copyright notice (add myself as a copyright holder). - Add %main::sessioncaps to store whether or not a chroot is session-capable. Check the schroot "Session Managed" attribute to determine session capability. - If a chroot is session-capable, skip running uninstall_deps() (thanks to Reinhard Tartler). - Add debugging messages for distribution selection and schroot session creation (thanks to Reinhard Tartler). * debian/control: - Recommend schroot (>= 0.2.3-2), for its "Session Managed" information in --info output, used for skipping chroot cleanup. -- Roger Leigh Tue, 21 Feb 2006 23:44:19 +0000 sbuild (0.38) experimental; urgency=low * Full sudo access is no longer mandatory when using the schroot chroot_mode (Closes: #287669, #331506). * schroot session management is now fully implemented and completely functional. * sbuild: - Move schroot metadata parsing to a separate function, get_schroot_info(). Parse both "Location" (for backwards-compatibility) and "Mount Location". - Move path and APT setup into a separate function, setup_options(). - Remove check_dpkg_version(). This has not been necessary since the release of potato (Debian 2.2), which had a dpkg version 1.6.14. - When $chroot_mode == "schroot", clear %main::dist_order and %main::dist_locations using an empty array, rather than undef. - New functions get_command(), run_command(), get_apt_command() and run_apt_command() to run a command inside or outside the build chroot under the specified user, or run apt inside or outside the chroot (depending on the chroot_mode), respectively. - New function exec_command(). This is the same as run_command(), but runs the command with exec rather than system(). - New functions log_command() to log a command being run, get_command_internal() and get_apt_command_internal() to get a command string without logging it; these are used by get_command(), run_command, exec_command(), get_apt_command() and run_apt_command(), which do log the command being run. Commands are logged in for all chroot modes. - get_apt_command() and run_apt_command() take an additional parameter, the command to run (apt-get or apt-cache). - get_apt_command() and run_apt_command() take an additional parameter, the user to run as, because not all commands need (or should) run as root. - Use new commands for running commands inside and outside chroots: + Signing options for dpkg-buildpackage are double-quoted rather than single-quoted (because the main command is single-quoted). + All commands run in a pipeline are obtained with get_command() or get_apt_command(). + All other commands are run with run_command(), exec_command() or run_apt_command(). + check_space() only requires root access in the chroot. - Add schroot session management. Sessions are created, run and removed automatically. The current session is stored in $main::schroot_session. setup_options is called once per build, in order to set up the session options. - Add missing newline to log message. * sbuild.1: - Update outdated information. - Correct macro usage and reindent. - Correct command-line summary (Closes: #311589). * sbuild-setup.7: New manpage. This describes how to set up a chroot (Closes: #311363). * avg-pkg-build-time.1: Clean up. * update-sourcedeps.1: Clean up. * sbuild.conf: $schroot_options defaults to "-q" to match the built-in default. * example.sbuildrc: Single quote example email addresses in $maintainer_name, $uploader_name, and $key_id (Closes: #341327). * chroot/buildd.chroot: - Use "set -e" to abort on all errors (Closes: #342357). - Correctly quote all shell variables. - Use cdebootstrap rather than debootstrap. * chroot/buildd.chroot.pre-sarge: Remove. * chroot/README-buildd.chroot.pre-sarge: Remove (Closes: #308065). * debian/control: - Recommend schroot. - Recommend cdebootstrap rather than debootstrap. * debian/README.Debian: Update information about src-deps and schroot. -- Roger Leigh Wed, 15 Feb 2006 18:13:23 +0000 sbuild (0.37) unstable; urgency=low * Sync with upstream SVN: - avg-pkg-build-time, avg-pkg-build-time.1, sbuild, sbuild.1, update-sourcedeps, update-sourcedeps.1: Update copyright notices with current FSF postal address. - sbuild: + Split changes files sent in the log every 989 characters, to better conform to mail RFCs. + Always show versions of installed build dependencies. + Always purge packages when building in a chroot. + Output purged packages line by line, rather than all at once. + Use strftime() and getpwuid() instead of the external commands date and whoami. + Use /var/lib/sbuild/apt.conf if it exists, and create it if it does not. This fixes the problem of the root filesystem /etc/apt/apt.conf and /etc/apt/apt.conf.d directories being used, while the copies in the chroot filesystem are ignored. + Allow arch: all packages to be built when $main::build_arch_all is true. + Hardware DEBIAN_FRONTEND to "noninteractive" when installing and purging packages. "apt-get update" is also run when the package cache is out of date (closes: 331546). + Fix support for '~' in version numbers. + Add Sbuild.pm (upstream WannaBuild.pm), and replace version_cmp() with Sbuild::version_compare(). + Add REDO support for binNMUs. + Add stats generation for download+install, build and remove times. + Disassociate from the controlling terminal and make stdin /dev/null for the dpkg-buildpackage process. + Don't create entries to the sbuild log when a package claims to build an _all.deb, but doesn't. Instead, warn to the build log. + Delete binary-all packages that we didn't ask to be built. + By default, set APT::Get::AllowUnauthenticated to "true". + Add $conf::chroot_only for compatibility with upstream (closes: #302628). + Add $conf::dpkg_source. + Add $conf::build_env_cmnd. + Merge whitespace and indentation changes. + Fix typos. + shutdown(): Don't close the package log if there is no current job. + read_build_essential(): Read build-essential from $main::chroot_dir instead of the root filesystem. + Add @main::toolchain_pkgs and @toolchain_regex. + check_space(): Redirect stderr of du to /dev/null. + run_apt(): Complete support for "install-deps-env". + Add --use-snapshot for building with gcc-snapshot. + build(): Remove dpkg-buildpackage debugging statements. + merge_pkg_build_deps(): Correctly separate dependencies in $deps, and don't immediately return if there are missing packages. + Remove support for --store-built-packages. + get_dpkg_status(): Check $version is set and compute $result in the same manner as upstream. + run_apt(): Remove '*' from $pkgs and $rpkgs. + install_deps(): purge packages with "dpkg --set-selections". schroot support added in addition to upstream changes. + fetch_source_files(): Support versioned fetches with apt-get. + Add support for auto_giveback_socket: add an extra argument to --auto-give-back and add an ssh '-S' option to analyze_fail_stage(). + Support new --make-binNMU options. + Add support for $conf::chroot_only, and default to only running in a chroot for security and safety. + cleanup_close: Set $main::current_job to "" and shutdown if $main::HOME/EXIT-DAEMON-PLEASE exists and we are running in batchmode. + Move "Package claims to have built" error message to the same place as upstream. - sbuild.conf: + Remove watches. + Update alternatives (closes: #280689). + Comment out example %individual_stalled_pkg_timeout. + Empty @ignore_watches_no_build_deps. - sbuild.conf.local: + Add $chroot_only. - avg-pkg-build-space.1: Update text. - example.sbuildrc: + Remove $hack_changes_for_frozen. + Update comments. * sbuild.conf.local: - Use FHS-compliant pathnames, as in sbuild.conf. * Add support for building from experimental. * sbuild: - Parse the .changes rather than debian/files, so that the .dsc/.diff.gz/.orig.tar.gz are also copied back to ~/build. - Print information and contents of arch-all packages (closes: #321640). * debian/control: The maintainer field contains the list address. -- Roger Leigh Tue, 31 Jan 2006 12:58:57 +0000 sbuild (0.36) unstable; urgency=low Roger Leigh: * debian/changelog: Convert to UTF-8. * sbuild: - Don't fail in the absence of central sourcedeps. These are no longer required now source packages are required to have build dependencies, so this should not be fatal. - Added support for schroot: + Added $conf::chroot_mode. This may be set to "split" (the historical default), or "schroot" (use schroot instead of sudo). + All operations using sudo now check the value of $chroot_mode, and use sudo or schroot accordingly. + When using schroot, %main::dist_order is filled using the schroot chroot priorities. + Added %main::dist_locations to store the location of the available chroots. - Print a readable error if a chroot does not exist. * debian/control: Update to Standards-Version 3.6.2. * debian/copyright: Use the new FSF address. * debian/conffiles: Remove. * debian/rules: - Use debhelper version 4 compatibility mode. - Move the find -maxdepth option to before non-option arguments, to fix find warnings. - Remove template comments. - avg-pkg-build-space symbolic link should be relative. -- Roger Leigh Sun, 11 Sep 2005 10:02:19 +0100 sbuild (0.35) unstable; urgency=low Michael Banck: * bin/abort-current-build: Remove the `-B' from the grep line as `sbuild -s' does not pass that option to dpkg-configure and abort- current-build fails in that case. * sbuild: Set the locale to `POSIX' to make debconf and debhelper calls in the chroot not spew out locale warnings all the time. (closes: #287672) * sbuild: Removed check for specific distributions. Instead, fail if build/chroot-$dist is not there. * sbuild: Only override Distribution in .changes if specified as option on the command-line. (closes: #300145) * sbuild: Specify full path for Dir::Etc::main and Dir::Etc::parts. * example.sbuildrc: Clarify that $maintainer_name is not mandatory and overrides Maintainer: field, whereas $uploader_name overrides the Changed-By: field in changes. * Applied patch by Santiago Vila: - Moves scripts from /usr/lib/sbuild to /usr/share/sbuild and modifies all callers accordingly. - Add -n option to tail to comply with POSIX. - Call /usr/sbin/sendmail instead of /usr/lib/sendmail. (closes: #292717) * sbuild: Tolerate '0' as version number, thanks Santiago Vila. (closes: #300205) -- Michael Banck Fri, 1 Apr 2005 21:23:30 +0200 sbuild (0.34) unstable; urgency=high Francesco Paolo Lovergine: * Removed searchscripts recommendation in debian/control. That was requested by ppack now removed in archive. (closes: #272318) * checkchroot now uses grep-dctrl, thanks Clint Adams. Introduced dependency from grep-dctrl due to checkchroot. (closes: #260881,#265994) * Updated ref-* files for unstable and testing as well as the related README file. * This is the first revision CVS-enabled. -- Francesco Paolo Lovergine Sat, 25 Sep 2004 17:42:57 +0200 sbuild (0.33) unstable; urgency=low * Man page sbuild.1 revised. -- Francesco Paolo Lovergine Thu, 16 Sep 2004 16:42:18 +0200 sbuild (0.32) unstable; urgency=low * Added ~ as a legal character for debian version (post-sarge). * A few minor changes in README.chroot-buildd and man page. * Added -k and -e options as overriding for -m default in package signing. Man page changed to reflect new features. (closes: #260870) * Removed the CVS log variable in sbuild in order to import a new sane tree onto Alioth repo. Old logs are now stored in a new cvslogs.old file. * Minor revisions to ducumentation files. * Added Michael Banck as Uploader. -- Francesco Paolo Lovergine Thu, 16 Sep 2004 16:14:27 +0200 sbuild (0.31) unstable; urgency=low * Patch for #239339 revised: Escaping to manage correctly possible nested RE. (closes: #268712) Doing removes only in chroot environment. (closes: #264834). * Changed a bit man page to clarify better synopsis. (closes: #265998) -- Francesco Paolo Lovergine Sat, 28 Aug 2004 21:27:12 +0200 sbuild (0.30) unstable; urgency=high The "later better than never" release. Thanks Michael Banck, Martin Michlmayr and other submitters for useful patches. * example.sbuildrc now return 1 to satisfy perl require syntax. (closes: #228410) * Now copies the orig.tar.gz into $(CHROOT)/build// for non-native packages. (closes: #239339) * Corrected abort-current-build to manage correctly ps output. (closes: #249995) * Now should manage packages which provides the same pkgs of other yet installed ones. (closes: #259315) * build.chroot rewritten to use dbootstrap straight on. (closes: #235726,#228412,#228412) * Using dh_installman instead of obsolete dh_installmanpages. Added debian/manpages for that. * Alternatives modified for current ones in testing/sid. (closes: #228792) -- Francesco Paolo Lovergine Tue, 3 Aug 2004 18:21:22 +0200 sbuild (0.29) unstable; urgency=low * Now depends on exim4 (closes: #228591) * Non "noninteractive" is in lowercase currently. (closes: #228800) * Added /usr/bin/avg-pkg-build-space as symlink to /usr/bin/avg-pkg-build-time (closes: #228445) * add_sbuild_user corrected to show the true path of example.sbuildrc (closes: #228411) * removing obsolete packages in sid, and updated required ones (closes: #220932) * README.buildd-chroot updated (closes: #220933) -- Francesco Paolo Lovergine Fri, 23 Jan 2004 20:09:56 +0100 sbuild (0.28) unstable; urgency=low * Using latest instead of lastest. (closes: #202740) * Changing dependencies in buildd.chroot for current gcc. (closes: #180447) * Configuration examples now moved into /usr/share/doc/sbuild/examples Man changed as consequence. (closes: #208965) * Policy bumped to 3.6.1. -- Francesco Paolo Lovergine Tue, 11 Nov 2003 16:21:33 +0100 sbuild (0.27) unstable; urgency=low * sg is not available in hurd, removed in postinst and postrm (patch by Michael Banck). (closes: #206270) -- Francesco Paolo Lovergine Wed, 20 Aug 2003 09:03:41 +0200 sbuild (0.26) unstable; urgency=low * Ugh! Wrong control file. Now really updated as needed. (closes: #191203) -- Francesco Paolo Lovergine Fri, 20 Jun 2003 15:54:11 +0200 sbuild (0.25) unstable; urgency=low * New maintainer. Uploaders: Roger Leigh (closes: #191203) -- Francesco Paolo Lovergine Fri, 20 Jun 2003 15:17:25 +0200 sbuild (0.24) unstable; urgency=low * remove -qq from apt-get call in the updatechroot script * fix upgradechroot output and add -u to -y * added oldstable to distribution options * fix for dependency calculation for --arch-all builds from Martin Kögler (Closes: #180859) * libpng-dev => libpng12-0-dev in sbuild.conf * add dpkg-dev to package dependencies - thanks Michael Banck (Closes: #182234) * chroot building fix and waldi's patch still to come -- Rick Younie Sat, 19 Apr 2003 14:41:03 -0700 sbuild (0.23) unstable; urgency=low * fixed chroot building - thanks Matt Kraai for the patch and the heads-up - Closes: #167822 * use separate stable and testing/unstable required lists * updated the ref-* package lists * added -o/oldstable option to the helper scripts and fixed their usage strings -- Rick Younie Wed, 6 Nov 2002 06:07:22 -0800 sbuild (0.22) unstable; urgency=low * dpkg --root isn't fixed so use ppack for the checkchroot script, recommend searchscripts instead of suggest * add a note to README.Debian and the man page that sbuild must be run in ~/build (or wherever the chroot-* symlink is) for sbuild to find the chroot (thanks Otavio) -- Rick Younie Sat, 14 Sep 2002 19:38:16 -0700 sbuild (0.21) unstable; urgency=low * the new dpkg has gone into testing so add dselect to the buildd.chroot required list there as well -- Rick Younie Mon, 19 Aug 2002 22:35:24 -0700 sbuild (0.20) unstable; urgency=low * added a note that the original tarball has to be in the sbuild work directory $CHROOT/build/ for an "sbuild --source" build * removed the old potato chroot description; it can be gotten from the woody version of the package if needed * have sbuild make a ~/build/current symlink to the current build log -- Rick Younie Sat, 17 Aug 2002 09:26:55 -0700 sbuild (0.19) unstable; urgency=low * ref-stable = woody * re-added deborphan, searchscripts Suggests * add a note about setting up .sbuildrc * have sbuild, chrapt ignore base apt.conf{,.d} * handle dpkg/dselect unstable split in buildd.chroot; copy over /etc/hosts to chroot -- Rick Younie Sat, 20 Jul 2002 06:26:05 -0700 sbuild (0.18) unstable; urgency=low * split ref-testing from ref-unstable instead of symlink as they differ now * unstable dpkg --root is broken currently so use ppack instead of dpkg for checkchroot * don't 'touch' downloaded source; in buildd context, buildd-watcher should use ctime not mtime to look for old files * add a blurb about using chrapt to finish off the chroot build, in case debootstrap doesn't quite get it right -- Rick Younie Sat, 20 Jul 2002 06:26:05 -0700 sbuild (0.17) unstable; urgency=low * removed debconf-utils from unstable reference list * include Ryan's sbuild changes to allow the buildds to autobuild for security * include Ryan's debootstrap script for chroot building * the SBUILD_CHROOT_ROOT environment variable is gone. The chroots are now found by the ~/build/chroot-$DIST symlinks or absolute path. * moved the helper scripts to /usr/lib/sbuild * wrong switch so the 0.5 changelog was skipped; again, Closes: #138915 * create blank source-dependencies files on install -- Rick Younie Thu, 11 Jul 2002 01:22:56 -0700 sbuild (0.6) unstable; urgency=low * added dobuildlog, a shell script for processing build logs: file a bug, sign the changelog, reply to buildd if you're an admin * recommend fakeroot instead of depend as some arches don't have it. (Closes: #145753) -- Rick Younie Fri, 3 May 2002 22:22:41 -0700 sbuild (0.5) unstable; urgency=low * fix copyright file lintian errors * added ~/.wgetrc warning to man update-sourcedeps man page, Closes: #138915 -- Rick Younie Wed, 10 Apr 2002 00:27:25 -0700 sbuild (0.4) unstable; urgency=low * made /etc/sbuild.conf a conffile - thanks Gergely Nagy. (Closes: #136374) -- Rick Younie Sun, 3 Mar 2002 21:51:51 -0800 sbuild (0.3) unstable; urgency=low * added mailfrom config item so the msg body From: can be overridden * noninteractive -> Noninteractive for Ryan Murray * (re-)added conffile sbuild.conf.local for local changes that aren't suitable for ~/.sbuildrc * removed the bashrc & profile example files; they were part of my original local sbuild deb and are just clutter -- Rick Younie Sat, 23 Feb 2002 11:44:12 -0800 sbuild (0.2.5) unstable; urgency=low * add From/To headers to sbuild mail - thanks Gergely Nagy (Closes: #129850) * added deborphan to Suggests; -f is useful for finding the minimal chroot for an arch -- Rick Younie Fri, 18 Jan 2002 18:46:33 -0800 sbuild (0.2.4) unstable; urgency=low * Closes: #120309 (the ITP) * the sbuildrc:$source_dependencies config item got lost * removed Phil Blundell's apt "Replaces:" patch. This is a workaround for an apt weakness that shouldn't be depended on. * added fakeroot dependency. Thanks Michael Schmitz. -- Rick Younie Thu, 8 Dec 2001 05:55:08 -0800 sbuild (0.2.3) unstable; urgency=low * show all changes in initial *.changes -- Rick Younie Thu, 6 Dec 2001 05:55:08 -0800 sbuild (0.2.2) unstable; urgency=low * don't copy /etc/fstab to chroot -- Rick Younie Sun, 2 Dec 2001 00:34:38 -0800 sbuild (0.2.1) unstable; urgency=low * dpkg-buildpackage craps out on the unknown -d switch in the stable chroot. -- Rick Younie Fri, 30 Nov 2001 06:53:24 -0800 sbuild (0.2) unstable; urgency=low * Initial package -- Rick Younie Thu, 8 Nov 2001 00:18:34 -0800 debian/control0000664000000000000000000000671412235714702010606 0ustar Source: sbuild Section: devel Priority: extra Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian buildd-tools Developers Uploaders: Michael Banck , Roger Leigh , Francesco Paolo Lovergine Build-Depends: debhelper (>> 7.0.0), groff-base, perl-modules, libexception-class-perl, libfilesys-df-perl, libio-zlib-perl, libmime-lite-perl, libdpkg-perl (>= 1.15.5) Standards-Version: 3.9.4 Vcs-Browser: http://git.debian.org/?p=buildd-tools/sbuild.git Vcs-Git: git://git.debian.org/git/buildd-tools/sbuild XS-Testsuite: autopkgtest Package: libsbuild-perl Architecture: all Section: perl Depends: ${misc:Depends}, ${perl:Depends}, perl-modules, libexception-class-perl, libfilesys-df-perl, libio-zlib-perl, libmime-lite-perl, adduser, apt, apt-utils, exim4 | mail-transport-agent, dpkg-dev, devscripts (>= 2.10.26), dctrl-tools, schroot (>= 1.4.22), libdpkg-perl (>= 1.15.5) Replaces: sbuild (<= 0.58.4-1) Description: Tool for building Debian binary packages from Debian sources The sbuild suite of programs (wanna-build, buildd and sbuild) are used to build binary packages from source packages. The wanna-build database tracks packages which require building; buildd schedules work from information it gets from the wanna-build database; sbuild does the actual package building. . This package contains the core library modules used by these programs. Package: sbuild Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, perl-modules, libsbuild-perl (= ${source:Version}), adduser, apt-utils Recommends: fakeroot, debootstrap Suggests: wget, deborphan Description: Tool for building Debian binary packages from Debian sources The sbuild suite of programs (buildd and sbuild) are used to build binary packages from source packages. sbuild does the actual package building. . sbuild uses chroots to build packages, which act as virtual, minimal operating system installations dedicated to package building. This means that a number of environments may be used for building simultaneously on the same machines, for example stable, testing, unstable and experimental. When coupled with schroot to create snapshots of chroots, sbuild may be used to build many packages in parallel. A chroot envionment allows packages to be built in a controlled, clean environment. sbuild installs only essential and build-essential packages, plus those in the package build dependencies. Package: buildd Architecture: all Depends: ${misc:Depends}, ${perl:Depends}, libsbuild-perl, adduser, sbuild (>= ${source:Version}), sbuild (<< ${source:Version}.1~), dupload, cron, exim4 | mail-transport-agent, libyaml-tiny-perl Suggests: wanna-build Replaces: sbuild, ubuntu-dev-tools (<= 0.83) Breaks: ubuntu-dev-tools (<= 0.83) Description: Daemon for automatically building Debian binary packages from Debian sources The sbuild suite of programs (buildd and sbuild) are used to build binary packages from source packages. The wanna-build database tracks packages which require building; buildd schedules work from information it gets from the wanna-build database; sbuild does the actual package building. . buildd is a daemon which will build Debian packages automatically using the wanna-build database to identify which packages need to be built. Note that the wanna-build database is not packaged, and requires installing separately. debian/sbuild.docs0000664000000000000000000000000511506707234011324 0ustar NEWS debian/sbuild-db.install0000664000000000000000000000027612047436467012447 0ustar debian/install/usr/bin/sbuild-db usr/bin debian/install/usr/share/sbuild/db usr/share debian/install/usr/share/man/man1/sbuild-db* usr/share/man/man1 debian/patches/0000775000000000000000000000000012235714702010622 5ustar debian/patches/run-pre-build-hooks-as-root.patch0000664000000000000000000000417212235714702017037 0ustar Description: Run pre-build hooks as root Forwarded: yes, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608840 Origin: vendor Author: Kees Cook Last-Update: 2011-08-18 Index: sbuild-0.64.0/lib/Sbuild/Build.pm =================================================================== --- sbuild-0.64.0.orig/lib/Sbuild/Build.pm 2013-09-03 09:07:18.454208694 -0400 +++ sbuild-0.64.0/lib/Sbuild/Build.pm 2013-09-03 09:07:18.450208694 -0400 @@ -1000,6 +1000,11 @@ my $log_output = shift; my $log_error = shift; my $chroot = shift; + my $force_root = shift; + + if (!defined($force_root)) { + $force_root = 0; + } # Used to determine if we are to log from commands my ($out, $err, $defaults); @@ -1020,9 +1025,11 @@ $defaults = $self->get('Session')->{'Defaults'}; $out = $defaults->{'STREAMOUT'} if ($log_output); $err = $defaults->{'STREAMERR'} if ($log_error); + my $user = $self->get_conf('BUILD_USER'); + if ($force_root) { $user = "root"; } $self->get('Session')->run_command( { COMMAND => \@{$command}, - USER => $self->get_conf('BUILD_USER'), + USER => $user, PRIORITY => 0, STREAMOUT => $out, STREAMERR => $err, @@ -1055,11 +1062,13 @@ # Create appropriate log message and determine if the commands are to be # run inside the chroot or not. my $chroot = 0; + my $force_root = 0; if ($stage eq "pre-build-commands") { $self->log_subsection("Pre Build Commands"); } elsif ($stage eq "chroot-setup-commands") { $self->log_subsection("Chroot Setup Commands"); $chroot = 1; + $force_root = 1; } elsif ($stage eq "chroot-cleanup-commands") { $self->log_subsection("Chroot Cleanup Commands"); $chroot = 1; @@ -1093,7 +1102,7 @@ } my $command_str = join(" ", @{$command}); $self->log_subsubsection("$command_str"); - $returnval = $self->run_command($command, $log_output, $log_error, $chroot); + $returnval = $self->run_command($command, $log_output, $log_error, $chroot, $force_root); $self->log("\n"); if (!$returnval) { $self->log_error("Command '$command_str' failed to run.\n"); debian/patches/do-not-install-debfoster-into-chroots.patch0000664000000000000000000000125512235714702021113 0ustar Description: Do not install debfoster into the chroots because it is in universe and not needed for package building itself. Forwarded: not-needed (Ubuntu specific) Origin: vendor Author: Philipp Kern Last-Update: 2011-05-01 --- sbuild-0.62.2.orig/bin/sbuild-createchroot +++ sbuild-0.62.2/bin/sbuild-createchroot @@ -157,8 +157,7 @@ usage_error("sbuild-createchroot", # Make sure fakeroot and build-essential are installed $conf->set('INCLUDE', add_items($conf->get('INCLUDE'), "fakeroot", - "build-essential", - "debfoster")); + "build-essential")); my $suite = $ARGV[0]; # Create the target directory in advance so abs_path (which is buggy) debian/patches/series0000664000000000000000000000011612235714702012035 0ustar do-not-install-debfoster-into-chroots.patch run-pre-build-hooks-as-root.patch debian/copyright-buildd0000664000000000000000000000255011506707234012373 0ustar This package was debianized by Roger Leigh on Sat, 26 Aug 2006 11:44:34 +0100 buildd is currently maintained by the Debian buildd-tools project. It was downloaded from svn://svn.debian.org/svn/buildd-tools/trunk/buildd and https://alioth.debian.org/project/showfiles.php?group_id=30471 The upstream source was originally downloaded from http://svn.cyberhqz.com/svn/wanna-build Authors: Roman Hodek - wanna-build and buildd Ryan Murray - modifications for security building, maintenance James Troup - maintenance Roger Leigh - maintenance License: GPL This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL file. debian/buildd.forward0000664000000000000000000000002511506707234012023 0ustar |/usr/bin/buildd-mail