[Buildd-tools-devel] New sbuild release 0.38
Roger Leigh
rleigh at whinlatter.ukfsn.org
Wed Feb 15 18:56:05 UTC 2006
Hi folks,
sbuild 0.38 has been released; the changelog follows at the end of
this message. It's tagged in CVS as sbuild_0_38, and has been
uploaded to experimental. It is also available at
http://people.debian.org/~rleigh/sbuild-0.38/
If you are a user of sbuild, it would be greatly appreciated if you
could test this release. It has already had a good bit of testing,
but if there are any corner-case regressions that have been missed, it
would be great to catch them before it is uploaded to unstable.
I'm also posting this to -devel, to bring everyone up-to-date on the
current state of sbuild following on from the thread in November
(starting at
http://lists.debian.org/debian-devel/2005/11/msg01368.html).
Version 0.37, released on the 31 Jan 2006, was an almost-complete
merge with upstream; the list of changes is also attached below. This
fixed a number of long-standing bugs, as well as removing a number of
incompatibilities with upstream (it should now be possible to use the
packaged sbuild on a buildd, for example). The next step is merging
all of our bugfixes with upstream. These patches are available at
https://alioth.debian.org/tracker/index.php?group_id=30471&atid=411184
Version 0.38 fixes a number of bugs, as well as introducing a number
of larger changes, the most important being
- full sudo access is no longer required on the host system; access to
the chroot and host system is now provided through a simple API to
make chroot use uniform throughout sbuild.
- schroot session management is integrated. This means that you can
build using any chroot type supported by schroot(1), including LVM
snapshots, files (zip, tar(.gz|.bz2) in a manner similar to
pbuilder), as well as normal chroots. This is selected with
$chroot_mode="schroot" in /etc/sbuild.conf.local.
The only user-visible change should be more verbose log messages; this
will probably need to be made configurable.
Regards,
Roger
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.
-- Roger Leigh <rleigh at debian.org> Wed, 15 Feb 2006 18:13:23 +0000
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.
-- Roger Leigh <rleigh at debian.org> Tue, 31 Jan 2006 12:58:57 +0000
--
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/20060215/8c57a8b2/attachment-0001.pgp
More information about the Buildd-tools-devel
mailing list