summaryrefslogtreecommitdiffstats
path: root/ChangeLog.in
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog.in')
-rw-r--r--ChangeLog.in1091
1 files changed, 1091 insertions, 0 deletions
diff --git a/ChangeLog.in b/ChangeLog.in
new file mode 100644
index 0000000..4d89ad9
--- /dev/null
+++ b/ChangeLog.in
@@ -0,0 +1,1091 @@
+ChangeLog -*- outline -*-
+---------
+
+Welcome to @PACKAGE@ @VERSION@. Please read these release notes carefully.
+
+Full installation instructions are provided in the INSTALL file. The
+README file also contains more specific notes regarding building and
+configuration.
+
+ * Major changes in 0.80.0:
+
+ 1) sbuild became a Debian native package -- consult debian/changelog or
+ /usr/share/doc/sbuild/changelog.Debian.gz instead
+
+ * Major changes in 0.79.1:
+
+ 1) buildd: add --dpkg-file-suffix option
+
+ * Major changes in 0.79.0:
+
+ 1) sbuild-createchroot: handle building armel/armhf on arm64, mipsel on
+ mips64el and powerpc on ppc64
+
+ 2) avoid using gzip --keep option, gzip in wheezy doesn't have it
+
+ 3) sbuild: add --dpkg-file-suffix option
+
+ 4) sbuild: pass the right .changes file to lintian
+
+ 5) sbuild-createchroot: use umask 0022
+
+ 6) sbuild: add APT_KEEP_DOWNLOADED_PACKAGES config variable
+
+ * Major changes in 0.78.1:
+
+ None (bugfix release)
+
+ * Major changes in 0.78.0:
+
+ 1) core: Add libc-dev and libstdc++-dev to Build-Depends when cross
+ compiling
+
+ 2) core: default to --no-arch-all when cross compiling
+
+ 3) core: Set build profiles cross and nocheck by default when cross
+ compiling
+
+ 4) core: Switch to C.UTF-8 for $LC_ALL
+
+ 5) core: allow chroots with nothing more but Essenital:yes packages, apt
+ and their hard dependencies and create missing users and groups as
+ needed
+
+ 6) sbuild: add --build-dir option
+
+ 7) sbuild: add --no-source-only-changes option
+
+ 8) sbuild: add --post-build-failed-commands hook
+
+ 9) sbuild: let --append-to-version imply --no-arch-all
+
+ 10) sbuild-createchroot: Don't usrmerge even if it is the debootstrap default
+
+ * Major changes in 0.77.1:
+
+ 1) sbuild: run dpkg-source --before-build and --after-build
+
+ 2) core: fix bd-uninstallable dose explainer for cross-building
+
+ * Major changes in 0.77.0:
+
+ 1) core: New chroot mode "unshare" which allows unprivileged package builds
+ by using Linux user namespaces. Only requires lightweight newuidmap and
+ newgidmap suid binaries. Chroots can be created and updated without
+ needing sudo and are stored in ~/.cache/sbuild or an arbitrary absolute
+ path given via the --chroot option.
+
+ 2) core: Add null resolver which does not install, upgrade or remove any
+ packages. This allows one to take full control over the package
+ installation process by using hooks.
+
+ 3) core: Remove support for signing the dummy archive because Squeeze LTS
+ support ended in February 2016: remove the --keygen option from
+ sbuild-update, remove the SBUILD_BUILD_DEPENDS_SECRET_KEY and
+ SBUILD_BUILD_DEPENDS_PUBLIC_KEY configuration variables.
+
+ 4) core: disable network during dpkg-buildpackage for backends that support
+ it (currently only the unshare backend)
+
+ 5) core: Install (cross-)build-essential, manual depends and build depends
+ with a single dummy package instead of using a multi-step process to
+ avoid having later steps change what was installed in earlier steps.
+
+ 6) core: Filter out foreign essential and multiarch foreign packages before
+ passing them to dose3 when cross building to prevent solutions that use
+ essential and multiarch foreign packages from the non-native
+ architecture.
+
+ 7) sbuild: Command line option --make-binNMU now implies --no-arch-all
+
+ 8) sbuild: only run autopkgtest if debian/tests/control exists
+
+ 9) sbuild: Add new build log filtering for /build/pkg-minimal-XXX/resolver-YYY:
+ <<RESOLVERDIR>>
+
+ 10) sbuild: Additional Lintian reasons in build log: info and warn.
+
+ 11) sbuild: Dump content of the input .dsc before extracting it.
+
+ 12) sbuild: Also print kernel version in build log
+
+ 13) sbuild-createchroot: do not attempt several setup options when the user
+ specified --setup-only together with --make-sbuild-tarball because then
+ the unpacked directory does not exist
+
+ 14) sbuild-createchroot: make the mirror argument optional as well (just as
+ it is in debootstrap)
+
+ 15) sbuild-createchroot: add --chroot-mode=unshare which allows running
+ debootstrap and creating a chroot tarball without needing sudo
+
+ 16) sbuild-createchroot: refuse to operate if output tarball or directory
+ already exist
+
+ 17) sbuild-update: add --chroot-mode option and support for unshare
+ backend
+
+ * Major changes in 0.76.0:
+
+ 1) sbuild-update-all: exit 0 when no chroots are set up.
+
+ * Major changes in 0.75.0:
+
+ 1) buildd: only build arch:any packages
+
+ 2) buildd: do not run lintian
+
+ 3) remove harmful unnecessary lintian binary check
+
+ * Major changes in 0.74.0:
+
+ 1) Install dose-distcheck and lintian for the native architecture
+
+ 2) remove DCMD config value which is not used and just uselessly making
+ libsbuild-perl depend on devscripts
+
+ 3) use dpkg-query instead of grep-status so that dependency on grep-dctrl is
+ not needed anymore
+
+ 4) suppress schroot writing to stderr in sbuild-createchroot
+
+ 5) check for modprobe in sbuild-createchroot
+
+ 6) Add missing newline character to a bunch of error messages
+
+ 7) dose3 failures no longer mask the --build-deps-failed-commands
+
+ 8) Build arch: all packages by default.
+
+ 9) Run lintian by default.
+
+ 10) sbuild-createchroot: add --command-prefix
+
+ 11) add sbuild-debian-developer-setup package
+
+ * Major changes in 0.73.0:
+
+ 1) starting-build-command and finished-build-commands are now run as root.
+
+ 2) Output .buildinfo in buildlog.
+
+ 3) The autopkgtest-virt backends are no longer supplied with the chroot
+ name.
+
+ 4) Add SBUILD_BUILD_ARCH percent escape.
+
+ 5) Use Dpkg::Build::Info::get_build_env_whitelist() to generate the default
+ of ENVIRONMENT_FILTER.
+
+ 6) For binNMUs, instead of copying the timestamp of the last changelog
+ entry, generate a new one.
+
+ 7) Add the --binNMU-timestamp command line option to allow one to pass a
+ custom timestamp for the new binNMU changelog entry.
+
+ 8) Add option --binNMU-changelog which allows one to pass a complete
+ debian/changelog entry for binary-only builds.
+
+ 9) Extra packages can now be used to upgrade already installed packages.
+
+ 10) The autopkgtest backend now runs into its own process group.
+
+ 11) Extra repositories are now unconditionally updated.
+
+ 12) Allow passing a directory to --extra-package which will add all .deb
+ inside.
+
+ * Major changes in 0.72.0:
+
+ 1) Add option --purge-extra-packages which makes sure to remove all
+ non-essential packages before the package build starts.
+
+ 2) Stop depending on newlines being produced by the build to detect timeouts
+
+ 3) 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.
+
+ 4) Add --bd-uninstallable-explainer which gives an explanation of why
+ the build dependencies of a source package cannot be installed.
+
+ * Major changes in 0.71.0:
+
+ 1) 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.
+
+ 2) 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.
+
+ 3) Add percent escape support to piuparts, autopkgtest and adt-virt options.
+
+ 4) Add sbuild-destroychroot.
+
+ * Major changes in 0.70.0:
+
+ 1) Fix reproducibility issue by not writing the $HOME as set during the
+ build into config files and man pages anymore
+
+ 2) Add an EXAMPLE section to the sbuild man page
+
+ 3) 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.
+
+ 4) 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.
+
+ 5) 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.
+
+ 6) 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.
+
+ 7) 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.
+
+ 8) 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).
+
+ 9) Add the --source-only-changes option which will create a .changes file
+ suitable for a source-only upload alongside the normal binary .changes
+ file.
+
+ 10) 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.
+
+ 11) 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.
+
+ 12) Allow running autopkgtest after a successful build in the same manner
+ that piuparts can be run after a successful build.
+
+ * Major changes in 0.69.0:
+
+ 1) 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.
+
+ 2) 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.
+
+ 3) Allow to 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.
+
+ 4) Disallow conflicting command line options, thus making command line
+ switches position independent and remove the deprecated --arch-all-only
+ option in the process.
+
+ 5) 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
+
+ 6) Apt doesn't download translations anymore.
+
+ 7) Dummy archive is now signed with SHA-512
+
+ 8) Cron script etc/sbuild-update-all allows one to periodically update all
+ sbuild chroots.
+
+ 9) Add another --*-failed-commands external command:
+ --chroot-update-failed-commands
+
+ 10) Documentation of configuration options in sbuild.conf(5) and in
+ /etc/sbuild/sbuild.conf now reference related command line options from
+ sbuild(1).
+
+ 11) Documentation of command line options in sbuild(1) now references the
+ respective configuration options from sbuild.conf(5).
+
+ 12) 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).
+
+* Major changes in 0.68.0:
+
+ 1) Dummy binary packages are now used for native building *and* cross
+ building (apt-get build-dep was used for the latter so far). For an
+ extensive rationale for this choice, read the commit message of commit
+ e227c8f3.
+
+ 2) Deprecate --arch-all-only option which was introduced two releases ago in
+ favour of --arch-all --no-arch-any. The option will be completely removed
+ in the next release to remove redundancy and for overall clarity.
+
+* Major changes in 0.67.0:
+
+ 1) add --clean-source and --no-clean-source to allow building a package from
+ an unpacked directory without calling debian/rules clean
+
+ 2) allow changing the user running dpkg-buildpackage inside the chroot
+
+ 3) sbuild-createchroot: use union-type=overlay for directory chroot
+
+ 4) Quit processing when external commands fail
+
+ 5) Add the --no-arch-any and --arch-any options which give a better control
+ over building or not building architecture specific packages than
+ --arch-all-only
+
+ 6) Set [trusted=yes] for internal dummy repository to make key generation
+ optional
+
+* Major changes in 0.66.0:
+
+ 1) add option --arch-all-only to build arch:all packages
+
+ 2) environment variable SBUILD_CONFIG allows to specify a custom
+ configuration file
+
+ 3) add option --build-path to set a deterministic build path
+
+ 4) fix crossbuild dependency resolution
+
+ 5) add option --extra-repository-key for extra apt keys
+
+ 6) add option --build-dep-resolver=aspcud for aspcud based resolver
+
+ 6) allow complex commands as sbuild hooks
+
+ 7) add now external command %SBUILD_SHELL produces an interactive shell
+
+ 8) add options --build-deps-failed-commands, --build-failed-commands and
+ --anything-failed-commands
+
+* Major changes in 0.65.2:
+
+ None.
+
+* Major changes in 0.65.1:
+
+ None.
+
+* Major changes in 0.65.0:
+
+ 1) Add support for build profiles. The specified profile is used
+ in the build if -P or --profiles is passed or the
+ DEB_BUILD_PROFILES environment variable is set.
+
+ 2) An extra build-time repository and/or individual packages can be
+ made available during the build. See the --extra-repository and
+ --extra-package options.
+
+ 3) Add more substitution variables for use in External commands:
+ host architecture (%a), chroot directory (%r), build directory inside
+ chroot (%b), and package build directory inside chroot (%p). See man
+ sbuild for details and alternate long names.
+
+* Major changes in 0.64.3:
+
+ 1) Add support for multiarch builds. Explicit build-deps on
+ foreign-arch packages enable that arch for the build.
+
+ 2) Command hook changes: chroot-setup-commands run as root. 2 new
+ user -command hooks run immediately before/after inner build
+ (--starting-build-commands/--finished-build-commands).
+
+* Major changes in 0.64.2:
+
+ 1) Allow to Define custom debootstrap variant.
+
+ 2) Allow to define custom suffixes in chroot names.
+
+* Major changes in 0.64.1:
+
+ 1) Bugfixes to work with Perl 5.18; use File::Temp and File::Spec
+ explicitly.
+
+ 2) Drop autoflush workaround added for Perl 5.10.
+
+* Major changes in 0.64.0:
+
+ 1) The number of times buildd will try to build before sleeping is
+ now configurable with MAX_SBUILD_FAILS.
+
+ 2) Lintian is now run inside the chroot rather than the host system.
+
+ 3) binNMUs now set binary-only=yes in the changelog.
+
+ 4) Cross-building improvements.
+
+* Major changes in 0.63.2:
+
+ 1) New options --no-run-lintian and --no-run-piuparts. If lintian
+ or piuparts are configured to run automatically following a
+ successful build, there options disable this behaviour for the
+ build.
+
+ 2) New option --purge-build. 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.
+
+ 3) If building from unpacked sources in the current working
+ directory, logs will be created in '..' rather than '.'.
+
+* Major changes in 0.63.1:
+
+ None.
+
+* Major changes in 0.63.0:
+
+ 1) 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.
+
+ 2) 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'.
+
+ 3) 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.
+
+ 3) 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.
+
+* Major changes in 0.62.6:
+
+ 1) 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.
+
+ 2) The new Build-Depends-Arch and Build-Conflicts-Arch fields in
+ debian/control are now supported. These may be manually set
+ with --add-depends-arch and --add-conflicts-arch,
+ respectively.
+
+ 3) schroot namespaces are now fully supported, meaning that
+ current 1.5.x schroot versions now work with sbuild.
+
+* Major changes in 0.62.5:
+
+ None.
+
+* Major changes in 0.62.4:
+
+ 1) 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. Additionally,
+ lintian test results are also coloured to highlight success and
+ failure. Log colouring may now be disabled using $log_colour.
+
+ 2) 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.
+
+ 3) 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.
+
+ 4) Extra environment variables to be set when running
+ dpkg-buildpackage may now be set using $build_environment; these
+ will supplement the existing environment (e.g. PATH,
+ LD_LIBRARY_PATH). These variables will not be subject to
+ filtering with $environment_filter.
+
+* Major changes in 0.62.3:
+
+ 1) The apt and internal resolvers will resolve some alternatives
+ even when resolving alternative dependencies is disabled. 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
+
+ 2) The sbuild-schroot wrapper has been removed. This will be moved
+ into the schroot package in its next release.
+
+ 3) The schroot "buildd" configuration profile has been moved to the
+ schroot package itself. This is due to being generated and being
+ architecture-dependent, and sbuild being an arch-all package (the
+ configuration would only be valid for the architecture sbuild was
+ built on).
+
+ 4) A new option, "-j", has been added to allow parallel builds.
+
+* Major changes in 0.62.2:
+
+ 1) 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.
+
+ 2) --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.
+
+ 3) $purge_session uses the same purge modes as $purge_build_deps and
+ $purge_build_directory, rather than a boolean value.
+
+ 4) Log filtering may be disabled using $log_filter = 0 in the
+ configuration. 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.
+
+ 5) Log colouring may be disabled using $log_colour = 0 in the
+ configuration.
+
+* Major changes in 0.62.1:
+
+ 1) 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.
+
+* Major changes in 0.62.0:
+
+ 1) '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.
+
+ 2) 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.
+
+ 3) 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.
+
+ 4) sbuild.conf and buildd.conf are 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.
+
+ 5) All of the allowed values in sbuild.conf and buildd.conf are now
+ documented in the new sbuild.conf(5) and buildd.conf(5) manual
+ pages, respectively. Like sbuild.conf, this is entirely
+ generated from the source code, so will always match the defaults
+ for the same sbuild version.
+
+ 6) 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.
+
+ 7) 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.
+
+ 8) A new option, --keep-session, has been added. 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.
+
+ 9) 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.
+
+ 10) 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.
+
+ 11) 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.
+
+ 12) 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. This makes the build logs
+ comparable between builds with tools such as diff(1).
+
+ 13) 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.
+
+ 14) 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.
+
+ 15) 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.
+
+ 16) 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.
+
+
+* Major changes in 0.61.0:
+
+ 1) 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.
+
+* Major changes in 0.60.9:
+
+ 1) The architecture specified with --arch (defaulting to the host
+ system architecture) must match the chroot architecture. This
+ was previously allowed to be superseded by the chroot
+ architecture. This change is to avoid any abiguity regarding the
+ host/build architecture for the package being built.
+
+* Major changes in 0.60.8:
+
+ None.
+
+* Major changes in 0.60.7:
+
+ None.
+
+* Major changes in 0.60.6:
+
+ 1) sbuild now sanitises the environment when running external
+ commands such as dpkg-buildpackage. The allowed environment
+ variables may be specified with $environment_filter in the
+ configuration. Currently, various DEB* and *FLAGS* environment
+ variables are allowed, similar to debuild's behaviour.
+
+ 2) sbuild now has a testsuite to do basic regression testing. By
+ default, only Perl syntax is checked. If configured with
+ --enable-chroot-checks, it will run the various sbuild-* helpers
+ and sbuild itself to build a small variety of different
+ packages. These are tested in an "unstable" chroot, which must
+ be present as a prerequisite for running the tests.
+
+ 3) The apt and aptitude build dependency resolvers now use a
+ temporary local apt archive for installation of the dependency
+ packages. apt-get would previously try to remove the dependency
+ package under certain conditions (apt-get -f install would force
+ removal), whereas using a real archive to install from prevents
+ this.
+
+ 4) sbuild-update has a new option, --keygen. This generated a GPG
+ key for signing local apt archives. The key will be generated
+ automatically on first use, but if entropy on the build system is
+ scarce, sbuild-update can generate it by hand at a more
+ convenient time, or on another system.
+
+ 5) sbuild no longer generates the files REDO and SBUILD-REDO-DUMPED
+ upon receiving a termination signal. These were no longer used
+ in buildd mode, and were only useful in a buildd context.
+
+* Major changes in 0.60.5:
+
+ 1) A new resolver, 'apt', has been added. Like the aptitude
+ resolver, this installs a dependency package to install build
+ dependencies and remove build conflicts, but uses apt-get rather
+ than aptitude. This resolver is currently experimental and may
+ not yet perform correctly under all circumstances. Use at your
+ own risk.
+
+ 2) It is now possible to run piuparts on the build packages with the
+ new --run-piuparts option.
+
+* Major changes in 0.60.4:
+
+ 1) The default dependency resolver has been reverted back to
+ 'internal' for the present. 'aptitude' will become the default
+ again once it has had further testing. Feedback regarding the
+ 'aptitude' resolver would be much appreciated.
+
+* Major changes in 0.60.3:
+
+ 1) The aptitude resolver is now the default resolver. Users wishing
+ to continue to use the old internal resolver should set
+ $build_dep_resolver='internal' in their configuration. The
+ aptitude resolver is far superior to the internal resolver,
+ because it can correctly resolve complex alternative and virtual
+ packages in build dependencies where the internal resolver would
+ fail.
+
+ 2) The aptitude resolver is now entirely separate from the internal
+ resolver, and greatly simplified. All Build-Depends and
+ -Conflicts are now passed directly to aptitude (with
+ architecture-specific dependencies filtered out). As before, a
+ dummy dependency package is used to install and remove build
+ dependencies and build-conflicts.
+
+ 3) The sbuild-clean program has been moved into sbuild-update, as
+ for the other sbuild- helper programs. The sbuild-* helper
+ programs now take the sbuild chroot lock used by sbuild to
+ prevent concurrent builds in the same chroot, making it safe to
+ run the maintenance commands while builds are running (they will
+ wait until the build has finished before making any changes).
+ The sbuild-* helper programs now operate on source chroots, where
+ available (for lvm-snapshot and btrfs-snapshot type chroots).
+
+ 4) The sbuild-createchroot program can now create tarballs from the
+ created chroot, with gzip, bzip2, lzma and xz compression. Use
+ the new --make-sbuild-tarball option for this purpose.
+
+ 5) sbuild may now be used on an unpacked source directory, in a
+ similar manner to debuild. The directory will be packaged using
+ 'dpkg-source -b' prior to building. If a source package or
+ directory is not specified, sbuild will use the current working
+ directory like debuild.
+
+ 6) Lintian may now be run after a package build with the
+ --run-lintian option.
+
+ 7) External commands may now be run before and after a build and
+ during chroot setup and cleanup. These may be used to do
+ additional setup and checking during a build, for example to run
+ piuparts.
+
+* Major changes in 0.60.2:
+
+ 1) Virtual packages may now be used in Build-Depends using the
+ internal resolver. This is very simple, and picks the first
+ package providing the dependency in alphabetical order. The
+ aptitude resolver is rather more sophisticated, and should be
+ used if this is insufficiently clever.
+
+ 2) Build-Conflicts are correctly removed and reinstalled, and sbuild
+ can now remove packages which depend upon other packages, due to
+ using "apt-get remove" in place of "dpkg --remove".
+
+ 3) Package build-dependency installation in now preceeded by
+ installation of "core" dependencies (currently build-essential)
+ and "essential" dependencies (essential packages listed in
+ build-essential), to ensure a working build environment. These
+ should, of course, already be installed; this change is an
+ additional consistency check to ensure the build environment is
+ sane.
+
+ 4) schroot sessions may be preserved on failure (failure to build or
+ failure to install build dependencies), to allow easier
+ troubleshooting.
+
+* Major changes in 0.60.1:
+
+ 1) Improvements in building of dpkg-source v3 source formats.
+
+ 2) sbuild includes a new option --no-source to disable building
+ of source packages. This is the reciprocal of the existing
+ --source option.
+
+* Major changes in 0.60.0:
+
+ 1) sbuild no longer defaults the distribution to "unstable", and
+ requires setting by hand with --distribution unless configured in
+ .sbuildrc. This is to prevent accidental uploads to the wrong
+ distribution.
+
+ 2) sbuild now lists all packages (including versions) installed in
+ the build chroot in the package build log. This may aid
+ identifying problems with builds using buggy or outdated package
+ versions.
+
+ 3) With a recent versions of man-db (>= 2.5.6-4), man-db will be
+ configured not to rebuild its database during package
+ installation and removal in the build chroot.
+
+ 4) sbuild has added new options to allow APT cleaning, upgrading and
+ dist-upgrading of the build chroot, in addition to the existing
+ updating option.
+
+ 5) buildd has been synched with the buildd code in use on the Debian
+ buildd infrastructure, and is now in use on most, if not all,
+ running buildds. It has undergone extensive changes since the
+ previous release, and is now suitable for production use. Note
+ that the packaged version of wanna-build is not yet ready for use
+ with buildd.
+
+ 6) buildd no longer bind mounts /home into the chroot.
+
+ 7) buildd now handles all wanna-build interaction. All sbuild
+ wanna-build usage has been removed, including the
+ --auto-give-back and --database options.
+
+* Major changes in 0.59.0:
+
+ 1) The wanna-build options --no-propagation and
+ --no-down-propagation have been removed. These options no longer
+ have any effect, and were only present for backward-compatibility
+ with older versions of buildd. buildd no longer uses these
+ options, making it safe to remove them.
+
+ 2) The wanna-build configuration options used by buildd in
+ buildd.conf have been renamed for better compatibility with future
+ planned sbuild changes. buildd.conf will require updating with the
+ new option names:
+
+ ┌───────────────────────┬─────────────────────────────────────┐
+ │ old │ new │
+ ├───────────────────────┼─────────────────────────────────────┤
+ │ $wanna_build_dbbase │ $wanna_build_db_name │
+ │ $wanna_build_user │ $wanna_build_db_user │
+ │ $ssh_user │ $wanna_build_ssh_user │
+ │ $ssh_host │ $wanna_build_ssh_host │
+ │ $ssh_socket │ $wanna_build_ssh_socket │
+ │ @ssh_options │ $wanna_build_ssh_options (arrayref) │
+ └───────────────────────┴─────────────────────────────────────┘
+
+ 3) sbuild will set the "attempted" and "given-back" states for
+ certain failures. If wanna-build updates are configured with
+ --database and --auto-give-back by buildd, it will set the
+ "built" state on build completion, and "attempted" if the build
+ failed. As before, "given-back" will be set for most other
+ failure conditions.
+
+* Major changes in 0.58.6:
+
+ None.
+
+* Major changes in 0.58.5:
+
+ None.
+
+* Major changes in 0.58.4:
+
+ None.
+
+* Major changes in 0.58.3:
+
+ 1) The broken options --add-depends and --force-depends have been
+ replaced by --add-depends, --add-conflicts, --add-depends-indep
+ and --add-conflicts-indep. These options each take a single
+ dependency, using the same dependency syntax one would use in
+ debian/control.
+
+ 2) The wanna-build configuration has been moved back to
+ /etc/buildd/wanna-build.conf. However, the option names have
+ been renamed and your configuration will require updating.
+
+ 3) When reading configuration files, stricter checking is performed.
+ If you see a "Global symbol "$x" requires explicit package
+ name" error, then the option $x is not valid and should be
+ removed from the configuration file indicated.
+
+ 4) The maintainer name no longer defaults to DEBEMAIL as in most
+ cases the maintainer in the .dsc should be used.
+
+* Major changes in 0.58.2:
+
+ None.
+
+* Major changes in 0.58.1:
+
+ None.
+
+* Major changes in 0.58.0:
+
+ 1) 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).
+
+ 2) The configuration option $chroot_mode has been restored, allowing
+ chroot access by both schroot (which remains the default) and
+ sudo.
+
+ 3) 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.
+
+ 4) Deprecated commands from /usr/lib/sbuild have been removed.
+ Please use the sbuild-* replacements found in /usr/bin.
+
+ 5) The maintainer name defaults to DEBEMAIL if set in the
+ environment, so no longer needs setting explicitly in .sbuildrc.
+
+ 6) 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.
+
+ 7) 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.
+
+ 8) All commands now have a corresponding manual page.
+
+ 9) 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.
+
+ 10) 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.
+
+ 11) The wanna-build commands do-merge-packages and do-merge-quinn
+ have been renamed to wanna-build-merge-packages and
+ wanna-build-merge-quinn.
+
+ 12) wanna-build changes from the official Debian wanna-build
+ installation have been merged.
+
+ 13) Initial support for a wanna-build PostgreSQL backend backend has
+ been added, but is not currently functional. The database
+ schema is also included, but not yet finalised.
+
+* Major changes in 0.57.5:
+
+ 1) sbuild-createchroot now supports most of the options found in
+ debootstrap. It no longer adds main and contrib to
+ /etc/apt/sources.list in the chroot (the components are now
+ specified with --components instead of being hard-coded).
+
+ 2) All sbuild commands now support --help and --version options.
+
+ 3) sbuild-abort and sbuild have been updated to work with the
+ current dpkg-buildpackage and handle build termination
+ gracefully.
+
+* Major changes in 0.57.4:
+
+ None.
+
+* Major changes in 0.57.3:
+
+ None.
+
+* Major changes in 0.57.2:
+
+ 1) The new dpkg source format is now supported.
+
+ 2) The chroot to build in may be specified independently of the
+ distribution.
+
+ 3) Purging of files in the chroot has been made more reliable, by
+ putting all of the build files in a single temporary directory
+ which is purged after the build completes.
+
+ 4) $mailto no longer needs setting in .sbuildrc if not running as a
+ buildd.
+
+ 5) An option to always update the APT package list has been added
+ ($apt_update in sbuild.conf).
+
+ 6) wanna-build, the database used to track which packages need
+ rebuilding, has been added as a separate package.
+
+* Major changes in 0.57.1:
+
+ 1) While not used in the Debian packaging, the buildd and
+ wanna-build sources have been merged from the separate buildd.git
+ repository. They will be built as packages in a future release.
+
+ 2) Helper scripts in the Debian package have been moved from
+ /usr/lib/sbuild back to /usr/share/sbuild, where they were
+ located prior to 0.57.0.
+
+ 3) schroot "directory" type chroots are now purged correctly
+ following a package build.
+
+* Major changes in 0.57.0:
+
+ 1) All programs have been moved from /usr/share/sbuild to /usr/bin
+ (with the exception of dobuildlog), with an sbuild- prefix. In
+ some cases, the names have been changed. The older programs are
+ still available under /usr/lib/sbuild.
+
+ 2) All programs (with the exception of dobuildlog) now have manual
+ pages.
+
+ 3) sbuild now runs apt-get with APT::Install-Recommends set to
+ false.
+
+ 4) sbuild can be optionally configured to use an alternative
+ algorithm to compute build dependencies, to allow installation of
+ alternative build dependencies.
+
+ 5) sbuild-createchroot (formerly buildd.chroot) now creates a fully
+ working chroot, with no manual setup required other than adding
+ the schroot configuration.