Accepted sbuild 0.44 (source)

Ubuntu Installer archive at ubuntu.com
Sun Apr 9 21:54:41 BST 2006


Accepted:
 OK: sbuild_0.44.tar.gz
 OK: sbuild_0.44.dsc
     -> Component: universe Section: devel

Origin: Debian/unstable
Format: 1.7
Date: Sun,  09 Apr 2006 21:50:31 +0100
Source: sbuild
Binary: sbuild
Architecture: source
Version: 0.44
Distribution: dapper
Urgency: low
Maintainer: Debian buildd-tools Developers <buildd-tools-devel at lists.alioth.debian.org>
Changed-By: Reinhard Tartler <siretart at tauware.de>
Description: 
 sbuild     - Tool for building Debian binary packages from Debian sources
Closes: 170742 183022 270439 280689 287669 294883 302628 308065 311363 311589 318030 321640 331506 331546 341327 342357 354456 354520 355034 355035 355037 355038 355040 355043 355072 355604 355802 355861 356686 356785 357042 358668 358717 359747 360058 360124
Changes: 
 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.
 .
 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.
 .
 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.
 .
 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).
 .
 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 Simo 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.
 .
 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.
 .
 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.
 .
 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.
Files: 
 e60b6da0ce73c0e001b2837a9c4743e8 76549 devel extra sbuild_0.44.tar.gz
 54983f5e1fbcf83616c30b8e023d31ab 659 devel extra sbuild_0.44.dsc





More information about the dapper-changes mailing list