[buildd-tools-devel] schroot version 1.3.0 released, testers wanted!
Roger Leigh
rleigh at debian.org
Fri Oct 16 22:44:40 UTC 2009
Hi folks,
I have released schroot version 1.3.0, which will shortly be uploaded
to Debian experimental. This will undergo further testing and gain
a few more features and fixes (see the TODO file) before it enters
Debian unstable as a 1.4.x stable series targeted at squeeze.
If you are an schroot user, or use schroot with sbuild, I'd really
appreciate you giving this a go. It's been in regular use by
developers for several months, and is regarded as being stable and
safe for general use. Once we are happy there are no regressions
from the current 1.2.x stable series, we will consider moving it to
unstable. While there are not currently any known problems with the
code, it has undergone a number of large changes, and given the
number of different ways in which people are using schroot, it's not
possible to test every use case out there. The most likely issues
are not being fully backward compatible with the configuration file
format used in earlier versions (we aim to be fully compatible with
all 1.2.x versions), which should be reported as bugs.
The major new feature in this release is the addition of union
filesystem support, by Jan-Marek Glogowski. This is likely to
replace LVM snapshot support as the preferred way of cloning
sessions due to the increased speed and robustness it offers, as
well as using up less discspace for each clone. If you try out
this exciting new feature, feedback would be much appreciated.
schroot is available from the project's git repository:
git clone git://git.debian.org/git/buildd-tools/schroot
This release is tagged as release/schroot-1.3.0, with the
debian release tagged as debian/schroot-1.3.0-1
Many thanks to everyone who contributed to this release, as well as
all of the others who provided bug reports and suggestions for
improvements.
I hope you enjoy it!
Regards,
Roger
Major changes in 1.3.0:
1) Exec scripts have been removed. Unlike setup scripts, these
scripts were never used, and there are no known uses for them.
Removing them will improve the performance of schroot. The
run-exec-scripts configuration option is no longer used, but
is still permitted to be used until it is obsoleted in a
future release.
2) Setup scripts are now always run for all chroot types except
"plain". In practice, scripts were required for all types
except "plain" in order to function correctly. The ability to
configure this is not useful and so setting run-setup-scripts is
now deprecated in schroot.conf. It may still be set for backward
compatibility, but it has no effect and will be removed in the
future.
3) Chroot configuration files in /etc/schroot/chroot.d are not
loaded if they are backup files or dpkg conffile backups.
4) Support for GCC versions prior to 3.4 has been removed.
5) System databases are copied into the chroot using the getent
program to use the appropriate name service switch (NSS) modules
to get the data, rather than just copying the files. This means
all NSS database sources are supported, including NIS and LDAP.
6) Setup script output is logged to stderr which prevents schroot
outputting to stdout when run with verbose logging enabled.
7) Most schroot features are compiled conditionally, which should
ease porting to non-Linux platforms.
8) Support for union filesystems has been added (aufs and unionfs).
This permits the use of read-only block-device, directory and
loopback chroots with a temporary writable overlay. For "scratch"
temporary chroots, this method is recommended over the existing
LVM snapshot support. It is considered to be faster, more
robust, and uses less disc space.
9) The "command-prefix" option no longer requires an absolute path
to the command. It will use the normal search path inside the
chroot to locate the command.
10) When creating a session, the users in "users", "root-users", and
groups in "groups" and "root-groups" are no longer preserved.
The user requesting access will be the sole user listed in
"users" for the session; however, if the user was in "root-users"
or "root-groups", they will be added to "root-users" instead.
This ensures that only the user creating the session will have
access, so that other users having access to the chroot will not
also automatically gain access to other users sessions.
The following people contributed to this release:
Clytie Siddall (1):
[po] Update vi translation
Jan-Marek Glogowski (43):
[build] Just link schroot-mount to boost filesystem lib
[.gitignore] debian: Simplify ignore rules
[debian] schroot-dbg: Add debug symbols package
[debian] libsbuild-doc: Fix build-deps and dependencies
[debian] rules: Run check before install when building packages
[debian] rules: Use "$(MAKE) -C" in place of explicit "cd && make"
[build] Adapt boostrap from libtoolize suggestions
[build] Use $(mkinstalldirs) to create directories
[sbuild-error] Add third error detail parameter
[sbuild] chroot: Drop mount_device member
[test] Add chroot_directory test data
[sbuild] setup: Use CHROOT_DIRECTORY
[sbuild::chroot_directory] Inherit from chroot_plain
[sbuild::chroot_directory] Inherit from chroot_plain
[sbuild::chroot_fs_union] New class to add filesysten union support
[sbuild::chroot_directory] Add filesystem union support
[sbuild::chroot_loopback] Add union filesystem support
[sbuild::chroot_block_device] Add union filesystem support
[build] Add missing whitespace
[test] Add test for chroot_loopback
[build] Remove config.h.in~ when bootstrapping
[setup] Remove plain chroot type
[sbuild] Move getcwd from sbuild-session.cc to sbuild-util.cc
[sbuild::chroot_loopback] Add locking
[sbuild::chroot] set_session_id sets session ID
test: Use sbuild::getcwd to get abs_testdata_dir
test: Add set_run_setup_scripts tests
test: Unify environment tests
etc/setup.d: Cleanup union handling in scripts
build: Use $(mkinstalldirs)
sbuild: Some cleanup for directory and union chroots
etc/setup.d/10mount: Reuse loopback device
sbuild::chroot Convert facets from vector to list
debian: control: Add better schroot-dbg package dependencies
sbuild::chroot: Don't write 'active' key
etc/setup.d: Cleanup union handling in scripts
sbuild::chroot_facet_union: Really use own error messages
.gitignore: Add VERSION and .gdb_history
sbuild::chroot_block_device_base: Don't lock union block devices
test: Print key and value for keyfile and env
test: Cleanup keyfile and environment tests
schroot: Document session usage relating to --chroot
doc: Fix some doxygen class headers
Ji ZhengYu (1):
[po] Update zh_CN translation
LI Daobing (李道兵) (1):
[po] Add zh_CN translation
Loïc Minier (1):
[man] Fix typos in schroot-script-config.5.in and schroot-setup.5.in
Nick Fortino (1):
[build] Use LIBS rather than LDFLAGS in library checks
Nicolas François (2):
[po] Update fr translation
[po] Encoding is UTF-8, not ISO-8859-1
Pedro Ribeiro (1):
[po] Update pt translation
Petr Salinger (1):
[sbuild] Order of "struct flock" members is not assumed.
Roger Leigh (331):
* Update translations. * Fix up gitignore for dchroot.
* configure.ac: Change version to 1.3.0. * debian/changelog: Change version to 1.3.0.
Add eu translation.
* configure.ac: Increase minimum gettext version to 0.16.
* debian/control: libsbuild-dev is in section libdevel.
* TODO: Add logging items.
* bin/schroot/setup/*, bin/schroot/exec/*: All scripts check if $CHROOT_SCRIPT_CONFIG exists, and exit with an error if not (but only if status=ok, in order that the setup-stop task succeeds on failure). Scripts using values from the $CHROOT_SCRIPT_CONFIG check that they are defined and valid before using them, and exit with an error if they are invalid.
Generate ChangeLog automatically.
Ignore ChangeLog.
[po] Update de translation.
[sbuild] Include missing <cstring>, needed by GCC 4.3.
Merge branch 'master' of git+ssh://git.debian.org/git/buildd-tools/schroot
Update translated strings and translator comments.
Only generate ChangeLog if using git
[test] Add parentheses around ambiguous statements
[po] Add pt translation.
[sbuild] chroot_config no longer uses O_NOFOLLOW
[sbuild] Add missing static_cast to stat::check_mode
[schroot] Read additional configuration from /etc/schroot/chroot.d.
[debian] Add GIT repository information to control file.
[schroot] Remove setup/50sbuild
[schroot-mount] schroot-mount-main: Create mountpoint if needed.
[NEWS] Document changes for 1.2.0
[dchroot] dchroot.1.in: Remove short option for --preserve-environment
[debian] changelog: Close bugs for 1.2.0
[man] NAME section uses ASCII hyphen, not em dash
[build] Use MKDIR_P in place of MKINSTALLDIRS
[debian] Build-Depend on libboost-filesystem-dev
[debian] Close #469038
Update copyright and author contributions
[po] Update translations
[debian] control: Bump Standards-Version to 3.7.3
[debian] libsbuild-doc.doc-base: Use section Programming/C++
Bump version to 1.2.1
[po] Update translations
[scripts] Add po-notify script for translation updates
[scripts] Don't ignore po-notify
[schroot] Document /etc/schroot/chroot.d
[schroot] Don't fail if the LVM snapshot device does not exist
[sbuild] Don't fail if LVM snapshot device doesn't exist on SETUP_STOP
[sbuild] Don't fail if block device doesn't exist on SETUP_STOP
[setup] Don't clear mount options for LVM snapshots
[sbuild] Remove redundant include
[sbuild] Add "loopback" chroot type
[debian] Document loopback chroot type
Finalise version 1.2.1
[debian] Correct lintian warnings
[sbuild::auth_conv_tty] Add weak reference to the auth object
[scripts] Remove generated script po-notify
[scripts] .gitignore: Ignore po-notify
[sbuild::session] Don't inherit from sbuild::auth
[sbuild::session] Access authstat via this pointer
[csbuild] Correct variable name in doxygen comment
[schroot.conf] Update distribution names for Squeeze.
[debian] Close #516272
[sbuild::session] Fix memory leak in is_group_member
[debian] Close #517223
[dchroot] Session code uses get_auth to get authentication data
[build] Build against Boost version 1.37
[debian] control: Build-Depend on Boost 1.37
[sbuild] Remove support for GCC < 3.4 __gnu_cxx::stdio_filebuf
[debian] Close #517041
[schroot] setup: Copy NSS databases using getent
[sbuild] sbuild-run-parts: Explicitly close syslog fd
[sbuild] sbuild-util: Add is_valid_filename
[sbuild] sbuild-chroot-config: Use is_valid_filename on directory load
[debian] Close #513307
[.gitignore] Ignore log and substvars files
[debian] control: Remove duplicated word in description
[debian] Use debhelper v7 compatibility mode
[debian] control: Update to Standards Version 3.8.1
[sbuild-session] Export additional auth variables into setup environment
[debian] Close #496629
[build] Add bash completion to build
[debian] Configure and install bash completion
[debian] rules: Split configure invocation onto multiple lines
[sbuild-session] Export SCHROOT_SESSION_ID in user environment
[build] Install SCHROOT_UNPACK_DIR
[sbuild-session] Export SCHROOT_UNPACK_DIR for setup scripts
[build] Install SCHROOT_UNPACK_DIR
[setup] 05file: Use UNPACK_DIR and mount unpacked files
[build] Add checks for POSIX thread support
[build] Compile and link with POSIX thread support
[debian] Close #520713
[test] Fix test to use correct write size
[build] Add configure option to generate doxygen docs
[NEWS] Bump version to 1.3.0
[po] Update translations
[debian] Build-depend on doxygen and configure with --enable-doxygen
[.gitignore] csbuild: Ignore csbuild
[build] doc: Don't require MAINTAINER_MODE to build docs
[debian] libsbuild-doc: Install docs from debian/build
[debian] Document schroot-dbg addition
[build] Use autoreconf in place of separate autotools commands
[sbuild-log] Unify reason logging as a single function
[sbuild-log] Rename DebugLevel to debug_level
Merge branch 'master' of ssh+git://git.debian.org/git/buildd-tools/schroot
Merge branch 'fs-union'
[debian] rules: Only mkdir debian/build if it doesn't already exist
[schroot] Document chroot_directory directory property
[test] Add new chroot_directory tests for directory property
[sbuild::chroot_directory] Add directory property to replace location
Merge branch 'fs-union'
[setup] 15killprocs: Use /bin/kill to remove bashism
[debian] Build-Depend on boost 1.38
[sbuild] chroot_mountable: Add mount_device member
[sbuild] sbuild-chroot-block-device: Update TODO item
Rearrange configuration and manual pages
[build] Remove manpages from bin/schroot/Makefile.am
[build] 05fsunion setup script not yet merged
[etc] Add .d suffix to exec and setup script directories
[sbuild] sbuild-session: Remove support for exec scripts
[man] Document removal of run-exec-scripts
[sbuild] basic_keyfile: Allow NULL method pointers
[sbuild] Remove run_exec_scripts
[schroot-mount] Don't log command being executed
[setup.d] Remove W: message prefix
[sbuild] run_parts: Log script output
[sbuild::chroot] Remove prototypes and member for run_exec_scripts
[sbuild] chroot_mountable: Move location property from chroot
[sbuild] chroot: Remove unused location member
[TODO] Add new items
[setup.d] 20nssdatabases: Make executable
[etc] mount-defaults: Bind mount /dev/shm
[debian] Close #526788
[schroot-mount] Act like mkdir -p rather than mkdir creating mountpoints
[sbuild::chroot_file] Move CHROOT_FILE_UNPACK_DIR from session UNPACK_DIR
[TODO] Add cleanup items for union and file chroots
[sbuild::chroot] All chroots except plain run session scripts
[sbuild::chroot_plain] Split from chroot_directory
[build] Conditionally compile block-device and lvm-snapshot support
[build] Build loopback chroot support conditionally
[build] Include correct lockdev headers for sbuild-lock
[build] Make personality support configurable
[build] Loopback chroot doesn't depend on block-device
[build] Make UUID support configurable
[sbuild] Make PAM support configurable
[sbuild::auth] Split into auth_pam and auth_null
[sbuild] Add pam prefix to all pam auth names
[debian] control: schroot-dbg is in section debug
[po] Add new source files
[po] Update English translation
[build] Make UUID support configurable
[build] Remove duplicated checks for UUID support
[build] Remove last traces of exec.d
[debian] Remove old checks for obsolete versions
[NEWS] Document major changes
[sbuild::auth] Add split auth_null and auth_pam
[sbuild::auth_pam] Add missing prototype
[schroot::main_base] Use new PAM header names
[sbuild::chroot_directory] Remove erroneously added clone_source
[sbuild::basic_keyfile] Replace last std::string usage with traits types
[TODO] Remove completed basic_keyfile string_list removal
[sbuild::chroot] Add session_id property
[test] Update chroot_directory tests
[sbuild::chroot_directory] Include correct header for parent class
Merge branch 'master' of ssh://git.debian.org/git/buildd-tools/schroot
[setup] Simplify conditional to use cleaner syntax
[sbuild] chroot_mountable: Refactor as partial interface
[sbuild::chroot_fs_union] get_path always returns the mount location
[sbuild::chroot_mountable] Don't derive from chroot
[sbuild::chroot_source] Don't inherit from chroot
[sbuild::chroot_fs_union] Add underlay directory in addition to overlay
[sbuild::chroot_union] Rework union mounts
[sbuild::chroot_union] Synchronise with current master branch
[TODO] Add union items
[sbuild::chroot:block_device] Split into block_device_base
[sbuild::chroot_union] Add clone_source_setup
[sbuild::chroot_directory] Make chroot_union support configurable
[sbuild::chroot_source] clone_source_setup is virtual
[sbuild::chroot_directory] Add missing newline
[sbuild::chroot_loopback] Include config header for conditional building
[sbuild::chroot_loopback] Chain up to chroot::setup_env
[sbuild::chroot_directory] Set SESSION_CREATE in all cases
[sbuild::chroot_source] Move SESSION_PURGE into chroot_lvm_snapshot
[sbuild::chroot_union] Don't set SESSION_CREATE unless union in use
[test] Update tests for filesystem unions
[TODO] Add enum |= and &= operators
[man] schroot.conf.5: Document block-device union support
[debian] Close #494481
[sbuild::chroot_union] Simplify conditional logic
[test] Remove deprecated run-setup-scripts from tests
[test] Use dynamic_pointer_cast for shared_ptr types
[sbuild::chroot_union] Use dynamic_pointer_cast for tr1::shared_ptr
[test] Improve environment diagnostic
[test] Remove whitespace
[test] sbuild_chroot_loopback: Update to use current union interface
[build] Fix union configure check
[debian] Remove debian/install after running dh_prep
[sbuild] Reindent sbuild::util operator functions
[sbuild::chroot] Reindent session flags
[test] Make filesystem union tests conditional
[test] Remove obsolete run_setup_scripts checks
[sbuild::chroot_block_device_base] Simplify session flags
[sbuild::chroot_source] Re-unify source member variables and methods
[sbuild::chroot*] Remove duplicated source methods and members
[sbuild::chroot] set_run_setup_scripts is protected
[sbuild::chroot_union] Only print union details if configured
[sbuild::chroot_directory] Always chain up to union methods
[sbuild::session] Correct logic for setting mount location
[man] Disable adjustment on long line to fix groff warning
[debian] Update to Standards-Version 3.8.2
[NEWS] Document filesystem union support
[sbuild::session] Only display command/shell if verbose
[sbuild::util] Add split_string_strict
[sbuild::chroot_union] Only set keyfile keys if union is configured
[sbuild::run_parts] Fix script stream buffering
[setup] Add 99check symlink to 00check to run on setup-stop
[setup] 15killprocs adds sanity check for CHROOT_MOUNT_LOCATION
[setup] Rename 05fsunion to 05union
[setup] 10mount union mounting uses underlay directory
[sbuild::session] Don't special-case handing of union mount location
[po] Update translations
Update copyright message for 2009
[po] Update translations
[sbuild] Split chroot_plain into chroot_plain_base
[sbuild::session] Correct check for plain chroot type
[setup] 05union doesn't abort for non-union supporting chroots
[setup] 15killprocs doesn't abort if there's no mount location set
[sbuild::chroot_mountable] get|set_mount_device are pure virtual
[sbuild::chroot] get_mount_location is not virtual
[sbuild] Rename chroot_plain_base to chroot_directory_base
sbuild/sbuild-config.h.in: Get default environment filter from configure
[sbuild::environment] get method is const
[sbuild::chroot_block_device] Chain up to chroot in copy constructor
[sbuild::chroot_lvm_snapshot] Only inactive sessions serialise lvm-snapshot-options
[sbuild::chroot_source] Replace is_source with source_clonable
[sbuild::chroot] Make some methods public for testing
[test] Test keyfile serialisation
[TODO] Remove virtual inheritance
[test] setup_env_chroot adds common environment
[sbuild::chroot_block_device] Chain up to virtual base in all copy constructors
[sbuild::chroot_union] Display union type
[sbuild] Don't call specific clone_source_setup
[test] Test source environment
[sbuild::chroot_session] New class for session handling
[sbuild] Add support for chroot_session to all session-creating chroot types
[sbuild::chroot_session] Set base chroot active and set source options
[sbuild::chroot_union] Set SESSION_PURGE session flag if a session
[test] Add session checks to sbuild::chroot_loopback
[sbuild] sbuild::chroot inheritance is non-virtual
[sbuild] define copy constructur in classes inheriting chroot_session
[sbuild] clone_ methods satisfy testcases
[sbuild::chroot_file] Purge if active
[sbuild::chroot_file] Reindent conditional statement
[sbuild::chroot_session] set_session_active chains up to base set_active
[sbuild::chroot_session] setup_env is virtual
[test] Add tests for keyfile and environment
[doc] Update doxygen version to 1.5.9
[doc] Use .log files in place of -stamp files
[sbuild] Update doxygen comments to fix missing or broken parts
[sbuild] Enable chroot_session in session
[po] Update translations
[sbuild::chroot] setup_env is const
sbuild::chroot_facet: Add chroot_facet interface and skeleton personality facet
.gitignore: Ignore new separate chroot-* tests
sbuild::session: Search for command-prefix using search path
sbuild::keyfile_parser is a class not a struct
sbuild::basic_keyfile_parser: Constructor explicitly initialises all members
sbuild::chroot_source: Allow setting of source-* properties for non-clonable chroots
sbuild::chroot: Add initial chroot_facet support
sbuild::chroot: setup_env method is const
sbuild::chroot: Session ID detail only printed if session is active
po: Update
sbuild::chroot: Add interface to add, remove, replace and get facets
sbuild::chroot: Pass chroot as parameter to facet functions
sbuild::chroot_facet_personality: Add personality support from sbuild::chroot
sbuild::chroot: Call methods from facets in addition to virtual methods
sbuild::session: Use common name for personality facet pointer
sbuild::chroot: Add const_ptr typedef
sbuild::chroot_facet*: Add ptr typedefs and create and clone methods
sbuild::chroot_facet_session: Add new session facet
sbuild::chroot: Enable session facet
sbuild::chroot: Add clone_source virtual method
sbuild::chroot_source: Reimplement as facets
sbuild::chroot_mountable: Replace with chroot_facet_mountable
sbuild::chroot_union: Replace with chroot_facet_union
sbuild::chroot_facet: Update all facet uses to use ptr and const_ptr types
sbuild::session: Only use session_id property for cloning sessions
etc/setup.d/10mount: Don't quote mount options
build: Add git tagging code
NEWS: Update to 1.3.0-rc1
scripts/git-version: Allow hyphens in version number
po: Update POTFILES.in for new sources
po: Update
etc/mount-defaults: Add /dev and /proc/bus/usb (but commented out)
build: Build static library by default
etc/setup.d/10mount: Comma-separate loop mount option
sbuild::chroot: clone_session is pure virtual and chroots always clone
sbuild::chroot_facet_session: Move deserialisation code from chroot_facet_source
sbuild::basic_keyfile: Ask user to update deprecated keys
sbuild::chroot_facet_mountable: Serialise mount-device to keyfile
sbuild::chroot_facet_session: Use correct class name for null method pointers
sbuild::session: Split UUID generation into support function
TODO: Remove done and add pending changes
etc/setup.d: Set file unpack directory and add extra logging
po: Add .tcc files
po: Update
sbuild::run_parts: Handle EINTR during reads
sbuild::run_parts: Correct poll conditional
man: Document NSSDATABASES
etc: Remove SBUILD script default
sbuild::chroot_facet_session: Split into chroot_facet_session_clonable
test: Add mount-device to keyfile checks
sbuild::chroot_facet_mountable: Only serialise mount-device for sessions
TODO: Distinguish between chroot, source and session
sbuild::chroot_facet_session_clonable: Remove source keyfile deprecation
build: Require automake 1.10 and use silent-rules
sbuild::chroot_facet_source_clonable: Remove source_clonable member
sbuild::session: Default child_status to EXIT_FAILURE
debian: Close #545706
build: Use MKDIR_P in place of mkinstalldirs
csbuild: Add all sbuild options and wrap sbuild
csbuild: Fail following exec failure
csbuild: Update option group description
bin: schroot_base_main: action_version prints configured options
build: Remove -mt suffix from Boost library names
sbuild: Validation of chroot properties allows strings to be empty
sbuild::chroot_facet_session: Remove unused clone_session_setup
sbuild::chroot_facet_session_clonable: Only allow session creator to access session
test: Add root-user preservation check to chroot-directory
sbuild: Add reentrant passwd and group wrappers
sbuild::stat: Support C string constructor
NEWS: Add 1.2.x changes
debian: changelog: Add 1.2.x changelog entries
NEWS: Bump version to 1.3.0
debian: Use Standards-Version 3.8.3 and Boost >= 1.39
po: Update po files and en translation
build: Replace SCHROOT_RELEASE_DATE with m4_esyscmd
po: Update en.po
debian: Remove empty lines from changelog
Tim Abbott (3):
[schroot] Add bash completion
[setup] 05lvm: Reorder lvm snapshot options to make more flexible
etc/setup.d/10mount: Properly quote do_mount calls in 10mount
--
.''`. 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/buildd-tools-devel/attachments/20091016/dcb02bc7/attachment-0001.pgp>
More information about the Buildd-tools-devel
mailing list