[Buildd-tools-devel] New sbuild release 0.44

Roger Leigh rleigh at whinlatter.ukfsn.org
Fri Apr 7 09:20:41 UTC 2006


Hi folks,

I've released a new version of sbuild (version 0.44).  The changes are
listed below.

This release is interesting because it modularises a few parts of
sbuild so that they can be reused by other utilities (like those in
bin/).  The process of modularisation also made the code a bit
cleaner, by forcing the removal of a number of global variables, and
forcing variables to be passed, loosening the coupling between the
modularised functions, making it rather more maintainable.  It also
uncovered a few bugs which have been fixed.

The shell scripts in bin/ have been converted to Perl, using the new
modules, which makes them behave in the same manner as sbuild itself
(with respect to their use of chroots).

Overall, I'm now quite happy with the state of sbuild.  We are now
tracking upstream well, and all of the long-standing bugs (bar
handling versioned dependencies) are now fixed.  The next problem to
solve is merging all our work with upstream.


Now the repository in in Subversion, the command to tag the repository
for release is:

svn copy svn+ssh://svn.debian.org/svn/buildd-tools/trunk/sbuild \
         svn+ssh://svn.debian.org/svn/buildd-tools/tags/sbuild_0_44 \
         -m "Tagging sbuild 0.44 for release"


Regards,
Roger

sbuild (0.44) unstable; urgency=low

  * avg-pkg-build-time: Use Sbuild::Conf.
  * bin/checkchroot: Convert to Perl, using Sbuild::Utility.
  * bin/chrapt: Convert to Perl, using Sbuild::Utility.
  * bin/chr-hold: Convert to Perl, using Sbuild::Utility.
  * bin/chr-unhold: Convert to Perl, using Sbuild::Utility.
  * bin/gochroot: Convert to Perl, using Sbuild::Utility.
  * bin/updatechroot:
    - Convert to Perl, using Sbuild::Utility.
    - chrapt is no longer used (Closes: #355035).
    - Sbuild::Chroot is used for chroot access:
      + Suite names are no longer hardcoded (Closes: #355037).
      + APT Options are set correctly (Closes: #355038).
  * bin/upgradechroot: Convert to Perl, using Sbuild::Utility.
  * bin/common_functions: Remove; this is no longer used.
  * sbuild:
    - Treat schroot chroots with a "-sbuild" suffix in the same way as
      chroots without a suffix (Closes: #360124).
    - Use the new modules Sbuild::Chroot, Sbuild::Conf and Sbuild::Log.
      The functions moved into the modules have been removed.
    - Import needed module functions into the local namespace, to avoid
      long namespace prefixes on functions.
    - Remove $main::chroot_apt_options.
    - Move $main::debug to Sbuild::Conf.
    - Import Sbuild::Conf into package "conf".  This allows the package
      name used by upstream to be used for backward compatibility.
    - Use $conf::HOME instead of $main::HOME.
    - Move $main::username to Sbuild::Conf.
    - Set $main::chroot_dir, $main::chroot_build_dir,
      $main::srcdep_lock_dir and $main::ilock_file from the current
      chroot $Sbuild::Chroot::current.  $main::srcdep_lock_dir replaces
      $conf::srcdep_lock_dir (which is still used to set when the chroot
      is set up).
    - Pass $main::distribution to open_log and open_pkg_log.
    - Remove $main::cwd, $main::nolog and $main::verbose, now provided by
      Sbuild::Conf.  They are imported from Sbuild::Conf for backward
      compatibility.
    - Remove unused $main::HOSTNAME.
    - Add build statistics to close_pkg_log.
    - Die if no maintainer_name, uploader_name or key_id is specified.
    - Set and unset $main::binNMU_name in the main loop, rather than when
      opening and closing the package log.  In consequence, open_pkg_log
      now needs the package name only, and close_pkg_log does not need
      the package name passing.
    - build:
      + Set $firstline to "" to quell a warning.
      + Use debian_files_list to check for missing or extra packages, and
        warn appropriately.
      + Delete erroneous _all.deb files (Closes: #357042).
    - Don't use File::Temp (only needed by modules).
    - Remove build directory check.
    - Use File::Basename::basename instead of Sbuild::basename.
    - Don't import internal Sbuild::Chroot functions.
    - Split verify_dsc_md5sums into two parts: dsc_md5sums and
      verify_md5sums.
    - debian_files_list: New function to parse debian/files.
  * Sbuild/Chroot.pm:
    - New perl module for chroot operations.  It contains the functions
      begin_session, end_session, log_command, get_command_internal,
      get_command, run_command, exec_command, get_apt_command_internal,
      get_apt_command and run_apt_command.
    - Don't export init and log_command.
    - Don't hardcode a list of chroots; use a glob to search for chroot-*
      instead.  This allows any distribution name to be specified with -d.
    - Add an "APT Options" attribute to the chroot hash, to replace
      $main::chroot_apt_options.
    - Use STDERR instead of PLOG (which may not be available).
    - Replace $main::debug with $Sbuild::Conf::debug.
    - Replace $main::username with $Sbuild::Conf::username.
    - begin_session takes the distribution as its first argument, rather
      than using $main::distribution.
    - Don't use $main::chroot_dir.  Add the build paths as 'Build Location',
      'Srcdep Lock Dir' and 'Install Lock' to the chroot metadata.
    - Use File::Temp.
    - Don't export "internal" functions.
    - _setup_options: Set "APT Options" for schroot chroots.
    - log_command: Don't substitute CHROOT_APT_OPTIONS when no APT options
      are in use.
  * Sbuild/Conf.pm:
    - New perl module for configuration variables.  It reads the system
      and user configuration.
    - Add $debug.
    - Add $username.
    - Add $cwd, $nolog and $verbose.  They exported and used by the other
      modules in place of the variables in the main package.
    - Add and export $avg_time_db, $avg_space_db, $maintainer_name,
      $uploader_name and $key_id.
    - Add build directory check (moved from sbuild).
  * Sbuild/Log.pm:
    - New perl module for logging.  It contains the functions open_log,
      close_log, open_pkg_log, close_pkg_log, add_time_entry,
      add_space_entry, send_mail and log_symlink.
    - $main::main_logfile and $main::pkg_logfile are package variables.
    - Removed use of $main::distribution.  The distribution name must be
      passed to open_log or open_pkg_log.
    - Don't use $main::HOSTNAME or $main::arch.  Get the values directly.
    - open_pkg_log: Save the package name for future use; the binNMU name
      (if any) is passed, so this no longer needs computing.
    - close_pkg_log:
      + Obtain $main::pkg_status, $main::pkg_start_time,
        $main::pkg_end_time and $main::this_space from the function
        arguments.
      + Don't pass the package name, which was saved in open_pkg_log.
    - add_space_entry: Use $space rather than $t, and don't use
      $main::this_space.
    - Use File::Temp.
    - Use File::Basename::basename instead of Sbuild::basename.
  * Sbuild/Utility.pm: New perl module for utility programs.  This is a
    perl replacement for bin/common_functions.
  * bin/checkchroot:
    - Quote all variables.
    - Sort ref-chroot file before diffing (Closes: 360058).
  * avg-pkg-build-time.1.in, sbuild.1.in, sbuild-setup.7.in,
    update-sourcedeps.1.in, Sbuild/Log.pm.in: Rename and embed version and
    date tags for substitution.
  * COPYING: New file (GPL licence text).
  * debian/control: Update uploaders.
  * debian/copyright:
    - Update with new subversion repository locations for upstream and
      Debian.
    - Add Roger Leigh as a copyright holder.
    - Add a reference to /usr/share/common-licenses/GPL.
  * debian/dirs: Add usr/share/perl5/Sbuild.
  * debian/rules:
    - Install Sbuild/Chroot.pm, Sbuild/Conf.pm, Sbuild/Log.pm and
      Sbuild/Utility.pm into /usr/share/perl5/Sbuild.
    - Generate all manual pages and Log.pm in the build rule, and remove
      them in the clean rule.

 -- Roger Leigh <rleigh at debian.org>  Fri,  7 Apr 2006 09:47:00 +0100

-- 
Roger Leigh
                Printing on GNU/Linux?  http://gutenprint.sourceforge.net/
                Debian GNU/Linux        http://www.debian.org/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/buildd-tools-devel/attachments/20060407/a51083a4/attachment.pgp


More information about the Buildd-tools-devel mailing list