Hi folks, I have released sbuild version 0.58.0. This is the first release for quite some time (August 2008), and there are a lot of changes since that time which got queued up waiting for the release of Lenny. There are quite a few user-visible changes, and some older options and features which were deprecated in Lenny have been removed for Squeeze.
The major user-visible changes are: 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. In addition to these changes, a significant amount of refactoring work has been undertaken to make sbuild and wanna-build more maintainable in the future. These changes are internal, and are not visible to the end user. There were quite a lot of contributors to this release; moving to git has certainly made it a lot easier for people to contribute and merge patches. This is the summary of commits between 0.57.7 and 0.58.0: 34 Adeodato Simó 1 Cyril Brulebois 2 Kees Cook 1 Kumar Appaiah 1 Lucas Nussbaum 7 Luk Claes 9 Philipp Kern 1 Riku Voipio 1 Robert Millan 319 Roger Leigh 2 Sebastian Andrzej Siewior The detailed shortlog follows at the end of this mail. Thanks to everyone who contributed to this new release; your work was very much appreciated, and sbuild and wanna-build are in much better shape as a result. Let's hope we can make it even better throughout 2009! Work is ongoing to finish a PostgreSQL database schema for wanna-build. Adeodato Simó just did the first test import of data this evening. We will integrate full support for PostgreSQL in subsequent releases. If you are interested in getting involved with development, please join the mailing list for the buildd-tools-devel project on Alioth. Regards, Roger Adeodato Simó (34): [db] Change order of package sections [db] Rename sections to components [db] Don't insert arches that have not ever been in the official wanna-build [db] Source debversion.sql and not version.sql from db.sql [db] Rename "distribution" to "suite" (to be consistent with dak) [db] Ensure names for all PRIMARY KEY constraints end with _pkey [db] Add an "address" column to the builders table [db] Add a "value" column to package_priorities so that they are sortable [db] Distinguish between arches with buildds, and the Architecture field [db] Make "uploaders" be a one-to-many mapping, rather than a single value [db] Add a build_logs table to store a list of all available build logs [db] Prefer column names derived from table name, and drop _name suffix [db] Add an "arch" column to the builder table [db] Add table to list the admin(s) of each buildd [db] Update name of constraint for build_logs.result to match column name [db] Add a new value "skipped" to the build_log_result table [db] Add "hurd-i386" to the architectures table [db] Add "oldstable" to the suites table [db] Fix the primary key in the suite_binaries table [db] Rename "version" to "source_version" when it refers to source packages Create indexes for (pkg_name, version) in suite_{sources,binaries} [db] Rename build_jobs to build_status [db] Remove job id number from build_status and build_status_history [db] Rename build_state.state to build_state.status [db] Drop index on build_status.ctime [db] Add bin_nmu column to build_status and build_status_history [db] build_status.builder can be NULL [db] build_status.ctime defaults to 'epoch' [db] Add triggers for build_status [db] Create a "suite_arches" table to list the architectures in a suite [db] set_ctime: Add missing semicolon [db] Delete extra comma in build_status_properties [db] Use long VALUES lists instead of separate INSERT statements [db] Populate the suite_arches table Cyril Brulebois (1): [sbuild-createchroot] Correctly parse --arch option Kees Cook (2): [Sbuild] version_compare: Handle =*=PROVIDED=*= by never matching [debian] Close #505747 Kumar Appaiah (1): [man] sbuild.1.in: Document --use-snapshot Lucas Nussbaum (1): [Sbuild::Build] ~*=PROVIDED=*= does not break Build-Conflicts Luk Claes (7): Multiple archive support Don't barf when main::current_job is not set Temporarily make ARCH user configurable Also show the architecture in the subject Add the binNMU version if any Add 'a'ge before 's'ection Set sectval to -125 = 165 + 40 (highest used value) if used section is not in the list Philipp Kern (9): [Sbuild::Conf] declare $archive [Sbuild::Options] correct a typo [Sbuild::Options] tell getopt that --archive needs a string argument [Sbuild::Build] check if BIN_NMU_VERSION is defined [Sbuild::Build] add hostname to log output [WannaBuild::Conf] Introduce a buildd mail domain [build] lib/Sbuild/Makefile.am: add ConfBase.pm [Sbuild::Conf] obey $arch in .sbuildrc [Sbuild] declare charset and transfer-encoding in sent mails Riku Voipio (1): [buildd-mail] Decode Base64 and quoted-printable mail Robert Millan (1): [build-mail-wrapper] Use getloadavg in place of sysinfo. Roger Leigh (319): [build] Bump version to 0.58.0 [Sbuild::Build] Use string rather than numeric comparison for '~*=PROVIDED=*=' [man] Fix typo in sbuild-stats.1 [Sbuild] Remove deprecated features post-Lenny [debian] Update README Enable warnings in all perl code [TODO] Add buildd items [Sbuild::Chroot] Correct formatting [Sbuild::Conf] Add object-oriented interface [sbuild] Instantiate Sbuild::Conf and add to Sbuild::Build [Sbuild::Conf] Don't export $HOME [Sbuild::Conf] Don't export $apt_policy or %alternatives [Sbuild:Conf] Replace $apt_update with APT_UPDATE [Sbuild::Conf] Replace $apt_allow_unauthenticated with APT_ALLOW_UNAUTHENTICATED [Sbuild::Conf] Don't export $check_watches [Sbuild::Conf] Don't export $cwd [sbuild-checkpackages] Replace $cmd with $mode [sbuild-checkpackages] Replace $cmd with $mode [man] sbuild-setup.7 changes ownership of /build to 02775 [Sbuild::Conf] Don't export $username Merge branch 'master' of ssh+git://git.debian.org/git/buildd-tools/sbuild [Sbuild::Conf] Don't export $verbose [Sbuild::Conf] Don't export $nolog [Sbuild::Conf] Don't export $mailprog [Sbuild::Utility] Don't use global $main::conf [Sbuild::ChrootInfo] Convert to object-oriented perl [Sbuild::Conf] Move ARCH and HOSTNAME from Sbuild::Sysconfig [Sbuild::Conf] Don't export $dpkg [Sbuild::Conf] Don't export $su [Sbuild::Conf] Don't export $schroot, $schroot_options or $fakeroot [.gitignore] Ignore emacs temporary files [Sbuild::Conf] Don't export $apt_get or $apt_cache [Sbuild::Conf] Don't export $dpkg_source [Sbuild::Conf] Don't export $dcmd [Sbuild::Conf] Don't export $md5sum [Sbuild::Conf] Don't export $avg_time_db and $avg_space_db [Sbuild::Conf] Don't export $avg_time_db, $avg_space_db and $stats_dir [Sbuild::Conf] Don't export $package_checklist [Sbuild::Conf] Don't export $build_env_cmnd [Sbuild::Conf] Don't export $pgp_options [Sbuild::Conf] Don't export $log_dir [Sbuild::Conf] Don't export $mailto, and support %mailto [Sbuild::Conf] Don't export $mailfrom [Sbuild::Conf] Remove unused @no_auto_upgrade [Sbuild::Conf] Don't export $check_depends_algorithm [Sbuild::Conf] Don't export $purge_build_directory [Sbuild::Conf] Correct typo in DCMD diagnostic [Sbuild::Conf] Don't export @toolchain_regex [Sbuild::Conf] Don't export $stalled_pkg_timeout or %individual_stalled_pkg_timeout [Sbuild::Conf] Don't export $srcdep_lock_dir [Sbuild::Conf] Don't export $srcdep_lock_wait [Sbuild::Conf] Don't export $max_lock_trys or $lock_interval [Sbuild::Conf] Don't export @ignore_watches_no_build_deps [Sbuild::Build] Add missing variable in write_stats [Sbuild::Conf] Don't export [Sbuild::Conf] Don't export [Sbuild::Conf] Don't export [Sbuild::Conf] Don't export [Sbuild::Conf] Don't export /home/rleigh/bin /home/rleigh/bin /usr/local/bin /usr/bin /bin /usr/bin/X11 /usr/games [Sbuild::Conf] Don't export , , or [Sbuild::Conf] Don't export %watches [Sbuild::Conf] Remove initialisation functions [Sbuild::Conf] Move globals into read_config [TODO] Add new items Merge branch 'conf-object' [Sbuild::Options] Add get_conf and set_conf methods [Sbuild::Conf] Move USER_ARCH from Sbuild::Options [Sbuild::Conf] Move DISTRIBUTION and OVERRIDE_DISTRIBUTION from Sbuild::Options [Sbuild::Conf] Move BUILD_ARCH_ALL from Sbuild::Options [Sbuild::Conf] Move AUTO_GIVEBACK* and WANNABUILD_DATABASE from Sbuild::Conf [Sbuild::Conf] Move BATCH_MODE from Sbuild::Conf [Sbuild::Conf] Move MANUAL_SRCDEPS from Sbuild::Options [Sbuild::Conf] Move BUILD_SOURCE from Sbuild::Options [Sbuild::Conf] Move BIN_NMU and BIN_NMU_VERSION from Sbuild::Options [Sbuild::Conf] Move CHROOT from Sbuild::Options [Sbuild::Conf] Move LD_LIBRARY_PATH from Sbuild::Options [Sbuild::Conf] Move GCC_SNAPSHOT from Sbuild::Options [Sbuild::Conf] Move validation logic from Sbuild::Options [Sbuild::Conf] Move SIGNING_OPTIONS from sbuild [Sbuild::Build] Don't use Sbuild::Options Use perl class methods to construct objects [Sbuild::Conf] Re-add $chroot_mode [Sbuild::Conf] GCC_SNAPSHOT defaults to 0 [Sbuild::ChrootSchroot, Sbuild::ChrootSudo] Add new classes Derived classes' constructors chain up to parent class constructors [Sbuild::Base] New class containing common class functionality [etc] sbuild.conf: Add $sudo and document $chroot_mode [man] sbuild-setup.7: Document sudo setup [Sbuild::Conf] Add sudo sanity checking [Sbuild::Chroot] Update comments regarding root use of host system [TODO] Add items for sudo support [Sbuild::ChrootInfoSchroot, Sbuild::ChrootInfoSudo] Add new subclasses of Sbuild::ChrootInfo [Sbuild::Chroot] Subclasses set subclassed ChrootInfo [Sbuild::Conf] Don't default USER_ARCH to ARCH [etc] sbuild.conf: Update header comments [Sbuild::ChrootInfo] Move get_info_all to derived classes, and specialise [sbuild] Only print USER_ARCH when debugging if defined [Sbuild::Chroot] Move chroot-type-specific code into derived classes [Sbuild::Chroot] Add apt_chroot virtual function to remove code duplication [Sbuild::Chroot] Remove redundant chdir calls [Sbuild::Chroot] Don't strip 'APT Options' in debugging messages [Sbuild::Chroot] Introduce CHROOT_SPLIT [NEWS] Document CHROOT_MODE and CHROOT_SPLIT [debian] control: Depend on schroot or sudo, update minimum schroot version Merge branch 'sudo-branch' of /home/rleigh/sbuild/ into sudo-branch [etc] Update $maintainer_name documentation [TODO] Remove completed items [man] sbuild.1.in: Document DEBEMAIL default for maintainer name [Sbuild::Conf] Default MAINTAINER_NAME to DEBEMAIL if set in environment [build] Distribute new perl modules [man] Remove incorrectly added patch rejects [Sbuild] Don't include Sbuild::Conf (circular use) [Sbuild::Utility] Use Sbuild::ChrootSchroot and Sbuild::ChrootSudo [Sbuild] Remove explicit namespace use in BEGIN block [Sbuild::Chroot] Remove debugging statements [etc] Document expanded use of $sbuild_mode [Sbuild::Log] Only create log symlinks in buildd mode. [Sbuild::ChrootInfoSudo] Look for sudo chroots in /etc/sbuild/chroot [man] Document /etc/sbuild/chroot [sbuild-createchroot] Add sudo setup tasks and use new Sbuild::Conf [sbuild-adduser] Document sudo tasks and update user instructions [sbuild-createchroot] Use POSIX calls instead of system where appropriate [Sbuild::ChrootInfo] Add create factory function to create chroots [sbuild] Refer to chroot, rather than schroot in message [Sbuild::ChrootSudo] Remove redundant use of ChrootInfoSudo [Sbuild::ChrootPlain] Fix to match new chroot interface [TODO] Remove completed item [Sbuild::Utility] Use new Sbuild::ChrootInfo chroot creation [Sbuild::ChrootPlain] Always use split mode [Sbuild] Move package checking from sbuild-checkpackages [Sbuild] check_packages takes a chroot argument directly [Sbuild::Build] Add log and debug functions [Sbuild::Build] Use get and set methods outside strings [Sbuild::Build] build: Don't access member data directly [Sbuild::Build] set_dsc: Add debugging message [TODO] Remove completed items, add new item [Sbuild::Build] Set 'Sub PID' to undef [Sbuild] Move debug logic from Sbuild::Build [Sbuild::Build] Add and use log_info, _warning and _error functions [Sbuild::Conf] Add LOG_DIR_AVAILABLE [Sbuild::Conf] Override MAINTAINER_NAME only if unset [Sbuild::Build] Merge Sbuild::Log::*_pkg_log into *_build_log [Sbuild::Conf] Be verbose by default on a tty [Sbuild::Log] Remove *_pkg_log, log_symlink and send_mail [Sbuild::Log] close_log takes Sbuild::Conf as an argument [Sbuild] Move send_mail from Sbuild::Build [Sbuild::Log] Rename SAVED_STDERR to main::SAVED_STDERR [Sbuild::Chroot] Add pipe functions [Sbuild::Build] Use chroot pipe functions [Sbuild::Build] Improve startup message logging [debian] rules: Clean up old unused code [debian] compat: Update to debhelper version 7. [Sbuild::Chroot] _command functions take single hash argument [Sbuild::Build] Pass files with correct pathnames to check_space [Sbuild::Chroot] pipe_command can open pipes in both directions Merge branch 'master' into chroot-exec-hash [Sbuild::Build] Use chroot-specific Arch in favour of global ARCH [Sbuild::Conf] Rename ARCH to HOST_ARCH [Sbuild::Conf] Rename USER_ARCH to ARCH [Sbuild::Conf] Allow ARCH default specification as $arch [Sbuild::Build] Don't default Arch; it must come from chroot_arch() Merge branch 'master' into chroot-exec-hash2 [sbuild] Set build Log Stream before and after opening build log Merge branch 'master' into chroot-exec-hash2 [Sbuild::Base] Log to STDERR if Log Stream is unset [Sbuild::ChrootInfoSudo] Add get_info method [Sbuild::Conf] Fix typo in sudo sanity checks [bin/sbuild-*] Update utilities to use new chroot exec hash functions [Sbuild::Chroot] Update to use command defaults [sbuild] Set default chroot command I/O streams [Sbuild] Add devnull stream [TODO] Remove completed items [sbuild-upgrade] Upgrade rather than update [Sbuild::Chroot] Add run_command_internal and run_pipe_internal [Sbuild::Chroot] Remove default use of global environment [Sbuild::Build] uninstall_debs: Don't concatenate array members [Sbuild::Build] Restore log symlink for non-buildd use Merge branch 'master' of ssh+git://git.debian.org/git/buildd-tools/sbuild [Sbuild::Build] Don't display "Hack binNMU" message by default [Sbuild::Build] filter_dependencies apt policy checking fix [Sbuild::Build] set_dsc splits version into epoch, upstream and debian parts [Sbuild::Build] Split set_dsc version logic into set_version [Sbuild::Build] Use Source: rather than Package: when parsing DSC [Sbuild::DB] New wanna-build database abstraction class [wanna-build] Fix uninitialised variables [wanna-build] Use isin from Sbuild [wanna-build] import and export _userinfo data [wanna-build] Reindent parse_quinn_diff regexes [debian] wanna-build: install state directory and script symlinks [sbuild-stats] Remove support for avg-pkg-build-* symlinks [wanna-build-catdb] Support MLDBM format databases [Sbuild::DB] Update module description and copyright dates [build] Install wanna-build-catdb* symlinks [wanna-build-merge-*] Rename from do-merge-* [Sbuild::Conf] Add wanna-build configuration with db_ prefix [Sbuild::Conf] Add roles to parse different key subsets [WannaBuild::Options] Add Getopt::Long options parser for wanna-build [wanna-build] Use Sbuild::Conf in place of WannaBuild::Conf [Sbuild::Conf] Store defaults and values inside allowed keys hash [Sbuild::Conf] get and set can call key-specific methods [Sbuild::Conf] Split check_config into separate validation functions [Sbuild::Sysconfig] Add paths and program paths from configure [Sbuild::Sysconfig] Update copyright [Sbuild::Conf] Split into Sbuild::ConfBase and WannaBuild::Conf [wanna-build] Revert transactlog initialisation [wanna-build] Include DB_BASE_NAME in transactlog name [sbuild-*] Use new Sysconfig paths and chroot command exit status [Sbuild::Sysconfig] Add additional programs and paths [Sbuild::Build] Use Sysconfig release_date and program paths [Sbuild::ChrootInfo] Update arch handling for default arch in Sbuild::Conf [Sbuild::ChrootPlain] Update to use new option hash chroot commands [Sbuild::ChrootSchroot] Remove unused modules [Sbuild::ChrootSudo] Remove unused modules and use Sysconfig program paths [Conf*] Use DEFAULT values in configuration setup [WannaBuild::Options] Use correct program name [Sbuild::Utility] Use Sysconfig program paths Merge branch 'wb-object' of ssh://git.debian.org/git/users/rleigh/sbuild into wb-object Remove redundant function prototypes from object oriented code [bin] Add comments for future work Merge branch 'wb-object' [wanna-build] Use gmtime in place of localtime [WannaBuild::Conf] Deprecate propagation and down-propagation [WannaBuild::Options] Add new --built and --attempted options [wanna-build-statistics] Add Built and Attempted [WannaBuild::Conf] Merge DB_DISTRIBUTIONS and DB_DISTRIBUTION_ORDER [TODO] Add new items [TODO] Add explanation of reference issues Merge branch 'wb-object' [Sbuild] Use timegm in place of timelocal Merge branch 'wb-object' [WannaBuild::Conf] Add priority, noadw and hidden distribution parameters [wanna-build] Add get_unsatisfied_dep and auto_dep_wait functions [wanna-build] Add add_one_attempted and add_one_built functions [wanna-build] Remove use of propagate_ta [wanna-build] Remove propagate_ta [wanna-build] parse_deplist: Check dependency syntax [wanna-build] Remove Dep-Wait-Removed [wanna-build] Don't import Sbuild::Sysconfig variables into namespace [wanna-build] Use auto_dep_wait, add_one_built and add_one_attempted [wanna-build] Update bin NMU logic [wanna-build] Add missing brace [wanna-build] Update regex, version and dependency handling [wanna-build] Remove exists_in_other_dist [wanna-build] Remove set_dep_wait [wanna-build] Replace usage with Sbuild::usage_error [wanna-build] log_ta: dist and db are no longer arguments Merge branch 'wb-object' [WannaBuild::Options] Use Sbuild::isin [Sbuild::DB] Move MLDBM functionality from wanna-build [Sbuild::DB] Rename to Sbuild::DB::MLDBM [wanna-build] Rename %dbs to %databases [build] Distribute database modules [db] Add initial PostgreSQL database schema [db] Add debversion type and operators [db] Correct version check to not recurse infinitely [db] Use debversion [debian] Close #511095 [debian] Close #511314 [etc] sbuild.conf: Remove extra newline [wanna-build-statistics] Add oldstable and oldstable-security [wanna-build-statistics] Update valid wanna-build states [wanna-build-statistics] Document needed options parsing work Merge branch 'wb-object' [db] Update schema comments and constraints [db] debversion: Use correct procedure for operator != [db] debversion: Add btree operator class [db] debversion type is created from text primitives [db] Add untrusted debversion type [db] Rename debversion_compare* to debversion_cmp* for compatibility [db] Add C implementation of debversion type [db] Remove commented out debversion domain [db] Keep faster C implementation of debversion only [db] Add hash operator class to debversion type [db] Add code to uninstall debversion type from database [db] Create PL/pgSQL language if not already present [db] Update copyright notice [db] Update debversion copyright and quote LANGUAGE [db] Default to using the public namespace [Sbuild::Options] --make-binNMU doesn't reset NMU version to 1 [Sbuild::DB::Base] New common base class for database backends [WannaBuild::Options] Use Sbuild::DB::Info [Sbuild::Options] --make-binNMU doesn't reset binNMU version if already set Signed-off-by: Roger Leigh <rle...@debian.org> [build] lib/Sbuild/Makefile.am: Add DB to SUBDIRS [db] Add PGXS Makefile for out-of-tree building Add .gitignore for db [build] Add support for conditionally building debversion type [debian] New package: postgresql-8.3-debversion [debian] Add postgresql-8.3-debversion to changelog Merge branch 'wb-backend' [debian] Correctly package postgresql-8.3-debversion [db] Remove debversion [debian] Remove postgresql-8.3-debversion [build] Remove DISTCHECK_CONFIGURE_FLAGS Merge branch 'master' of ssh+git://git.debian.org/git/buildd-tools/sbuild [Sbuild::Build] uninstall_debs: Don't use uninitialised $output [Sbuild::Sysconfig] Fix typo in %programs export [db] Add missing semicolon [db] Duplicate build_status as build_status_history [db] Rename job_states to package_states [db] Rename job_states to package_states (update comments) [db] install.sql: Split database creation into a separate file [db] language.sql: Split procedural language setup from db.sql [db] Split database creation into separate files [debian] control: wanna-build recommends postgresql-8.3-debversion [build] Install SQL database creation scripts [db] Install Sbuild::DB modules [debian] Use dh_prep in place of dh_clean -k [debian] Don't configure with --with-postgresql [wanna-build] Make $ctime global [wanna-build] Add missing parentheses [man] Add wanna-build-catdb.1 manual page [build] Install WannaBuild::Options [man] Add wanna-build-mail manual page [README] Remove README.mail, documented in wanna-build-mail.1.in [man] Add wanna-build-merge-packages manual page [NEWS] Document additional user-visible changes [man] Add wanna-build-statistics manual page [debian] Update NEWS and change distribution to unstable [debian] Install NEWS Sebastian Andrzej Siewior (2): [build] Fix WANNA_BUILD_LIBEXEC_DIR [man] Fix WANNA_BUILD_LIBEXEC_DIR -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.
signature.asc
Description: Digital signature