lp:ubuntu/dapper/sbuild

Created by James Westby and last modified
Get this branch:
bzr branch lp:ubuntu/dapper/sbuild
Members of Ubuntu branches can upload to this branch. Log in for directions.

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu branches
Review team:
Ubuntu Development Team
Status:
Mature

Recent revisions

4. By Roger Leigh

* 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.

3. By Roger Leigh

Roger Leigh:

* debian/changelog: Convert to UTF-8.
* sbuild:
  - Don't fail in the absence of central sourcedeps. These are no longer
    required now source packages are required to have build dependencies,
    so this should not be fatal.
  - Added support for schroot:
    + Added $conf::chroot_mode. This may be set to "split" (the
      historical default), or "schroot" (use schroot instead of sudo).
    + All operations using sudo now check the value of $chroot_mode, and
      use sudo or schroot accordingly.
    + When using schroot, %main::dist_order is filled using the schroot
      chroot priorities.
    + Added %main::dist_locations to store the location of the
      available chroots.
  - Print a readable error if a chroot does not exist.
* debian/control: Update to Standards-Version 3.6.2.
* debian/copyright: Use the new FSF address.
* debian/conffiles: Remove.
* debian/rules:
  - Use debhelper version 4 compatibility mode.
  - Move the find -maxdepth option to before non-option arguments, to
    fix find warnings.
  - Remove template comments.
  - avg-pkg-build-space symbolic link should be relative.

2. By Michael Banck

Michael Banck:

* bin/abort-current-build: Remove the `-B' from the grep line as
  `sbuild -s' does not pass that option to dpkg-configure and abort-
  current-build fails in that case.
* sbuild: Set the locale to `POSIX' to make debconf and debhelper calls in
  the chroot not spew out locale warnings all the time.
  (closes: #287672)
* sbuild: Removed check for specific distributions. Instead, fail if
  build/chroot-$dist is not there.
* sbuild: Only override Distribution in .changes if specified as option on
  the command-line.
  (closes: #300145)
* sbuild: Specify full path for Dir::Etc::main and Dir::Etc::parts.
* example.sbuildrc: Clarify that $maintainer_name is not mandatory and
  overrides Maintainer: field, whereas $uploader_name overrides
  the Changed-By: field in changes.
* Applied patch by Santiago Vila:
  - Moves scripts from /usr/lib/sbuild to /usr/share/sbuild and modifies
    all callers accordingly.
  - Add -n option to tail to comply with POSIX.
  - Call /usr/sbin/sendmail instead of /usr/lib/sendmail.
  (closes: #292717)
* sbuild: Tolerate '0' as version number, thanks Santiago Vila.
  (closes: #300205)

1. By Rick Younie <email address hidden>

made /etc/sbuild.conf a conffile - thanks Gergely Nagy.
(Closes: #136374)

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:ubuntu/karmic/sbuild
This branch contains Public information 
Everyone can see this information.

Subscribers