diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:46:57 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:46:57 +0000 |
commit | ff49fdb2c5e63bb1e7a0620ed3e80d42d313b04a (patch) | |
tree | 0d525f5d5d227d08c6012c3c25216e9586731b34 /debian | |
parent | Adding upstream version 0.85.6. (diff) | |
download | sbuild-ff49fdb2c5e63bb1e7a0620ed3e80d42d313b04a.tar.xz sbuild-ff49fdb2c5e63bb1e7a0620ed3e80d42d313b04a.zip |
Adding debian version 0.85.6.debian/0.85.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian')
35 files changed, 5184 insertions, 0 deletions
diff --git a/debian/.forward b/debian/.forward new file mode 100644 index 0000000..dfdd7f4 --- /dev/null +++ b/debian/.forward @@ -0,0 +1 @@ +|/usr/bin/buildd-mail
\ No newline at end of file diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 0000000..ba63a78 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,10 @@ +sbuild +buildd +files +build +install +wanna-build +libsbuild-perl +*.substvars +*.debhelper +*.log diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 0000000..91fb638 --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,149 @@ +sbuild (0.75.0-1) unstable; urgency=medium + + sbuild now builds arch:all packages by default. + sbuild now runs lintian by default. + + -- Michael Stapelberg <stapelberg@debian.org> Wed, 21 Mar 2018 22:25:31 +0100 + + +sbuild (0.73.0-3) unstable; urgency=medium + + Generating a public/private keypair using "sbuild-update --keygen" for + signing the sbuild internal dummy repository is now optional. You are only + required to generate the keys if you plan to build packages for Debian + Squeeze or older. + + If you only build packages for Debian Wheezy or newer, then + /var/lib/sbuild/apt-keys/sbuild-key.sec and + /var/lib/sbuild/apt-keys/sbuild-key.pub can be safely removed from + your system. + + -- Johannes Schauer <josch@debian.org> Tue, 24 Jan 2017 10:51:16 +0100 + +sbuild (0.69.0-1) unstable; urgency=medium + + With this release, logically opposite boolean command line arguments cannot + be specified together anymore. Attempting to do so will result in an error. + + The remaining changes in this version only concern users of sbuild external + command hooks involving the %SBUILD_CHROOT_DIR percent escape in + --pre-build-commands or --post-build-commands. + + With this release, the %SBUILD_CHROOT_DIR percent escape is now deprecated. + It can still be used but it will only work for sbuild backends that work on + the same file system as the sbuild process. With the addition of more + backends like the autopkgtest backend sbuild is now able to build inside + qemu virtual machines, containers and on remote hosts via ssh. In these + cases the %SBUILD_CHROOT_DIR variable doesn't make sense anymore because + the sbuild process cannot directly access the build environment anymore. + + Instead, the %SBUILD_CHROOT_EXEC percent escape can be used to run an + arbitrary command inside the build chroot independent of the used backend. + See the sbuild manual page of how to utilize %SBUILD_CHROOT_EXEC to even + transfer files between the host running sbuild and the chroot backend. + + -- Johannes Schauer <josch@debian.org> Mon, 23 Jan 2017 19:54:26 +0100 + +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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> Fri, 18 May 2007 17:46:17 +0100 + diff --git a/debian/buildd.cron.d b/debian/buildd.cron.d new file mode 100644 index 0000000..64dced0 --- /dev/null +++ b/debian/buildd.cron.d @@ -0,0 +1,4 @@ +# 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 diff --git a/debian/buildd.default b/debian/buildd.default new file mode 100644 index 0000000..9b2290a --- /dev/null +++ b/debian/buildd.default @@ -0,0 +1,9 @@ +# 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"). + + diff --git a/debian/buildd.init b/debian/buildd.init new file mode 100755 index 0000000..4e29aa0 --- /dev/null +++ b/debian/buildd.init @@ -0,0 +1,122 @@ +#! /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 <rleigh@debian.org> +# Copyright © 2007 Federico Di Gregorio <fog@debian.org> +# +# 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 +# <http://www.gnu.org/licenses/>. + +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 diff --git a/debian/buildd.install b/debian/buildd.install new file mode 100644 index 0000000..7a5cb78 --- /dev/null +++ b/debian/buildd.install @@ -0,0 +1,6 @@ +debian/.forward var/lib/buildd/ +debian/tmp/etc/buildd/buildd.conf etc/buildd +debian/tmp/usr/bin/buildd* usr/bin +debian/tmp/usr/share/perl5/Buildd* usr/share/perl5 +debian/tmp/usr/share/wanna-build/postgresql/install/*.sql usr/share/wanna-build/postgresql/install +debian/tmp/var/lib/buildd var/lib diff --git a/debian/buildd.links b/debian/buildd.links new file mode 100644 index 0000000..8bc55c7 --- /dev/null +++ b/debian/buildd.links @@ -0,0 +1,3 @@ +sbuild-abort.1.gz usr/share/man/man1/buildd-abort.1.gz +sbuild-createchroot.8.gz usr/share/man/man8/buildd-make-chroot.8.gz +sbuild-update.1.gz usr/share/man/man1/buildd-update-chroots.1.gz diff --git a/debian/buildd.manpages b/debian/buildd.manpages new file mode 100644 index 0000000..af344b8 --- /dev/null +++ b/debian/buildd.manpages @@ -0,0 +1,10 @@ +usr/share/man/man1/buildd-abort.1 +usr/share/man/man1/buildd-mail-wrapper.1 +usr/share/man/man1/buildd-mail.1 +usr/share/man/man1/buildd-update-chroots.1 +usr/share/man/man1/buildd-uploader.1 +usr/share/man/man1/buildd-vlog.1 +usr/share/man/man1/buildd-watcher.1 +usr/share/man/man1/buildd.1 +usr/share/man/man5/buildd.conf.5 +usr/share/man/man8/buildd-make-chroot.8 diff --git a/debian/buildd.postinst b/debian/buildd.postinst new file mode 100755 index 0000000..ad5d736 --- /dev/null +++ b/debian/buildd.postinst @@ -0,0 +1,98 @@ +#! /bin/sh +# postinst script for buildd +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# 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 || true + + # 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 + # for wheezy-upgrades, replace script-config by profile + find /etc/schroot/chroot.d/ -name 'buildd-*' -print0 | xargs -0 -r sed -e 's;^script-config=buildd/config;profile=buildd;' -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 diff --git a/debian/buildd.postinst-buildd b/debian/buildd.postinst-buildd new file mode 100644 index 0000000..f3466ea --- /dev/null +++ b/debian/buildd.postinst-buildd @@ -0,0 +1,4 @@ +#!/bin/sh -e +if [ ! -e /etc/cron.d/buildd ]; then + zcat /usr/share/doc/buildd/examples/crontab.gz > /etc/cron.d/buildd +fi diff --git a/debian/buildd.postrm b/debian/buildd.postrm new file mode 100755 index 0000000..f86b47c --- /dev/null +++ b/debian/buildd.postrm @@ -0,0 +1,45 @@ +#! /bin/sh +# postrm script for buildd +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> +# 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 || true + + ;; + + *) + + 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 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..4f42be7 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,3585 @@ +sbuild (0.85.6) unstable; urgency=medium + + [ Johannes Schauer Marin Rodrigues ] + * d/tests/unshare: generate a new GPG key every time using sqop. + * d/tests/unshare: copy apt sources and preferences from outside the chroot + * d/control: let buildd depend on sbuild (= ${binary:Version}) as it is not + arch:any + * d/tests/unshare-qemuwrapper: drop --mode=unshare in favour of mmdebstrap + picking the mode automatically depending on what is available + * man/sbuild-debian-developer-setup.1.in: document where the chroot is placed + * lib/Sbuild/ChrootUnshare.pm: use HOME from config instead of the + environment + * follow adduser's changes in example: --gecos => --comment + + [ Benjamin Drung ] + * d/t/get_default_release.py: Support Ubuntu + * Test unshare autopkgtest directly + + [ Dave Jones ] + * Update verify_deb to match current zstd output + + [ Tianyu Chen ] + * Fix extra-packages log output + + [ Arnaud Rebillout ] + * Update sbuild-createchroot man page regarding merged-usr + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Mon, 26 Feb 2024 19:22:49 +0100 + +sbuild (0.85.5) unstable; urgency=medium + + [ Jochen Sprickerhof ] + * Replace ‐ with - in commands + + [ Johannes Schauer Marin Rodrigues ] + * sbuild-qemu-update: pass exec args as list avoiding a sub-shell + * sbuild-qemu-update: add --verbose and --quiet + * sbuild-qemu-update: allow passing arbitrary extra options to qemu after + a double dash + * sbuild-qemu-update: add --boot option analogous to autopkgtest-virt-qemu + (Closes: #1061636) + + [ Christian Kastner ] + * sbuild-qemu-create: add --boot option analogous to autopkgtest-build-qemu + * sbuild-qemu-boot: add --boot option analogous to autopkgtest-virt-qemu + * sbuild-qemu: add --boot option analogous to autopkgtest-virt-qemu + * sbuild-qemu-update: Add help message to --boot + * sbuild-qemu*: Update manpages for --boot + * sbuild-qemu-create: Remove APT lists to reduce image size. + * Bump copyrights + + -- Christian Kastner <ckk@debian.org> Tue, 13 Feb 2024 19:59:25 +0100 + +sbuild (0.85.4) unstable; urgency=medium + + * debian/tests/unshare-qemuwrapper: + - use hook directory copy-host-apt-sources-and-preferences + - explicitly choose unshare mode + * debian/tests/control: + - remove needs-root from unshare-qemuwrapper + - add dep on uidmap + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Thu, 26 Oct 2023 23:01:14 +0200 + +sbuild (0.85.3) unstable; urgency=medium + + [ Lee Garrett ] + * Remove reference to bug that has been closed for 6 years + + [ Johannes Schauer Marin Rodrigues ] + * debian/tests/unshare-qemuwrapper: use debvm + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Sun, 24 Sep 2023 01:06:51 +0200 + +sbuild (0.85.2) unstable; urgency=medium + + * buildd: Demote lsb-base dependency to the lesser alternative. + + -- Christian Kastner <ckk@debian.org> Sat, 11 Mar 2023 10:05:09 +0100 + +sbuild (0.85.1) unstable; urgency=medium + + [ Johannes Schauer Marin Rodrigues ] + * add .mailmap + + [ Christian Kastner ] + * Add myself to .mailmap + * Bump Standards-Version to 4.6.2 (no changes needed) + * sbuild-qemu: Properly handle --arch, --build, --host. + * sbuild-qemu: Fix broken --overlay-dir + * sbuild-qemu-update: Increase default timeout to 600s. + * sbuild-qemu-update: Add --timeout option + * sbuild-qemu-create: Add support for /root/.ssh/authorized_keys + * sbuild-qemu-create: Properly quote variables + * sbuild-qemu-boot: Set tty geometry to host's geometry + * sbuild-qemu-boot: Add option to forward SSH + + -- Christian Kastner <ckk@debian.org> Fri, 10 Mar 2023 22:17:29 +0100 + +sbuild (0.85.0) unstable; urgency=medium + + [ Johannes Schauer Marin Rodrigues ] + * lib/Sbuild/Conf.pm: replace deprecated + Dpkg::Build::Info::get_build_env_allowed by + Dpkg::BuildInfo::get_build_env_allowed (Closes: #1027719) + * debian/control: bump libdpkg-perl dep to 1.21.14 because of + Dpkg::BuildInfo::get_build_env_allowed + * lib/Sbuild/ResolverBase.pm: copying debs can take a long time -- output log + messages + * the sbuild dummy repository should not be considered to create a deb-src + entry automatically + * lib/Sbuild/ChrootUnshare.pm: guard against empty /etc/subuid and + /etc/subgid + * debian/tests/unshare: uncompress source package before comparing to ignore + differences in the compression (dpkg recently started using threaded xz + compression for source packages) + * add get_default_release.py to figure out the archive used by the currently + running system + * debian/tests/unshare: put common sbuild invocation into a function + * debian/tests/unshare: do not run apt upgrade nor apt update + * debian/tests/control: add dependency on python3-apt + * debian/tests/unshare-qemuwrapper: do not cleanup apt list files or + otherwise we have to call apt update again later + * lib/Sbuild/Build.pm: reduce number of self->get_conf() calls + * debian/control: add debootstrap as dependency of + sbuild-debian-developer-setup + * bin/sbuild-createchroot: set MERGED_USR to 'auto' letting debootstrap + decide + * bin/sbuild-debian-developer-setup: inform the user where the chroot is and + that the current user has already been added to the sbuild group + + [ Jochen Sprickerhof ] + * Make the DSC Dir configurable + + [ Dave Jones ] + * Skip build-procenv when mknod would fail (Closes: #928364) + + [ Benjamin Drung ] + * Fix building symlinks not ending on .dsc (Closes: #1012856) + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Wed, 04 Jan 2023 14:04:05 +0100 + +sbuild (0.84.2) unstable; urgency=medium + + [ Stefano Rivera ] + * fix autopkgtest LXD mode and sbuild-qemu (closes: #1024619) + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Thu, 08 Dec 2022 10:20:58 +0100 + +sbuild (0.84.1) unstable; urgency=medium + + [ Jochen Sprickerhof ] + * unshare_bind_mounts: use rbind to mount subtrees + * unshare: Use user/groupadd from outside the chroot + + [ Johannes Schauer Marin Rodrigues ] + * Revert "bin/sbuild-createchroot: Do not hardcode mirror argument" as this + creates invalid deb-src entries in sources.list + + -- Johannes Schauer Marin Rodrigues <josch@mister-muffin.de> Tue, 15 Nov 2022 08:05:31 +0100 + +sbuild (0.84.0) unstable; urgency=medium + + [ Johannes Schauer Marin Rodrigues ] + * bin/sbuild-createchroot: die if move() fails + * bin/sbuild-debian-developer-setup: Don't alias to sid/UNRELEASED if suite + is not unstable (Closes: #1014574) + * debian/copyright: update copyright for makefiles and debian/* + * debian/tests/unshare-qemuwrapper: allow ~/.ssh to exist already + * debian/tests/unshare-qemuwrapper: bump disk size to 4G (Closes: #1016070) + * debian/tests/unshare: don't fail if gpghome cannot be removed + * debian/tests/unshare: gpgconf --kill all before removing gpghome + * debian/tests/unshare: run with --no-source-only-changes + * debian/tests/unshare: run with --nolog to output log to stdout + * lib/Sbuild/Build.pm: automatically add a deb-src entry if necessary + * lib/Sbuild/ResolverBase.pm: factor out add_extra_repositories() + * lib/Sbuild/ResolverBase.pm: stop emitting Packages.gz and Sources.gz + * man/sbuild-qemu-boot.1.in: fix typo Bood -> Boot + * man/sbuild.1.in: unshare chroot mode is not experimental anymore + + [ Benjamin Drung ] + * Fix shellcheck issues in autopkgtests + * Revert "debian/tests/build-procenv: add deb-src repository" + * Run unshare autopkgtest against target release + * Set NO_PKG_MANGLE=1 when building dummy packages + * unshare-qemuwrapper: Cleanup guestfs appliance + * unshare-qemuwrapper: Disable SSH password authentication + * unshare-qemuwrapper: Support Ubuntu + * unshare-qemuwrapper: Use free port + * unshare-qemuwrapper: Use linux-image-cloud-amd64 + * unshare-qemuwrapper: Use sbuild in temp directory name + + [ Dave Jones ] + * Ensure umask is consistent with the comparison blobs + + [ Christoph Berg ] + * run_autopkgtest: Accept exit 2 as pass + + [ Andrea Pappacoda ] + * sbuild-debian-developer-setup: alias the chroot to UNRELEASED-$arch-sbuild + (Closes: #1006135) + + [ Mattias Jernberg ] + * bin/sbuild-createchroot: Do not hardcode mirror argument to debootstrap + (Closes: #1010665) + + [ Ben Westover ] + * sbuild-debian-developer-setup: Add option to specify chroot architecture + + [ Jochen Sprickerhof ] + * Replace adduser by useradd + * Unshare: create sbuild group + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Wed, 02 Nov 2022 21:42:11 +0100 + +sbuild (0.83.2) unstable; urgency=medium + + [ Jochen Sprickerhof ] + * Support $path in unshare backend + * Support systems without a resolv.conf in unshare backend + * Unshare: add minimal etc/hosts + + [ Dave Jones ] + * verify() in unshare uses the same (wrong) parameter for $verify_* + * devscripts is missing from EXTRA_DEPS + * Update verify_deb to match zstd compressed debs + + [ Johannes Schauer Marin Rodrigues ] + * lib/Sbuild/ChrootUnshare.pm: add /dev/{stdin,stdout,stderr} + * Mount a new instance of /dev/pts in the chroot + + [ Aurelien Jarno ] + * Buildd::Mail: support MIME encoded Subject: header + * Buildd::Mail: also copy the Content-Type: header when forwarding mail + + -- Aurelien Jarno <aurel32@debian.org> Mon, 29 Aug 2022 22:44:02 +0200 + +sbuild (0.83.1) unstable; urgency=medium + + [ Johannes Schauer Marin Rodrigues ] + * bin/sbuild-cross-resolver: we don't need the English module (closes: + #1005957) + * debian/tests/unshare: run with -x + * lib/Sbuild/Utility.pm: add warning about missing libwww-perl (closes: + #1009859) + + [ Jochen Sprickerhof ] + * lib/Sbuild/ChrootUnshare.pm: mkdir for bind mounts + + [ Daniel Kahn Gillmor ] + * Use --batch with gpg when importing secret key (Closes: #1010171) + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Tue, 26 Apr 2022 11:21:44 +0200 + +sbuild (0.83.0) unstable; urgency=medium + + * sbuild-qemu (package): + - Support for new architectures: armhf, arm64, ppc64el + - Move vmdb2 to Depends + - Depend on autopkgtest (>= 5.17~) + * sbuild-qemu: + - Fix looking for images when --arch was specified + - sbuild-qemu: rename --ram to --ram-size. This matches the + autopkgtest-virt-qemu option + - Reduce default CPU count to 2, rather than equal to host cores. This is + more likely to work on all platforms + * sbuild-qemu-create: + - Update shared dir setup (deprecated QEMU syntax). Existing images will no + longer work and will need to be recreated + * sbuild-qemu-update: + - Fix QEMU launch issues (network, serial) + - Reduce memory requirement. 1GiB is sufficient for apt-get operations + * sbuild-qemu-boot: New utility to boot to a VM console + + -- Christian Kastner <ckk@debian.org> Sat, 05 Feb 2022 18:02:40 +0100 + +sbuild (0.82.1) unstable; urgency=medium + + * fix sbuild-cross-resolver + * copy solvers from /usr/lib/apt/solvers into chroot if cross-building + * add dependency on apt-utils for /usr/lib/apt/solvers/apt + * chown /var/lib/sbuild 755 so that the _apt user can read apt.conf inside it + * remove maintainer script support for ancient package versions + * debian/control: bump Standards-Version (no changes) + * debian/source/include-binaries is not needed anymore + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Sat, 29 Jan 2022 16:52:05 +0100 + +sbuild (0.82.0) unstable; urgency=medium + + [ Johannes Schauer Marin Rodrigues ] + * remove etc/99builddsourceslist as it is unused + * bin/sbuild-createchroot: avoid allowing execution of arbitrary Perl code + via a custom mirror URL (closes: #1001807) + * debian/tests/build-procenv: add deb-src repository + * debian/tests/unshare-qemuwrapper: use copy:// instead of file:// + * man/sbuild.1.in: document the --arch-all and --no-arch-all defaults while + cross-building + * lib/Sbuild/ChrootUnshare.pm: also create /dev/console and /dev/ptmx and + mount /dev/pts and /dev/shm + * lib/Sbuild/Build.pm: fix error reporting of 'changes.new could not be + renamed' + * add sbuild-cross-resolver filtering out m-a:foreign and essential:yes + packages that are not arch:all and not arch:native during cross-building + * bump debhelper-compat to 13 + * use dh-sequence-python3 instead of --with=python3 + * run wrap-and-sort + * add myself to d/copyright -- better late than never ;) + * debian/control: add uidmap to Recommends (closes: #986962) + * use debian/*.manpages instead of debian/*.install to install manpages + * add UNSHARE_BIND_MOUNTS allowing to bind-mount directories into the chroot + in unshare mode (closes: #986694) + + [ Samuel Thibault ] + * control: Fix git URLs. + + [ Christian Kastner ] + * sbuild.1: Refresh unshare info + + [ Jochen Sprickerhof ] + * Don't overwrite BUILD_DIR when compiling in src dir (Closes: #990734) + + [ Vagrant Cascadian ] + * lib/Sbuild/Utility.pm: Add support for zstd compression. (Closes: #987655) + + -- Johannes Schauer Marin Rodrigues <josch@debian.org> Mon, 24 Jan 2022 23:30:27 +0100 + +sbuild (0.81.2) unstable; urgency=medium + + * Package sbuild-qemu should be arch:all, not arch:amd64. + Resolves a FTBFS. + + -- Christian Kastner <ckk@debian.org> Sun, 31 Jan 2021 15:34:54 +0100 + +sbuild (0.81.1) unstable; urgency=medium + + * lib/Sbuild/ChrootUnshare.pm: also ignore /dev/console when unpacking + rootfs becauke mknod is forbidden in unshare mode + * lib/Sbuild/Build.pm: add comment about #977674 + * bin/sbuild: use umask 0022 as default for Debian -- see dpkg source: + scripts/Dpkg/Vendor/Debian.pm + * lib/Sbuild/Build.pm: run dpkg-buildpackage with --sanitize-env if dpkg + 1.20.0 is available + * add new unshare autopkgtest with qemu wrapper + + -- Johannes 'josch' Schauer <josch@debian.org> Sun, 31 Jan 2021 10:41:30 +0100 + +sbuild (0.81.0) unstable; urgency=medium + + [ Johannes 'josch' Schauer ] + * make 'none' explicitly disable the bd-uninstallable-explainer. + Thanks helmut & vagrantc + + [ Jochen Sprickerhof ] + * Cleanup link in /etc/sbuild if it exists + + [ Christian Kastner ] + * Add package sbuild-qemu, replaces qemu-sbuild-utils + - The utilities have been renamed from qemu-sbuild-* to sbuild-qemu-* to + for consistency + * Add myself to Uploaders + * Set Rules-Requires-Root: no + * Bump Standards-Version to 4.5.1 + + [ Bruno Kleinert ] + * Removed obsolete script /usr/share/sbuild/create-chroot to fix 'bullseye: + /updates -> -security'. Neither sbuild itself, nor any reverse dependency + appear to depend on that script, so removed it. (Closes: #972747) + + -- Johannes 'josch' Schauer <josch@debian.org> Sun, 24 Jan 2021 23:13:34 +0100 + +sbuild (0.80.1) unstable; urgency=medium + + * Fix build system to rely on debian/changelog instead of VERSION file + * use mkdir -p when creating build_path (thanks Niels Thykier) + + -- Johannes 'josch' Schauer <josch@debian.org> Sat, 05 Dec 2020 17:46:22 +0100 + +sbuild (0.80.0) unstable; urgency=medium + + [ Johannes 'josch' Schauer ] + * New release + * Convert packaging to a native package to make maintenance easier by + avoiding the complicated upstream release and debian packaging procedure + * lib/Sbuild/Conf.pm: fix example for individual_stalled_pkg_timeout + (closes: #924500) + * man/sbuild.1.in: remove from docs of --autopkgtest-virt-server-opts + (closes: #948799) + * lib/Sbuild/Build.pm: check for defined-ness and even print a '0' Version + (closes: #950939) + * debian/control: due to using Dpkg::Build::Info::get_build_env_allowed, we + now require libdpkg-perl (>= 1.20) + * man/sbuild.1.in: starting/finished/failed-build-commands are run as root + (closes: #961623) + * bin/sbuild-createchroot: chown root dir 0755 (closes: #950684) + * use Dpkg::Build::Info::get_build_env_allowed instead of deprecated + Dpkg::Build::Info::get_build_env_whitelist for dpkg >= 1.20.0 + (closes: #963845, #966428) + + [ Pierre-Elliott Bécue ] + * Workaround to pass on dpkg-genchanges specific options until dpkg bug + #902856 is fixed (closes: #884428, #891247, #917849, #947755) + + -- Johannes 'josch' Schauer <josch@debian.org> Sat, 01 Aug 2020 14:07:53 +0200 + +sbuild (0.79.1-1) unstable; urgency=medium + + * Team upload. + * New upstream release. + * add option --dpkg-file-suffix to buildd + * switch to debhelper compat 12 + * switch dh_installinit call to --no-stop-on-upgrade + * buildd: remove calls to dpkg-maintscript-helper + * test build-procenv: replace ADTTMP with AUTOPKGTEST_TMP + + -- Ivo De Decker <ivodd@debian.org> Wed, 22 Apr 2020 22:35:33 +0000 + +sbuild (0.79.0-1) unstable; urgency=medium + + * Team upload. + * New upstream release. + * remove debian/patches (have been applied upstream) + * add buildd depends on devscripts and recommends on sudo (closes: #920335, + #774856) + * debian/tests/build-procenv: don't install packages from a different distro + (closes: #928366) + * pass the right .changes file to lintian (closes: #934721) + * sbuild-createchroot: use umask 0022 (closes: #921675) + * fix etc/sbuild-debian-developer-setup-update-all (closes: #922148) + * add apt_keep_downloaded_packages option (closes: #933723) + * add option --dpkg-file-suffix + + -- Ivo De Decker <ivodd@debian.org> Wed, 05 Feb 2020 17:41:38 +0100 + +sbuild (0.78.1-2) unstable; urgency=medium + + [ Mike Gabriel ] + * debian/patches: Add support-gzip-in-wheezy.patch. The gzip command + in Debian wheezy lacks support for the --keep cmdline option, so + avoid using it. (closes: #926161) + + [ Aurelien Jarno ] + * debian/patches: Add fix-disk-space-directory-check.patch. The right + directory has to be checked inside the chroot. (closes: #923484) + + -- Johannes 'josch' Schauer <josch@debian.org> Wed, 03 Apr 2019 14:08:12 +0200 + +sbuild (0.78.1-1) unstable; urgency=medium + + * New upstream release. + * fix syntax of generated Sources.gz files (Closes: #920227) + + -- Johannes 'josch' Schauer <josch@debian.org> Sat, 09 Feb 2019 07:25:07 +0100 + +sbuild (0.78.0-2) unstable; urgency=medium + + * Fix debian/sbuild-debian-developer-setup.postrm by removing wrong default + case + + -- Johannes 'josch' Schauer <josch@debian.org> Thu, 10 Jan 2019 17:03:25 +0100 + +sbuild (0.78.0-1) unstable; urgency=medium + + * New upstream release. + * remove debian/patches (have been applied upstream) + * Add libc-dev and libstdc++-dev when cross compiling (closes: #905346) + * default to --no-arch-all for cross builds (closes: #905347) + * Set build profiles cross and nocheck by default when cross building + (closes: #905345) + * bin/sbuild-createchroot: allow an empty lost+found directory in the target + directory (closes: #909378) + * add --no-source-only-changes option (closes: #904968) + * sbuild-createchroot: Do not check for empty directory if --setup-only + option is used (closes: #916009) + * do not check debian/tests/control when running autopkgtest (closes: + #916924) + * add sbuild and BUILD_USER if they didn't exist yet (closes: #911979) + * let --append-to-version imply --no-arch-all like it's the case for + --make-binNMU (closes: #911399) + * allow chroots with nothing more but Essenital:yes packages, apt and their + hard dependencies and create missing users and groups as needed + (closes: #909847) + * run wrap-and-sort + * let sbuild Suggests e2fsprogs for /usr/share/sbuild/create-chroot (closes: + #887264) + * remove /var/log/sbuild-update-all.log if sbuild-debian-developer-setup + gets purged (closes: #905513) + * bump debhelper compat to 11 + * debian/control: bump Standards-Version to 4.3.0 (no changes) + + -- Johannes 'josch' Schauer <josch@debian.org> Wed, 09 Jan 2019 05:53:49 +0100 + +sbuild (0.77.1-2) unstable; urgency=medium + + * Add patch allowing to control merged /usr (closes: #913228) + + -- Johannes 'josch' Schauer <josch@debian.org> Tue, 13 Nov 2018 16:07:19 +0100 + +sbuild (0.77.1-1) unstable; urgency=medium + + * New upstream release. + * Run dpkg-source --before-build and --after-build (closes: #886633) + * Move sbuild-debian-developer-setup man page to correct package (closes: + #907076) + + -- Johannes 'josch' Schauer <josch@debian.org> Tue, 11 Sep 2018 00:08:08 +0200 + +sbuild (0.77.0-4) unstable; urgency=medium + + * Add patch to fix the empty directory check of sbuild-create-chroot + (closes: #904722) + + -- Johannes 'josch' Schauer <josch@debian.org> Fri, 27 Jul 2018 14:03:10 +0200 + +sbuild (0.77.0-3) unstable; urgency=medium + + * Patch sbuild-destroychroot with an import of SchrootInfo (closes: #903513) + + -- Johannes 'josch' Schauer <josch@debian.org> Wed, 11 Jul 2018 21:32:04 +0200 + +sbuild (0.77.0-2) unstable; urgency=medium + + * Install /usr/sbin/sbuild-adduser and /usr/sbin/sbuild-destroychroot again + (closes: #903269) + + -- Johannes 'josch' Schauer <josch@debian.org> Sun, 08 Jul 2018 15:52:22 +0200 + +sbuild (0.77.0-1) unstable; urgency=medium + + * New upstream release. + * debian/control: move "exim4 | mail-transport-agent" from Recommends to + Suggests (closes: #863718) + * Set maintainer address to sbuild@packages.debian.org (closes: #899688) + * lib/Sbuild/Build.pm: filter out foreign essential and multiarch foreign + packages before passing them to dose3 (closes: #865432) + * man/sbuild.1.in: pre- and post-build-commands are run as non-root (closes: + #900916) + * Add null resolver which does not install, upgrade or remove any packages + (closes: #858899) + * lib/Sbuild/ResolverBase.pm: also print kernel version (closes: #866402) + * lib/Sbuild/Build.pm: install (cross-)build-essential, manual depends and + build depends with a single dummy package (closes: #871968) + * lib/Sbuild/Build.pm: dump .dsc content before extracting it (closes: + #901727) + * Add config variables that allow sbuild to fail if lintian, piuparts or + autopkgtest fail (closes: #891590) + * lib/Sbuild/ResolverBase.pm: run dpkg-scanpackages with -m to allow + multiple architectures of the same package (closes: #886257) + * lib/Sbuild/Build.pm: additional Lintian reasons info and warn (closes: + #893228) + * man/sbuild.1.in: fix typo (closes: #891588) + * lib/Sbuild/Build.pm: also cope with special characters when filtering the + log (closes: #901730) + * Add new log filtering for /build/pkg-minimal-XXX/resolver-YYY: + <<RESOLVERDIR>> (closes: #901725) + * lib/Sbuild/Build.pm: only run autopkgtest if debian/tests/control exists + (closes: #901167) + * lib/Sbuild/Options.pm: --make-binNMU implies --no-arch-all (closes: + #898946) + * etc/sbuild-update-all: set executable bit (closes: #870451) + * lib/Sbuild/ChrootSetup.pm: If BUILD_PATH is set, use it instead of /build + (closes: #868657) + * lib/Sbuild/ResolverBase.pm: clean /var/cache/apt/archive/*.deb after + package installation (closes: #861762) + * bin/sbuild-createchroot: also check exit status of schroot (closes: + #866006) + * Replace httpredir.debian.org with deb.debian.org (closes: #901372) + * lib/Sbuild/ChrootSetup.pm: run groupadd instead of copying entry from host + (closes: #867180) + * man/sbuild-createchroot.8.in: fix outdated path in text description + (closes: #901360) + * bin/sbuild-createchroot: error out early when the target directory exists + and is not empty (closes: #888710) + * Remove support for signing the dummy archive (closes: #837188) + * I now detect more directly if the source wasn't yet unpacked (closes: + #882057) + * debian/control: replace priority:extra by optional + * debian/copyright: use secure copyright format uri + * debian/copyright: fix some outdated information now that sbuild lives on + salsa + * debian/control: update vcs-git and vcs-browser to salsa + * debian/control: fix my name + * debian/control: depend on real cron as first alternative before virtual + cron-daemon + * debian/control: add alternative default-mta before mail-transport-agent + * debian/sbuild.postinst: avoid recursive chown + + -- Johannes 'josch' Schauer <josch@debian.org> Fri, 06 Jul 2018 23:11:45 +0200 + +sbuild (0.76.0-1) unstable; urgency=medium + + * Install sbuild-debian-developer-setup-update-all cronjob (closes: #893577) + + -- Michael Stapelberg <stapelberg@debian.org> Mon, 09 Apr 2018 18:58:38 +0200 + +sbuild (0.75.0-1) unstable; urgency=medium + + * New upstream release. + * buildd: only build arch:any packages (closes: #893608) + * buildd: do not run lintian + * remove harmful unnecessary lintian binary check (closes: #893226) + + -- Michael Stapelberg <stapelberg@debian.org> Wed, 21 Mar 2018 22:24:01 +0100 + +sbuild (0.74.0-1) unstable; urgency=medium + + * New upstream release + * Install dose-distcheck and lintian for the native architecture + * remove DCMD config value which is not used and just uselessly making + libsbuild-perl depend on devscripts + * use dpkg-query instead of grep-status so that dependency on grep-dctrl is + not needed anymore + * suppress schroot writing to stderr in sbuild-createchroot + * check for modprobe in sbuild-createchroot + * Add missing newline character to a bunch of error messages + * dose3 failures no longer mask the --build-deps-failed-commands + * Build arch: all packages by default (closes: #870263) + * Run lintian by default (closes: #870263) + * sbuild-createchroot: add --command-prefix (closes: #870260) + * add sbuild-debian-developer-setup package (closes: #859867) + + -- Michael Stapelberg <stapelberg@debian.org> Wed, 14 Mar 2018 21:55:42 +0100 + +sbuild (0.73.0-4) unstable; urgency=medium + + * Retroactively add two entries into debian/NEWS for the Stretch release. + + -- Johannes Schauer <josch@debian.org> Tue, 24 Jan 2017 10:58:18 +0100 + +sbuild (0.73.0-3) unstable; urgency=medium + + * Add patch installing dose-distcheck in the native architecture + * Refresh other patches as "git format-patch" from sbuild git master branch + + -- Johannes Schauer <josch@debian.org> Sun, 22 Jan 2017 15:03:49 +0100 + +sbuild (0.73.0-2) unstable; urgency=medium + + * Bump build-depends on libdpkg-perl to 1.18.14 as sbuild is using + Dpkg::Build::Info now (closes: #850075) + + -- Johannes Schauer <josch@debian.org> Wed, 04 Jan 2017 08:17:08 +0100 + +sbuild (0.73.0-1) unstable; urgency=medium + + * New upstream release + * man/sbuild.1.in: clarify docs for --append-to-version and --make-binNMU + (closes: #844583) + * Allow passing a directory to --extra-package which will add all .deb inside + (closes: #844457) + * Unconditionally update repositories given via --extra-repository + (closes: #842281) + * For binNMUs, instead of copying the timestamp of the last changelog entry, + generate a new one (closes: #843773) + * Output build type in buildlog in the format used by dpkg-buildpackage + --build (closes: #820977) + * Install extra packages into their own internal repository which is created + at resolver creation time so that extra packages are considered during the + upgrade step (closes: #843694) + * Also output .buildinfo in buildlog (closes: #843933) + * pass the absolute path of extra .deb package to dpkg-deb (closes: #843692) + * Always pass the source package to lintian (closes: #843622) + * Do not print negative used space but n/a instead (closes: #842947) + * bin/sbuild-apt: pass --yes to apt operations as the apt operations are not + interactive (closes: #842138) + * Do not set 'Changes File' in copy_changes to avoid it being set to the + source-only changes file (closes: #842705) + * starting-build-command and finished-build-commands are now run as root. + * The autopkgtest-virt backends are no longer supplied with the chroot name. + * Add SBUILD_BUILD_ARCH percent escape. + * Use Dpkg::Build::Info::get_build_env_whitelist() to generate the default of + ENVIRONMENT_FILTER. + * Add the --binNMU-timestamp command line option to allow one to pass a + custom timestamp for the new binNMU changelog entry. + * Add option --binNMU-changelog which allows one to pass a complete + debian/changelog entry for binary-only builds. + * The autopkgtest backend now runs into its own process group. + * Bump sbuild Depends on libdpkg-perl to at least 1.18.14 because of its use + of Dpkg::Build::Info::get_build_env_whitelist() + * Move most Build-Depends to Build-Depends-Indep + * Drop dependency and build dependency on libio-zlib-perl which is provided + by perl-modules even in old-stable + * Drop dependency on apt-utils because sbuild does not use apt-ftparchive + anymore + * Do not let libsbuild-perl depend on adduser, dctrl-tools and devscripts as + it doesn't use them. + * Make schroot and autopkgtest Recommends as they are both working backends + * Run dh_installinit with --no-start and --no-restart-on-upgrade so that the + buildd daemon does not get started on installation (closes: #842057) + * Update autopkgtest + - Don't sign internal dummy repository anymore + - Download source package inside the build chroot because the host might + not be having the requested release in its sources.list + - Do not depend on procenv build depends as they should be installed + inside the build chroot and not on the host + - use "apt install" instead of "dpkg -i" to also install dependencies + - Several tiny fixes to make the test suite succeed again + * Make schroot a hard dependency of buildd (it requires + /etc/schroot/chroot.d/ in its postinst script) + * Add patch to remove DCMD config value which is not used and just uselessly + making libsbuild-perl depend on devscripts + * Add kmod to Suggests of sbuild because modprobe is optionally used by + sbuild-createchroot + * Add patch to use dpkg-query instead of grep-status so that dependency on + grep-dctrl is not needed anymore + * Add patch that suppresses schroot writing to stderr in sbuild-createchroot + * Add patch that checks for modprobe in sbuild-createchroot + * Remove xs-testsuite header from debian/control + * Adapt libsbuild-perl short description to not say "Tool" anymore but + "Library" + * Replace git:// in Vcs-Git field by https:// + * Bump Standard-Version to 3.9.8 (no changes required) + * Convert debian/copyright to DEP-5 (make machine readable) + + -- Johannes Schauer <josch@debian.org> Sat, 24 Dec 2016 02:28:48 +0100 + +sbuild (0.72.0-2) unstable; urgency=medium + + * Fix regression from 0.72.0 upload: install forward file as .forward and + not as buildd.forward (closes: #842057) + * Add myself to Uploaders + + -- Johannes Schauer <josch@debian.org> Wed, 26 Oct 2016 08:47:50 +0200 + +sbuild (0.72.0-1) unstable; urgency=medium + + * New upstream release + * Remove all patches (they have been integrated upstream) + * Convert package to dh 10, allowing the most simple d/rules file. + * Remove Roger Leigh from the Uploaders field (they left Debian) + * Add dependency of buildd on lsb-base (>= 3.0-6) because of the init script + it ships (/etc/init.d/buildd) + * lib/Sbuild/Build.pm: fixing that if build() raises an exception then build + time and space doesn't get set (closes: #835338) + * lib/Sbuild/AptitudeResolver.pm: Do not add architecture qualifiers to + dependencies if chroot doesn't support multiarch (closes: #836737) + * lib/Sbuild/Build.pm: Don't do architecture check if BUILD_SOURCE is true + (closes: #836154) + * lib/Sbuild/ChrootSudo.pm: Instead of forbidding single quotes, properly + quote the exec string (closes: #836175) + * When printing ASCII art boxes, cater for the situation where their content + is longer than their default width by increasing the box width (closes: + #841015) + * bin/sbuild-createchroot: do not overwrite /etc/hosts if it already existed + and also write ipv6 entries if it didn't (closes: #841165) + * sbuild-createchroot: clean up downloaded .deb archives (closes: #841169) + * Add --bd-uninstallable-explainer and make dose3 the default (closes: + #839566) + * Warn if a binary package of incompatible architecture with the chroot is + added via --extra-package (closes: #820882) + * Accommodate for the autopkgtest 4.0 release by renaming all adt command + line options and configuration variables from adt to autopkgtest because + the same renaming was done by the autopkgtest release (closes: #833436) + * Add Depends on gnupg (>= 2.1) because sbuild now makes use of features + like --pinentry-mode=loopback for key creation (closes: #840575) + + -- Johannes Schauer <josch@debian.org> Tue, 25 Oct 2016 07:43:07 +0200 + +sbuild (0.71.0-2) unstable; urgency=medium + + * add patch to not check for the fakeroot binary on the host. Thanks + Gianfranco Costamagna + * Do not recommend fakeroot anymore. It is not needed on the host but only + inside the chroot. + + -- Johannes Schauer <josch@debian.org> Sat, 27 Aug 2016 11:20:06 +0200 + +sbuild (0.71.0-1) unstable; urgency=medium + + * add autopkgtest to Suggests + * Undo exporting private keys in armored ASCII format as introduced by the + last release. It turns out, that this is not necessary to support gpg + cross-version compatibility. This should fix problems with gpg 2.x as well + as chroots not having gpg installed as apt stopped depending on it. + (closes: #827315, #834898) + * Undo the SUITE-VARIANT syntax of sbuild-createchroot as introduced by the + last release. It turns out that overloading the suite name argument with a + variant name was a bad idea because there exist distributions with a minus + in its name. Variant names can now be specified using the --chroot-prefix + option which works analogous to the --chroot-suffix option. (closes: + #834515) + * Add percent escape support to piuparts, autopkgtest and adt-virt options. + (closes: #833285, #833286) + * Add sbuild-destroychroot. + * Allow running autopkgtest when sbuild downloads the .dsc (closes: #833549) + * Run apt-cache without --only-source (closes: #834704) + * Avoid dropping extra repositories before using them (closes: #834497) + * lib/Sbuild/ResolverBase.pm: Fix copypaste error s/public/private/ (closes: + #834330) + * lib/Sbuild/ChrootSetup.pm: don't prompt the user during --keygen (closes: + #833547) + * Add an option to not prefix piuparts and autopkgtest with anything at all + (closes: #833390) + * lib/Sbuild/Build.pm: add red/green coloring to log when piuparts or + autopkgtest succeed/fail (closes: #833552) + + -- Johannes Schauer <josch@debian.org> Wed, 24 Aug 2016 13:42:26 +0200 + +sbuild (0.70.0-1) unstable; urgency=medium + + * new upstream version + - Fix reproducibility issue by not writing the $HOME as set during the + build into config files and man pages anymore (closes: #825991) + - Add an EXAMPLE section to the sbuild man page (closes: #824582) + - sbuild-createchroot now has support for SUITE-VARIANT chroot names. This + is useful to create variants of base suits like jessie-backports or + unstable-experimental. (closes: #826957) + - sbuild-createchroot now has the --no-deb-src option which allows one to + create a chroot without a deb-src entry in its sources.list. This is + useful to save bandwidth and disk space for chroots that will never be + used to download source packages as the source indices do not have to + downloaded, stored and later updated from the mirrors. (closes: #826847) + - sbuild-createchroot now has the --alias option which is useful to add a + shorthand alias to a chroot which will be used for chroot selection. This + is for example useful for a Debian unstable chroot which will be + automatically selected for package builds that have UNRELEASED in their + debian/changelog, if the UNRELEASED alias is added to the Debian unstable + chroot. (closes: #800593) + - suild-createchroot now has the --extra-repository which works like the + --extra-repository option for sbuild and permanently adds another line to + the chroot's sources.list. + - Private/public key pairs are now stored in armored ASCII format to + maintain compatibility between different gpg versions on the host and + within the chroot. Re-running `sbuild-update --keygen` will create the + new key types. + - Chroots can now have gpg >= 2.x installed as sbuild will properly clean + up any remaining gpg-agent processes and "apt-key add" is not used + anymore (it will leave a gpg-agent process around that cannot properly + be killed). + - Add the --source-only-changes option which will create a .changes file + suitable for a source-only upload alongside the normal binary .changes + file. (closes: #812361) + - Do not install debfoster by default in sbuild-createchroot to keep the + build chroot as minimal as possible. Users that use debfoster can use the + --include option of sbuild-createchroot. + - Drop requirement for gpg inside the chroot as external archive keys are + now processed without gpg and signing of the internal repository is + entirely optional with helpful warning and error messages in case + signing failed. (closes: #831462) + - Allow running autopkgtest after a successful build in the same manner + that piuparts can be run after a successful build. (closes: #824935) + - fix uninitialized value problem in loop (closes: #823993) + - Fix typo in APT::Get::AllowUnauthenticated config setting + (closes: #824165) + - Add up correct size when looping over files (closes: #825359) + - Make sure printed timestamps are in C locale, in UTC and in standard + formats (closes: #813895) + - Move addition of extra repositories from the creation of the dummy build + dependency repository to the initial setup (closes: #792037) + - Fix execution of man (closes: #831063) + * Remove patches + 0001-lib-Sbuild-ResolverBase.pm-do-not-produce-non-error-.patch and + 0001-bin-sbuild-createchroot-fix-chown-chmod-error-checks.patch as they + were merged upstream. + + -- Johannes Schauer <josch@debian.org> Wed, 03 Aug 2016 10:58:48 +0200 + +sbuild (0.69.0-2) unstable; urgency=medium + + * add patch 0001-lib-Sbuild-ResolverBase.pm-do-not-produce-non-error-.patch + to make sbuild not print on stderr during sbuild-update unless it is an + error (closes: #823788) + * 0001-bin-sbuild-createchroot-fix-chown-chmod-error-checks.patch which + fixes error checking of chown and chmod calls in sbuild-createchroot + (closes: #823897) + + -- Johannes Schauer <josch@debian.org> Thu, 12 May 2016 07:36:32 +0200 + +sbuild (0.69.0-1) unstable; urgency=medium + + * new upstream version + - Decouple chroot from host in terms of filesystem access to allow + chroot backends like qemu, ssh or lxc. Deprecate external command + percentage escape %SBUILD_CHROOT_DIR in favour of %SBUILD_CHROOT_EXEC. + - Experimental adt backend. Enable with --chroot-mode=adt. Choose the + virtualization server with --adt-virt-server and add options with + --adt-virt-server-opt. This allows sbuild to use qemu, ssh and lxc + chroots. + - Build packages without specifying a version. Earlier it was possible to + let sbuild "apt-get download" a dsc by specifying "package_version" as a + command line argument. The version part is not necessary anymore. No + manual version lookup by the user is required anymore. (closes: #693928) + - Disallow conflicting command line options, thus making command line + switches position independent and remove the deprecated --arch-all-only + option in the process. + - The aspcud resolver criteria is not hardcoded anymore but can be chosen + with --aspcud-criteria. The default criteria is -removed,-changed,-new. + To minimize the number of packages from experimental, use: + -count(solution,APT-Release:=/a=experimental/),-removed,-changed,-new + (closes: #821376) + - Apt doesn't download translations anymore. + - Dummy archive is now signed with SHA-512 + - Cron script etc/sbuild-update-all allows one to periodically update all + sbuild chroots. (closes: #776438) + - Add another --*-failed-commands external command: + --chroot-update-failed-commands (closes: #803505) + - Documentation of configuration options in sbuild.conf(5) and in + /etc/sbuild/sbuild.conf now reference related command line options from + sbuild(1). + - Documentation of command line options in sbuild(1) now references the + respective configuration options from sbuild.conf(5). + - Remove configuration options which can be set on the command line from + the __INTERNAL group, thus exposing them in sbuild.conf as well and + referencing them in sbuild(1). + - Replace single by double quotes in external command (closes: #816493) + - Parse "apt-cache showsrc" output using Dpkg::Index (closes: #818579) + - Fix permissions of temporary directories (closes: #798835) + - Fix signing of build results (closes: #817121) + - do not remove architectures when cloned chroot is in use + (closes: #811558) + - check for overlayfs support (closes: #813360) + + -- Johannes Schauer <josch@debian.org> Sun, 08 May 2016 14:43:04 +0200 + +sbuild (0.68.0-1) unstable; urgency=medium + + * new upstream version + - Fix quoting when checking architectures (closes: #809175) + - bin/sbuild-createchroot: check for defined-ness first before using eq + (closes: #811042) + - When cross compiling, install dummy binary package instead of using + 'apt-get build-dep'. See upstream commit #e227c8f3 for an extensive + rationale. (closes: #809730) + - Do architecture check after build-essential is installed (closes: #700317) + - Create directory where tarball is stored (closes: #811040) + - lib/Sbuild/ChrootInfoSchroot.pm: check if get_info_from_stream() was + successful and don't check if closing the pipe was successful if not + (closes: #811041) + - Extend explanation of --source and --no-source options (closes: #700317) + - Add documentation related to generated build artifacts (closes: #782553) + - Deprecate command line option --arch-all-only in favour of --arch-all + --no-arch-any. This option will be removed in the next upstream release. + * drop patch fix-quoting.patch as it has been applied upstream + + -- Johannes Schauer <josch@debian.org> Fri, 15 Jan 2016 10:18:53 +0100 + +sbuild (0.67.0-2) unstable; urgency=medium + + * backport patch fix-quoting.patch (closes: #809175) + + -- Johannes Schauer <josch@debian.org> Mon, 28 Dec 2015 03:23:42 +0100 + +sbuild (0.67.0-1) unstable; urgency=medium + + * fix Vcs-Browser and Vcs-Git fields to point at the debian/unstable branch + (closes: #805063) + * add Suggests: libwww-perl to libsbuild-perl because it can optionally make + use of LWP::UserAgent (closes: #703814) + * new upstream version + - ./man/sbuild.1.in: improve documentation of external commands + (closes: #802678) + - bin/sbuild: add --clean-source and --no-clean-source to allow building a + package from an unpacked directory without calling debian/rules clean + (closes: #655215) + - allow changing the user running dpkg-buildpackage inside the chroot + (closes: #661037) + - Check architecture wildcard matching with dpkg inside the chroot to avoid + situations in which dpkg outside the chroot doesn't know about a new + architecture yet (closes: #691539) + - lib/Sbuild/Build.pm: say --build instead of incorrect --build-arch + (closes: #709270) + - bin/sbuild-createchroot: honor --foreign (closes: #709864) + - man/sbuild-setup.7.in: correct section 8 for sbuild-createchroot and + sbuild-adduser (closes: #713033) + - Fix permission of public key (closes: #726866) + - sbuild-createchroot: use union-type=overlay for directory chroot and + promote tarball chroot in the manpage (closes: #751732) + - sbuild-createchroot: run debootstrap with --no-check-gpg if --keyring="" + is passed (closes: #760832) + - Quit processing when external commands fail (closes: #774351) + - bin/sbuild-createchroot: check if chroot already exists before creating a + new one (closes: #782534) + - Print better message when no chroot is specified (closes: #786456) + - Add the --no-arch-any and --arch-any options + - Successfully handle a source only build. (Closes: #799056) + - lib/Sbuild.pm: improve error message about sbuild group membership + (closes: #800317) + - bin/sbuild: turn path to input dsc or source directory into an absolute + path (closes: #801436) + - Set [trusted=yes] for internal dummy repository to make key generation + optional (closes: #801798) + - have a default for CROSSBUILD_CORE_DEPENDS (closes: #806931) + - lib/Sbuild/Chroot.pm: apply environment filter *before* setting + environment variables set by sbuild itself (closes: #807488) + - lib/Sbuild/ChrootInfo.pm: fix error handling (closes: #808290) + - lib/Sbuild/Build.pm: make sure regex only matches lines in the Files + field (closes: #808560) + * drop all patches which have now been applied upstream + + -- Johannes Schauer <josch@debian.org> Sat, 26 Dec 2015 15:19:29 +0100 + +sbuild (0.66.0-5) unstable; urgency=medium + + * Backport commit 6456b3da to make sbuild binary packages reproducible + independent of the build architecture and the build user (closes: #801882) + + -- Johannes Schauer <josch@debian.org> Fri, 16 Oct 2015 07:26:52 +0200 + +sbuild (0.66.0-4) unstable; urgency=medium + + * Backport commit 297dc84a fixing a regression in parsing the output of + `schroot --info` introduced by commit 8a3e12c3 and leading to + sbuild-update not updating the schroot. (closes: #801572) + + -- Johannes Schauer <josch@debian.org> Wed, 14 Oct 2015 10:32:58 +0200 + +sbuild (0.66.0-3) unstable; urgency=medium + + * backport commit 91229d5a calling deps_parse() with build_dep => 1 (closes: + #801637, #801400) + + -- Johannes Schauer <josch@debian.org> Tue, 13 Oct 2015 13:08:47 +0200 + +sbuild (0.66.0-2) unstable; urgency=medium + + * make changelog entry for 0.66.0-1 more explicit wrt the closed bugs. + + -- Johannes Schauer <josch@debian.org> Mon, 05 Oct 2015 09:54:58 +0200 + +sbuild (0.66.0-1) unstable; urgency=medium + + * new upstream version + * demote exim4 to Recommends (Closes: #774310) + * use dpkg --assert-multi-arch to check for multi-arch support (Closes: + #793561) + * allow to set custom configuration file through $SBUILD_CONFIG environment + variable (Closes: #790354) + * look for a BUILD_ARCH chroot instead of HOST_ARCH (Closes: #793951) + * Move running of pre-build-commands until after 'Chroot Dir' is defined + to prevent the %SBUILD_CHROOT_DIR percentage escape being empty when + running the pre-build-commands hook (Closes: #774359) + * external commands are now unparsed strings (Closes: #782672) + * properly setup buildd unstable chroot (Closes: #731062) + * Replaced all unicode-printed chars with plain ASCII (Closes: #665847, + #765886) + * Add --extra-repository-key flag for extra apt keys (Closes: #796539) + * Add a new --arch-all-only option (Closes: #657392) + * Instead of explicitly requesting core packages of the build architecture, + use :native (Closes: #798323) + * Report a proper error message in case /var/lib/sbuild inside the chroot is + not writable (Closes: #797783) + * close and unlink temporary files created by File::Temp::tempfile() (Closes: + #775091) + * external command %SBUILD_SHELL produces an interactive shell (Closes: + #783091) + * If Build-Depends can't be parsed, I now error loudly (Closes: #783335) + * consider stderr as well as stdout before timeout (Closes: #731940) + * make symlink to build log relative if in same directory (Closes: #685416) + * Handle $session being undefined properly (Closes: #745851, #798568, + #790547) + * man/sbuild.1.in: update docs for --dist option (Closes: #783135) + * sbuild-createchroot(8): default suffix is -sbuild, not -chroot (Closes: + #774521) + * Correct inaccurate dpkg Multi-Arch support comment (Closes: #793560) + * Fix call to add_foreign_architecture to actually have an effect (Closes: + #793359) + * Fix crossbuild dependency resolution for apt and aptitude (Closes: #770407) + * create ~/.gnupg if it did not exist before when running sbuild-update + (Closes: #792100) + * use httpredir.debian.org instead of ftp.debian.org or ftp.uk.debian.org + (Closes: #792092) + * add --build-path option and configuration variable to set a deterministic + build path (Closes: #790868) + + -- Johannes Schauer <josch@debian.org> Sun, 04 Oct 2015 09:50:02 +0200 + +sbuild (0.65.2-1) unstable; urgency=medium + + * Team upload. + + [ Ansgar Burchardt ] + * Sort keys in hashes dumped to sbuild.conf and sbuild.conf.man. + Thanks to Reiner Herrmann for the patch. + (Closes: #778482, #764504) + * sbuild-createchroot: set profile=sbuild also for tar-based chroots. + (Closes: #769289) + + [ Aurelien Jarno ] + * lib/Sbuild/Build.pm: only list content for deb/udeb files. (Closes: + #781075) + + -- Aurelien Jarno <aurel32@debian.org> Tue, 24 Mar 2015 14:37:46 +0100 + +sbuild (0.65.1-1) unstable; urgency=medium + + * Team upload. + + [ Roger Leigh ] + * Sbuild::Build: Build arch-all packages when other architectures + are present in the arch list (Closes: #771235). Thanks to + Lennart Sorensen for this patch. + + [ Ansgar Burchardt ] + * Handle :native architecture qualifier in build dependencies. + Thanks to Johannes Schauer for the patch. (Closes: #777204) + * Merge most changes from Debian's buildd-0.64 branch. + + -- Ansgar Burchardt <ansgar@debian.org> Tue, 24 Feb 2015 22:53:16 +0100 + +sbuild (0.65.0-1) unstable; urgency=medium + + [ Benjamin Drung ] + * Team upload. + * Fix various issues found by Lintian: + - Fix spelling mistake: indended -> intended + - Fix hyphen-used-as-minus-sign + - Fix debian-news-entry-uses-asterisk + - Fix copyright-refers-to-symlink-license + - Use canonical VCS fields + * Export additional variables to external commands: %SBUILD_CHROOT_DIR, + %SBUILD_BUILD_DIR, %SBUILD_PKGBUILD_DIR, and %SBUILD_HOST_ARCH + (Closes: #756265) + * Bump Standard-Version to 3.9.6 + * Unset typical desktop variables XDG_RUNTIME_DIR, XDG_SEAT, + XDG_SESSION_COOKIE, XDG_SESSION_ID, and XDG_VTNR (Closes: #729012) + * Fail if dpkg subcommands fail instead of silently ignoring failures. + Thanks to Christoph Biedl for the patch (Closes: #745221) + * Fix build failure if the package version ends with Debian revision 0. + Thanks to Adam Borowski <kilobyte@angband.pl> (Closes: #679574) + * Fix broken man page symlinks in buildd package + + [ Geoffrey Thomas ] + * Refactor temporary build-dep repository code to use apt-get update, + instead of hacking /var/lib/apt/lists. + * Add --extra-package (Closes: #700522) and --extra-repository (Closes: + #714883). + * Accept 0 as a source version number (Closes: #712627) + * Add DEP-8 autopkgtest to build procenv. (Closes: #705926) + + [ Johannes Schauer ] + * sbuild: + - Add build-profiles support (Closes: 731798) + + [ Geoffrey Thomas ] + * Sbuild::ChrootSetup: Pass --no-options to gpg (Closes: #722103) + + -- Wookey <wookey@debian.org> Fri, 17 Oct 2014 17:20:45 +0100 + +sbuild (0.64.3-2) unstable; urgency=medium + + * Ensure foreign-arch logging is correct (Closes: #763635) + + -- Wookey <wookey@debian.org> Wed, 01 Oct 2014 17:32:42 +0100 + +sbuild (0.64.3-1) unstable; urgency=medium + + * Team upload + + [ Wookey ] + * sbuild: + - Add support for multiarch builds (enable foreign arch 'arch' + if Build-Depends includes specific foo:arch dependency) + - Enable chroot setup commands to be run as root + (Closes: #608840,#607228) + - Document command hooks + - Add Wookey to sbuild team/uploaders + + [ Johannes Schauer ] + * sbuild: + - Add starting-/finished- build-commands hooks (Closes: #760991) + + -- Wookey <wookey@debian.org> Sat, 20 Sep 2014 00:38:58 +0100 + +sbuild (0.64.2-1) unstable; urgency=low + + * Team upload. + + [ Colin Watson ] + * buildd: + - Unset some more locale environment variables, and sort these in the + same order as the output of locale(1), to make it easier to compare + visually. + + [ Luca Falavigna ] + * sbuild-createchroot: + - Allow to define custom suffixes in chroot names (Closes: #741727). + - Allow to Define custom debootstrap variant (Closes: #715020). + + [ Christoph Biedl ] + * lib/Sbuild/Build.pm: + - Sort output of package content listing (Closes: #743773). + + -- Luca Falavigna <dktrkranz@debian.org> Fri, 12 Sep 2014 20:02:46 +0200 + +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 <rleigh@debian.org> Sun, 13 Oct 2013 19:35:57 +0100 + +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 <rleigh@debian.org> Fri, 17 May 2013 23:06:13 +0100 + +sbuild (0.63.2-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix building packages with revision "0" (Closes: #687396) + + -- Roland Stigge <stigge@antcom.de> Wed, 05 Dec 2012 14:44:45 +0100 + +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 <rleigh@debian.org> Sat, 18 Aug 2012 13:46:45 +0100 + +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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <rleigh@debian.org> 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 <mbanck@debian.org> 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 <frankie@debian.org> Sat, 25 Sep 2004 17:42:57 +0200 + +sbuild (0.33) unstable; urgency=low + + * Man page sbuild.1 revised. + + -- Francesco Paolo Lovergine <frankie@debian.org> 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 <frankie@debian.org> 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 <frankie@debian.org> 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/<user>/ 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 <frankie@debian.org> 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 <frankie@debian.org> 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 <frankie@debian.org> 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 <frankie@debian.org> 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 <frankie@debian.org> Fri, 20 Jun 2003 15:54:11 +0200 + +sbuild (0.25) unstable; urgency=low + + * New maintainer. + Uploaders: Roger Leigh <roger@whinlatter.uklinux.net> + (closes: #191203) + + -- Francesco Paolo Lovergine <frankie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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/<user> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> 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 <younie@debian.org> Thu, 8 Dec 2001 05:55:08 -0800 + +sbuild (0.2.3) unstable; urgency=low + + * show all changes in initial *.changes + + -- Rick Younie <younie@debian.org> Thu, 6 Dec 2001 05:55:08 -0800 + +sbuild (0.2.2) unstable; urgency=low + + * don't copy /etc/fstab to chroot + + -- Rick Younie <younie@debian.org> 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 <younie@debian.org> Fri, 30 Nov 2001 06:53:24 -0800 + +sbuild (0.2) unstable; urgency=low + + * Initial package + + -- Rick Younie <younie@debian.org> Thu, 8 Nov 2001 00:18:34 -0800 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..f70497f --- /dev/null +++ b/debian/control @@ -0,0 +1,151 @@ +Source: sbuild +Section: devel +Priority: optional +Maintainer: sbuild maintainers <sbuild@packages.debian.org> +Uploaders: Johannes Schauer Marin Rodrigues <josch@debian.org>, + Michael Banck <mbanck@debian.org>, + Francesco Paolo Lovergine <frankie@debian.org>, + Wookey <wookey@debian.org>, + Michael Stapelberg <stapelberg@debian.org>, + Christian Kastner <ckk@debian.org> +Build-Depends: debhelper-compat (= 13) +Build-Depends-Indep: dh-python, + dh-sequence-python3, + groff-base, + libdpkg-perl (>= 1.21.14), + libexception-class-perl, + libfilesys-df-perl, + libmime-lite-perl, + libyaml-tiny-perl, + python3-all +Standards-Version: 4.6.2 +Rules-Requires-Root: no +Vcs-Browser: https://salsa.debian.org/debian/sbuild +Vcs-Git: https://salsa.debian.org/debian/sbuild.git + +Package: libsbuild-perl +Architecture: all +Section: perl +Depends: apt, + apt-utils, + dpkg-dev, + gnupg (>= 2.1), + libdpkg-perl (>= 1.21.14), + libexception-class-perl, + libfilesys-df-perl, + libmime-lite-perl, + ${misc:Depends}, + ${perl:Depends} +Recommends: autopkgtest (>= 4.0.4), schroot (>= 1.6.0) +Suggests: default-mta | mail-transport-agent, libwww-perl +Replaces: sbuild (<= 0.58.4-1) +Description: Library 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: adduser, + libsbuild-perl (= ${source:Version}), + ${misc:Depends}, + ${perl:Depends}, + ${shlibs:Depends} +Recommends: autopkgtest (>= 4.0.4), debootstrap, schroot (>= 1.6.0), uidmap +Suggests: deborphan, e2fsprogs, kmod, wget +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 environment 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: sbuild-debian-developer-setup +Architecture: all +Depends: apt-cacher-ng | apt-cacher, + cron | cron-daemon, + sbuild (>= 0.77.0-5), + schroot, + debootstrap, + ${misc:Depends}, + ${perl:Depends}, + ${shlibs:Depends} +Replaces: sbuild (<< 0.77.0-5) +Breaks: sbuild (<< 0.77.0-5) +Description: Convenience script to set up an sbuild environment for Debian Developers + Run "sudo sbuild-debian-developer-setup" to add the current user to the sbuild + group, create an schroot for building packages for Debian unstable, and create + a cronjob which updates said schroot daily. + . + This script assumes you are on an un-metered internet connection (daily schroot + updates might be costly otherwise). + +Package: buildd +Architecture: all +Depends: adduser, + cron, + default-mta | mail-transport-agent, + devscripts, + dupload, + libsbuild-perl, + libyaml-tiny-perl, + sysvinit-utils (>= 3.05-4) | lsb-base (>= 3.0-6), + sbuild (= ${binary:Version}), + schroot, + ${misc:Depends}, + ${perl:Depends} +Recommends: sudo +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. + +Package: sbuild-qemu +Architecture: all +Depends: autopkgtest (>= 5.17~), + python3-pexpect, + python3-psutil, + qemu-system-x86, + qemu-utils, + sbuild, + vmdb2 (>= 0.22), + ${misc:Depends}, + ${python3:Depends}, +Recommends: qemu-system-arm, + qemu-system-ppc, +Breaks: qemu-sbuild-utils (<< 0.2.1~) +Replaces: qemu-sbuild-utils (<< 0.2.1~) +Description: Utilities for using sbuild with QEMU images + These utilities facilitate the use of sbuild together with QEMU images using + sbuild's --chroot-mode=autopkgtest. Currently, amd64 and i386 guest + architectures are supported, with more in the works. + . + The following utilities are provided: + . + * sbuild-qemu-create Create an image suitable for building packages + * sbuild-qemu-update Run apt-get update within the image + * sbuild-qemu Use sbuild with the image to build a package diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..514f92d --- /dev/null +++ b/debian/copyright @@ -0,0 +1,105 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: sbuild +Source: https://salsa.debian.org/debian/sbuild +Comment: + sbuild is maintained by the Debian buildd-tools project team. It was + downloaded from https://salsa.debian.org/debian/sbuild.git. + . + 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. + . + 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 + +Files: * +Copyright: © 1998-2000 Roman Hodek <roman@hodek.net> + © 1998-1999 James Troup <troup@debian.org> + © 2003-2006 Ryan Murray <rmurray@debian.org> + © 2001-2003 Rick Younie <younie@debian.org> + © 2003-2004 Francesco Paolo Lovergine <frankie@debian.org> + © 2005 Michael Banck <mbanck@debian.org> + © 2005-2008 Roger Leigh <rleigh@debian.org> + © 2015-2024 Johannes Schauer Marin Rodrigues <josch@debian.org> + © 2020-2024 Christian Kastner <ckk@debian.org> +License: GPL-2+ + +Files: Makefile.am + bin/Makefile.am + configure.ac + db/Makefile.am + etc/Makefile.am + lib/Buildd/Makefile.am + lib/Makefile.am + lib/Sbuild/Makefile.am + man/Makefile.am + scripts/global.mk + test/Makefile.am + tools/Makefile.am +Copyright: © 2004-2009 Roger Leigh <rleigh@debian.org> + © 2016-2022 Johannes Schauer Marin Rodrigues <josch@debian.org> +License: GPL-3+ + +Files: debian/* +Copyright: © 2001-2003 Rick Younie <younie@debian.org> + © 2003-2004 Francesco Paolo Lovergine <frankie@debian.org> + © 2005 Michael Banck <mbanck@debian.org> + © 2005-2008 Roger Leigh <rleigh@debian.org> + © 2015-2022 Johannes Schauer Marin Rodrigues <josch@debian.org> +License: GPL-2+ + +Files: debian/buildd.init +Copyright: © 2006-2009 Roger Leigh <rleigh@debian.org> + © 2007 Federico Di Gregorio <fog@debian.org + © 2015-2022 Johannes Schauer Marin Rodrigues <josch@debian.org> +License: GPL-3+ + +License: GPL-2+ + 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 package; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU General Public + License version 2 can be found in the file + `/usr/share/common-licenses/GPL-2'. + +License: GPL-3+ + 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 3 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 package; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU General Public + License version 3 can be found in the file + `/usr/share/common-licenses/GPL-3'. diff --git a/debian/libsbuild-perl.install b/debian/libsbuild-perl.install new file mode 100644 index 0000000..d5a384f --- /dev/null +++ b/debian/libsbuild-perl.install @@ -0,0 +1 @@ +debian/tmp/usr/share/perl5/Sbuild* usr/share/perl5 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..134e3b6 --- /dev/null +++ b/debian/rules @@ -0,0 +1,7 @@ +#!/usr/bin/make -f + +%: + dh $@ + +override_dh_installinit: + dh_installinit --no-start --no-stop-on-upgrade diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml new file mode 100644 index 0000000..a5957e7 --- /dev/null +++ b/debian/salsa-ci.yml @@ -0,0 +1,8 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml + +variables: + SALSA_CI_DISABLE_BLHC: 1 + SALSA_CI_DISABLE_BUILD_PACKAGE_ANY: 1 diff --git a/debian/sbuild-debian-developer-setup.install b/debian/sbuild-debian-developer-setup.install new file mode 100644 index 0000000..259c695 --- /dev/null +++ b/debian/sbuild-debian-developer-setup.install @@ -0,0 +1,2 @@ +etc/sbuild-debian-developer-setup-update-all etc/cron.daily +usr/bin/sbuild-debian-developer-setup diff --git a/debian/sbuild-debian-developer-setup.manpages b/debian/sbuild-debian-developer-setup.manpages new file mode 100644 index 0000000..0f2e7a0 --- /dev/null +++ b/debian/sbuild-debian-developer-setup.manpages @@ -0,0 +1 @@ +usr/share/man/man1/sbuild-debian-developer-setup.1 diff --git a/debian/sbuild-debian-developer-setup.postrm b/debian/sbuild-debian-developer-setup.postrm new file mode 100755 index 0000000..8f9ffb3 --- /dev/null +++ b/debian/sbuild-debian-developer-setup.postrm @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +case "$1" in + purge) + if [ -e /var/log/sbuild-update-all.log ]; then + rm /var/log/sbuild-update-all.log + fi + ;; +esac + +#DEBHELPER# diff --git a/debian/sbuild-qemu.README b/debian/sbuild-qemu.README new file mode 100644 index 0000000..42d9e65 --- /dev/null +++ b/debian/sbuild-qemu.README @@ -0,0 +1,10 @@ +README for sbuild-qemu +====================== + +Acceleration +------------ + +By adding the build user to the 'kvm' group, qemu-sbuild can operate with +near-native performance on systems where KVM is supported. + + $ sudo gpasswd -a <build-user> kvm diff --git a/debian/sbuild-qemu.install b/debian/sbuild-qemu.install new file mode 100644 index 0000000..d70845c --- /dev/null +++ b/debian/sbuild-qemu.install @@ -0,0 +1,5 @@ +usr/bin/sbuild-qemu +usr/bin/sbuild-qemu-boot +usr/bin/sbuild-qemu-create +usr/bin/sbuild-qemu-create-modscript usr/share/sbuild/ +usr/bin/sbuild-qemu-update diff --git a/debian/sbuild-qemu.manpages b/debian/sbuild-qemu.manpages new file mode 100644 index 0000000..19f8266 --- /dev/null +++ b/debian/sbuild-qemu.manpages @@ -0,0 +1,4 @@ +usr/share/man/man1/sbuild-qemu-boot.1 +usr/share/man/man1/sbuild-qemu-create.1 +usr/share/man/man1/sbuild-qemu-update.1 +usr/share/man/man1/sbuild-qemu.1 diff --git a/debian/sbuild.NEWS b/debian/sbuild.NEWS new file mode 100644 index 0000000..b42e80f --- /dev/null +++ b/debian/sbuild.NEWS @@ -0,0 +1,23 @@ +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 <rleigh@debian.org> Tue, 09 Nov 2010 16:32:18 +0000 diff --git a/debian/sbuild.README.Debian b/debian/sbuild.README.Debian new file mode 100644 index 0000000..4a8af9a --- /dev/null +++ b/debian/sbuild.README.Debian @@ -0,0 +1,55 @@ +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 <rleigh@debian.org>, Sat, 16 Aug 2008 16:05:55 +0100 diff --git a/debian/sbuild.install b/debian/sbuild.install new file mode 100644 index 0000000..1619ec7 --- /dev/null +++ b/debian/sbuild.install @@ -0,0 +1,21 @@ +# sbuild*, but not sbuild-debian-developer-setup +debian/tmp/etc/sbuild etc +debian/tmp/usr/bin/sbuild usr/bin +debian/tmp/usr/bin/sbuild-abort usr/bin +debian/tmp/usr/bin/sbuild-apt usr/bin +debian/tmp/usr/bin/sbuild-checkpackages usr/bin +debian/tmp/usr/bin/sbuild-clean usr/bin +debian/tmp/usr/bin/sbuild-createchroot usr/bin +debian/tmp/usr/bin/sbuild-distupgrade usr/bin +debian/tmp/usr/bin/sbuild-hold usr/bin +debian/tmp/usr/bin/sbuild-shell usr/bin +debian/tmp/usr/bin/sbuild-unhold usr/bin +debian/tmp/usr/bin/sbuild-update usr/bin +debian/tmp/usr/bin/sbuild-upgrade usr/bin +debian/tmp/usr/lib/apt/solvers/sbuild-cross-resolver usr/lib/apt/solvers +debian/tmp/usr/sbin/sbuild-adduser usr/sbin +debian/tmp/usr/sbin/sbuild-destroychroot usr/sbin +debian/tmp/usr/share/doc/sbuild usr/share/doc +debian/tmp/usr/share/sbuild usr/share +debian/tmp/var/lib/sbuild var/lib +debian/tmp/var/lib/sbuild/apt-keys var/lib/sbuild diff --git a/debian/sbuild.manpages b/debian/sbuild.manpages new file mode 100644 index 0000000..efa2262 --- /dev/null +++ b/debian/sbuild.manpages @@ -0,0 +1,14 @@ +usr/share/man/man1/sbuild-abort.1 +usr/share/man/man1/sbuild-apt.1 +usr/share/man/man1/sbuild-checkpackages.1 +usr/share/man/man1/sbuild-clean.1 +usr/share/man/man1/sbuild-distupgrade.1 +usr/share/man/man1/sbuild-hold.1 +usr/share/man/man1/sbuild-shell.1 +usr/share/man/man1/sbuild-unhold.1 +usr/share/man/man1/sbuild-update.1 +usr/share/man/man1/sbuild-upgrade.1 +usr/share/man/man1/sbuild.1 +usr/share/man/man5/sbuild* +usr/share/man/man7/sbuild* +usr/share/man/man8/sbuild* diff --git a/debian/sbuild.postinst b/debian/sbuild.postinst new file mode 100755 index 0000000..d8b8854 --- /dev/null +++ b/debian/sbuild.postinst @@ -0,0 +1,81 @@ +#! /bin/sh +# postinst script for sbuild +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# 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 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 --comment "Debian source builder" sbuild + fi + # Unlock account in case it was locked from previous purge. + usermod -U -e '' sbuild || true + + chown sbuild:sbuild /var/lib/sbuild /var/lib/sbuild/apt-keys /var/lib/sbuild/build + 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 diff --git a/debian/sbuild.postrm b/debian/sbuild.postrm new file mode 100755 index 0000000..c34b25d --- /dev/null +++ b/debian/sbuild.postrm @@ -0,0 +1,96 @@ +#! /bin/sh +# postrm script for sbuild +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> +# 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 || true + + 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 diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/debian/tests/build-procenv b/debian/tests/build-procenv new file mode 100644 index 0000000..73f7e25 --- /dev/null +++ b/debian/tests/build-procenv @@ -0,0 +1,194 @@ +#!/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 '[:upper:]' '[:lower:]') +[ -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://httpredir.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 "$AUTOPKGTEST_TMP" ] && die "AUTOPKGTEST_TMP not set" +dir="$AUTOPKGTEST_TMP/schroot-$release" + +if ! mknod "$AUTOPKGTEST_TMP"/test-dev-null c 1 3; then + echo "Cannot make special nodes; running in unprivileged container?" >&2 + exit 77 +else + rm "$AUTOPKGTEST_TMP"/test-dev-null +fi + +# on Debian Salsa CI, $AUTOPKGTEST_NORMAL_USER is empty +if [ -z "$AUTOPKGTEST_NORMAL_USER" ]; then + AUTOPKGTEST_NORMAL_USER=debci + useradd --create-home "$AUTOPKGTEST_NORMAL_USER" +fi +passwd --delete "$AUTOPKGTEST_NORMAL_USER" +usermod --append --groups sudo,sbuild "$AUTOPKGTEST_NORMAL_USER" + +# 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 + +if [ -z "$http_proxy" ]; then + RES=$(apt-config shell http_proxy Acquire::http::Proxy) + # shellcheck disable=SC2086 + eval $RES + export http_proxy + echo "INFO: using proxy: ${http_proxy:-(none)}" +fi + +echo "INFO: Creating sbuild chroot '$chroot' for release '$release' in directory '$dir' from url '$url'" +[ -n "$components" ] && components="--components=$components" +# avoid "debconf: delaying package configuration, since apt-utils is not installed" +runuser -u "$AUTOPKGTEST_NORMAL_USER" -- sudo sbuild-createchroot $components "$release" "$dir" "$url" +if [ -n "$http_proxy" ]; then + echo "Acquire::http { Proxy \"$http_proxy\"; };" > "$dir/etc/apt/apt.conf.d/01proxy" +fi + +echo "INFO: Checking chroot '$chroot' is known" +schroot --list --all-chroots|grep "^chroot:${chroot}$" + +echo "INFO: Displaying information about chroot '$chroot'" +schroot --info "${chroot}" + +echo "INFO: Building package '$pkg' for release '$release'" +runuser -u "$AUTOPKGTEST_NORMAL_USER" -- sbuild --verbose -A -d "$release" "$pkg" 2>&1 + +deb=$(ls ${pkg}_*"_${arch}.deb") + +echo "INFO: Displaying sbuild log" +cat "${pkg}_${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="$AUTOPKGTEST_TMP/extract" +echo "INFO: Extracting '$deb' to '$extract'" +dpkg --extract "$deb" "$extract" + +if [ "$release" = "$host_release" ] +then + echo "INFO: Installing package '$pkg' from '$deb'" + apt -o Apt::Cmd::Disable-Script-Warning=1 -o APT::Get::Assume-Yes=1 install "$(pwd)/$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 $AUTOPKGTEST_TMP 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" diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..a0f720a --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,16 @@ +Tests: build-procenv +Depends: apt (>= 1.1~exp2), apt-utils, debootstrap, distro-info, lsb-release, sudo, @ +Restrictions: needs-root skippable + +Tests: unshare +Depends: build-essential, + devscripts, + diffoscope, + fakeroot, + gnupg, + mmdebstrap, + python3-apt, + sbuild, + sqop, + uidmap +Restrictions: allow-stderr diff --git a/debian/tests/get_default_release.py b/debian/tests/get_default_release.py new file mode 100755 index 0000000..5fbde91 --- /dev/null +++ b/debian/tests/get_default_release.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 + +import platform +import sys + +import apt_pkg + +os_release = platform.freedesktop_os_release() +if os_release["ID"] != "debian" and os_release.get("VERSION_CODENAME"): + print(os_release["VERSION_CODENAME"]) + sys.exit(0) + +apt_pkg.init() +c = apt_pkg.Cache(None) +d = apt_pkg.DepCache(c) +s = apt_pkg.SourceList() +s.read_main_list() + +highest_prio = -1 +highest_archive = None +for pkgfile, _ in d.get_candidate_ver(c["base-files"]).file_list: + print("processing: %s" % pkgfile, file=sys.stderr) + index = s.find_index(pkgfile) + if index is None: + print("index is none -- skipping", file=sys.stderr) + continue + if not index.is_trusted: + print("index is not trusted -- skipping", file=sys.stderr) + continue + archive = pkgfile.archive + if archive not in ["stable", "testing", "unstable"]: + print("index archive %s is %s -- skipping" % (index, archive), file=sys.stderr) + continue + prio = d.policy.get_priority(pkgfile) + if prio > highest_prio: + highest_prio = prio + highest_archive = archive +if highest_archive is None: + print( + "highest priority apt archive is neither stable, testing or unstable", + file=sys.stderr, + ) + for f in c.file_list: + print("========================", file=sys.stderr) + for a in [ + "architecture", + "archive", + "codename", + "component", + "filename", + "id", + "index_type", + "label", + "not_automatic", + "not_source", + "origin", + "site", + "size", + "version", + ]: + print("%s: %s" % (a, getattr(f, a, None)), file=sys.stderr) + print("priority: ", d.policy.get_priority(f), file=sys.stderr) + exit(1) +print("highest archive priority: %s" % highest_archive, file=sys.stderr) +print(highest_archive) diff --git a/debian/tests/unshare b/debian/tests/unshare new file mode 100755 index 0000000..0697255 --- /dev/null +++ b/debian/tests/unshare @@ -0,0 +1,265 @@ +#!/bin/sh +# +# This script tests whether sbuild can work with a very minimal chroot (only +# build-essential and apt), whether unshare mode works and whether signing +# works. +# +# After bugs #977674 and #981021 are fixed, also test --source-only-changes + +set -exu + +if [ -z ${AUTOPKGTEST_TMP+x} ]; then + echo "AUTOPKGTEST_TMP is unset" >&2; + exit 1 +fi + +release=$(./debian/tests/get_default_release.py) +if [ -z "$release" ]; then + echo "cannot get default release" >&2 + exit 1 +fi +nativearch=$(dpkg --print-architecture) + +mkdir -p "${AUTOPKGTEST_TMP}/gpghome" +chmod 700 "${AUTOPKGTEST_TMP}/gpghome" +export GNUPGHOME="${AUTOPKGTEST_TMP}/gpghome" + +verify_orig() { + echo "verifying test-pkg_1.0.tar.xz" >&2 +cat << END | base64 -d | xz -cd > "${AUTOPKGTEST_TMP}/expected" +/Td6WFoAAATm1rRGAgAhARYAAAB0L+Wj4Cf/BBZdADoZSs4dfiUjFYSOxzYxnd+/m6AlVEVOGf2j +nT6NK0F9XZ7LLydbY3I//WjMOM2RFpGUqZ8R8Q8lLmydB5SLN5ZQSPW3OJjHlzxVQmv2v3KUyPxo +V5uvr2rp1j0gfmjB4O+m6SMxUWGmCOp3mrA13iUy99dt9OK9tRQagXItob106li/2LWmOsXR3/5M +8m/JLF/6KIaYolPsvzut8mTFmik8s22eXjugZufC7CQwXJ7KVb8/LPYgLzHo8tKwkrieBonYFwD+ +R17Q1wsK/wbdQCw78oh4JrairZPz0NY1WsY/6GXQZOeo0Wl3dgG0PmrQtgPH133asZz5XgrtfDwU +KqaSBmKWIGrht7IqByDr5Bf+XyzpU9vwiE30hIVmvzCQDnNIrcaO5wZJQgujJreb4k1BKKmZJ4dT +B46ae4yTd8zLLGH7YwFWk145SHCQJOBakSuVGjej3zElgoNsTwYTAK5J3wQX/BEszByCX+5AKUP3 +v4ZGs1oyM65MyvWjQNqYmMYK2juki3pvUV+d+XhR7S3wrmLuq5P2PHAU6chrOs+n9HewOOE//L6O +gq5jJFLEtMRzAXUSpKERHuwdzt0MfiKSWDfeqRUy5Pfoh+pNrpYdA/jsiH37EhzSR3evlu92fwVP +gTO+5GV7wgpDvI24RMwTK5oXtcJHShfeBe61HUHF/BIDx1hbuV2SjMoYVT8Q3A09bdpEjI7tqyfM +evjoP8WJ3fGJfj02LBCQF2Rzp7rOSWjjFfpTaepgIBfuU9BBJ6VecWgsidQ/kJSyL2+ZQ9EFTUET +YU4/yQ7G+GDJFNij3h0vSuhc2zblAmUvfWNpzZUWORDZhJCIGQnczbbEhzuCILGsnq/8Rw48mMun +jKxq2HbQrl50uPSnYu94sgaSq9ev3ZXA/ORE9wxzK74nBnurW8KGcUbZyLv0JdBF99d8QdCD50u/ +8JuSVlMB7RBQkH6azuMlObRnPmi1dnUKUwAK3HSSSlxyELIGRgj4dm6BHhtFdTsKDziaNUeE5Cna +lj7rmf50f/N9LR6HX/+8vtEk7J+R4uLoSlAYi1UUHICfsGeItmOWneGZZ1mEsmhVIRw0YMg1qrgo +Ngl1nOQuSoqplYrbmxdCw4oduvYB3OgXfcLOcUAc+1WDN5Dmqh6gwxKX8HOm0I38EwPVc9qD0hxR +Y38ZubJeYl1QScQZndB7mlN5FBaMZTDJfuPbnwykozxXl76gPtZLO2CFcTnL2kvT/40ydjxwXGpA +hGY9jQZg/RJY+A49vQTPzt87LF8IOdmecD4cNYHyLIOZ8rTlNVWMZ+M7JSu8UhWWGG9jrQ0IVIi9 +HHF+p/1uF4uIAuk/Y8D2ZKB+C3sTI/A47u58/zG6hpHuZbkUJ2qVEIqSBVZhSEuJoaAAAAAAwt/l +WjS+6mMAAbIIgFAAAOm1wiWxxGf7AgAAAAAEWVo= +END + xz -cd < "${AUTOPKGTEST_TMP}/test-pkg_1.0.tar.xz" > "${AUTOPKGTEST_TMP}/test-pkg_1.0.tar" + diffoscope "${AUTOPKGTEST_TMP}/expected" "${AUTOPKGTEST_TMP}/test-pkg_1.0.tar" + rm "${AUTOPKGTEST_TMP}/expected" "${AUTOPKGTEST_TMP}/test-pkg_1.0.tar" +} + +verify_deb() { + echo "verifying test-pkg_1.0_all.deb" >&2 + data_tar=$(ar t "${AUTOPKGTEST_TMP}/test-pkg_1.0_all.deb" | grep "^data\.tar\.") + case "$data_tar" in + data.tar.xz) +cat << END | base64 -d > "${AUTOPKGTEST_TMP}/expected" +ITxhcmNoPgpkZWJpYW4tYmluYXJ5ICAgMTQ2NzMxMDUxMiAgMCAgICAgMCAgICAgMTAwNjQ0ICA0 +ICAgICAgICAgYAoyLjAKY29udHJvbC50YXIueHogIDE0NjczMTA1MTIgIDAgICAgIDAgICAgIDEw +MDY0NCAgNDYwICAgICAgIGAK/Td6WFoAAATm1rRGBMCLA4BQIQEWAAAAAAAAABDCPtjgJ/8Bg10A +Fwu8HH0BlcAdSj55FcLMJqNUbvT+gy5sC9KUdfhWlMfx+HFB6yCe/fISQhBljyagwzHK2z0fjzyl +9Q5RM24IJQO/ldGzSmZVQWpU6KVdaPbRDHZuPdcqnL6anvCMgysm5qSPjjXVOwMVwj6jVZ5T2sCV +Fd/tSdNnW1XFUQn9644MqVzknw4SL9DaLW7i3+zDmOmKLa1uyfXLuKVwGKiN/XsSDaT3B5SeuLIF +zwuAJSCguYhU4uMPUxWJnyNUaQwmnOO3Xd+TOkvIqqSrdnOHGqbp12kRpSDYAwHfpmldwagZ/ASu +HwJhd7Lk9pL1pNzWZazJ9RoCkHx449h6+exGzkVLLw7R+Exmp1O27wZC9/RuDyQE0JOY4Y1jGp1A +fH5U9xynjVoRrP5/hETw+GrGZoDShN8D/Z7rG5ICtTEqnspW6LWJLCDwndpz6OplHPZTDKckJYp7 +U6sXoF5ISdBIUEAc7XBEN61AQTJnfZ6L8d4L87WDLz5bFzwsk3o7cl5PzAXsAAAwfo4j+rTojAAB +pwOAUAAA0BcJAbHEZ/sCAAAAAARZWmRhdGEudGFyLnh6ICAgICAxNDY3MzEwNTEyICAwICAgICAw +ICAgICAxMDA2NDQgIDE2OCAgICAgICBgCv03elhaAAAE5ta0RgTAZ4BQIQEWAAAAAAAAAAA01v2+ +4Cf/AF9dABcLvBx9AZXAHUo+eRXCzCajVG70/oMubAvSlHX4VpTH8fhxQesgnv3yEkIQZY8moMMx +yts9NQ8iYiRRZoI1x3LfpWOmroELBNZOWKNu6b83Vt4bhMs3qreRNcwuusQAAADYvYvhx4Mp4gAB +gwGAUAAAkAP057HEZ/sCAAAAAARZWg== +END + ;; + data.tar.zst) +cat << END | base64 -d > "${AUTOPKGTEST_TMP}/expected" +ITxhcmNoPgpkZWJpYW4tYmluYXJ5ICAgMTQ2NzMxMDUxMiAgMCAgICAgMCAgICAgMTAwNjQ0ICA0 +ICAgICAgICAgYAoyLjAKY29udHJvbC50YXIuenN0IDE0NjczMTA1MTIgIDAgICAgIDAgICAgIDEw +MDY0NCAgMzUwICAgICAgIGAKKLUv/WQAJ4UKAGaUPR8wr3OfaHLzW/rmP8HOkcTnBovOY5D8n9NV +ChqKoIoEOAA2ADMAzopgga7cn9jayFtG8+YMBo4DRRCBEMVJW84nYFrPSdtPt2vWoLfmkaQoaqIH +GkiP05oGQVLTBEwTX2AjUHGM21UqnMGik5ELKa6Yih0Kr5JXEWZU/US5JdyFi3E/Mc36ccPrUYRr +GOeTnLBSfgS9fL3PvqvOkYV8fzWkHFC5Toxm2C0JLToh31d4Oe4O6auccHGx+cnSkE5IGc7K+nHD +PQ/NMZB5rpIrR1Zyue+Uq2V6vvq9V991hfscqc3iTh4367dnyayv8/WEYWTqsyWMDyMgoGbE6BwD +hwLivu4QntW4sszQa2iwIhcqWTtLH3LhYBas18yojQ3csbdKAYvwL9k62jmcZUHtgA22GpVdWRwP +aJJn6A4Gq+wPmHxdflhYgjAFMJ+wG3l8cGxkYXRhLnRhci56c3QgICAgMTQ2NzMxMDUxMiAgMCAg +ICAgMCAgICAgMTAwNjQ0ICA3OSAgICAgICAgYAootS/9ZAAnDQIA0sIJEMCnA7Qs/x3bV/QmIfh6 +PwWjUsxVhqCTvrqW2V7Eot1IE/e77AEECSCQmwfPBhwGBrB/kHoYkACmAPOJugHP3myvCg== +END + ;; + *) + echo "Unrecognized deb data archive format" >&2 + return 1 + ;; + esac + diffoscope "${AUTOPKGTEST_TMP}/expected" "${AUTOPKGTEST_TMP}/test-pkg_1.0_all.deb" + rm "${AUTOPKGTEST_TMP}/expected" +} + +verify_dsc() { + # we shouldn't have to manually pass the keyring because the path is an + # implementation detail of gnupg (it used to be named pubring.gpg in + # the past) but dscverify ignores GNUPGHOME, see Debian bug #981008 + echo "verifying test-pkg_1.0.dsc" >&2 + dscverify --keyring="${AUTOPKGTEST_TMP}/gpghome/pubring.kbx" \ + "${AUTOPKGTEST_TMP}/test-pkg_1.0.dsc" +} + +verify_bin_changes() { + echo "verifying test-pkg_1.0_${nativearch}.changes" >&2 + dscverify --keyring="${AUTOPKGTEST_TMP}/gpghome/pubring.kbx" \ + "${AUTOPKGTEST_TMP}/test-pkg_1.0_${nativearch}.changes" +} + +verify_src_changes() { + echo "verifying test-pkg_1.0_source.changes" >&2 + dscverify --keyring="${AUTOPKGTEST_TMP}/gpghome/pubring.kbx" \ + "${AUTOPKGTEST_TMP}/test-pkg_1.0_source.changes" +} + +verify() { + for thing in "$@"; do + "verify_$thing" + done + # remove verified files, so that we make sure not to accidentally + # verify anything from an earlier build + rm "${AUTOPKGTEST_TMP}/test-pkg_1.0_all.deb" \ + "${AUTOPKGTEST_TMP}/test-pkg_1.0.tar.xz" \ + "${AUTOPKGTEST_TMP}/test-pkg_1.0.dsc" + rm -f "${AUTOPKGTEST_TMP}/test-pkg_1.0_${nativearch}.changes" \ + "${AUTOPKGTEST_TMP}/test-pkg_1.0_source.changes" \ + "${AUTOPKGTEST_TMP}/test-pkg_1.0_${nativearch}.buildinfo" \ + "${AUTOPKGTEST_TMP}/test-pkg_1.0_source.buildinfo" +} + +sqop generate-key "sbuild fake uploader <fake-uploader@debian.org>" > "${AUTOPKGTEST_TMP}/key.asc" +gpg --batch --allow-secret-key-import --import - < "${AUTOPKGTEST_TMP}/key.asc" + +# Ensure umask is consistent with the blobs above; Debian is already 022 but +# Ubuntu defaults to 002 +umask 022 +mkdir -p "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/source" + +cat << END > "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/control" +Source: test-pkg +Section: debug +Priority: optional +Maintainer: sbuild maintainers <sbuild@packages.debian.org> +Uploaders: sbuild fake uploader <fake-uploader@debian.org> +Standards-Version: 4.5.1 + +Package: test-pkg +Architecture: all +Description: test package + This is a test package for debugging purposes, with a fake description + to cheat linters into believing this contains some actual valuable text + that the reader can make some sense of. +END + +cat << END > "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/changelog" +test-pkg (1.0) unstable; urgency=low + + * Entry. Closes: #12345 + + -- sbuild fake uploader <fake-uploader@debian.org> Thu, 30 Jun 2016 20:15:12 +0200 +END + +cat << END > "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/copyright" +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: * +Copyright: + Copyright © 2021 sbuild maintainers <sbuild@packages.debian.org> +License: GPL-2+ + 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. + . + On Debian systems, the full text of the GNU General Public License version 2 + can be found in the file /usr/share/common-licenses/GPL-2. +END + +cat << END > "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/rules" +#!/usr/bin/make -f + +clean: + rm -rf debian/files debian/tmp + +build-indep: +build-arch: +build: build-indep build-arch + +binary-indep: build-indep + rm -rf debian/tmp + mkdir -p debian/tmp/DEBIAN + dpkg-gencontrol + dpkg-deb --build debian/tmp .. + +binary-arch: build-arch + +binary: binary-indep binary-arch + +.PHONY: clean build-indep build-arch build binary-indexp binary-arch binary +END +chmod +x "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/rules" + +cat << END > "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/source/format" +3.0 (native) +END + +mmdebstrap --mode=unshare --variant=apt \ + --debug \ + --hook-dir=/usr/share/mmdebstrap/hooks/copy-host-apt-sources-and-preferences \ + --hook-dir=/usr/share/mmdebstrap/hooks/file-mirror-automount \ + --skip=cleanup/apt/lists \ + "$release" \ + "${AUTOPKGTEST_TMP}/chroot.tar" + +env --chdir="${AUTOPKGTEST_TMP}/test-pkg-1.0/" dpkg-buildpackage --sign-keyfile="${AUTOPKGTEST_TMP}/key.asc" --build=full +env --chdir="${AUTOPKGTEST_TMP}/test-pkg-1.0/" dpkg-buildpackage --sign-keyfile="${AUTOPKGTEST_TMP}/key.asc" --target=clean +verify orig deb dsc bin_changes + +run_sbuild() { + workingdir=$1; shift + env --chdir="${AUTOPKGTEST_TMP}/$workingdir/" sbuild \ + --no-source-only-changes --nolog \ + --chroot="${AUTOPKGTEST_TMP}/chroot.tar" --chroot-mode=unshare \ + --keyid="sbuild fake uploader <fake-uploader@debian.org>" \ + --no-run-lintian --no-run-autopkgtest \ + --no-apt-upgrade --no-apt-distupgrade --no-apt-update \ + "$@" +} + +# Test running sbuild from the unpacked source +run_sbuild test-pkg-1.0 --source +verify orig deb dsc bin_changes + +run_sbuild test-pkg-1.0 +verify orig deb bin_changes + +# Test running sbuild on the dsc +env --chdir="${AUTOPKGTEST_TMP}/test-pkg-1.0/" dpkg-source --build . +run_sbuild '' --source -d "$release" test-pkg_1.0.dsc +verify orig deb dsc bin_changes + +env --chdir="${AUTOPKGTEST_TMP}/test-pkg-1.0/" dpkg-source --build . +run_sbuild '' -d "$release" test-pkg_1.0.dsc +verify orig deb bin_changes + + +gpgconf --kill all || : +rm -r -- "${AUTOPKGTEST_TMP}/gpghome/" "${AUTOPKGTEST_TMP}/key.asc" +rm "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/changelog" \ + "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/control" \ + "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/source/format" \ + "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/rules" \ + "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/copyright" +rmdir "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian/source" \ + "${AUTOPKGTEST_TMP}/test-pkg-1.0/debian" \ + "${AUTOPKGTEST_TMP}/test-pkg-1.0" +rm "${AUTOPKGTEST_TMP}/chroot.tar" |