Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
with 20copyfiles.
* bin/schroot/setup/Makefile.am
(setup_SCRIPTS): Remove 20network and 30passwd, and add
20copyfiles.
* bin/schroot/setup/30passwd: Remove.
* bin/schroot/setup/20copyfiles: Move from 20network. Read
COPYFILES file, and copy files into chroot.
* bin/schroot/script-defaults: Add COPYFILES.
* bin/schroot/copyfiles-defaults: New file. Files to copy into
the chroot.
* debian/schroot.preinst: Add rm_conffile function to remove
/etc/schroot/setup.d/20network and /etc/schroot/setup.d/30passwd for
versions prior to this. These are replaced by
/etc/schroot/setup.d/20copyfiles.
|
|
|
|
* bin/schroot-mount/schroot-mount-main.cc: Ensure fstab fs_dir has
a leading /.
|
|
|
|
|
|
|
|
|
|
|
|
* debian/changelog: Update for 1.1.1.
* NEWS: Document new environment variables set inside the chroot.
* TODO: Remove completed SCHROOT_USER item.
|
|
* bin/schroot/schroot.conf.5.in: Document the environment-filter
key.
* bin/schroot/schroot.1.in (list): Document environment variables
being set, and configuration of environment filtering.
* sbuild/sbuild-session.cc (run_child): Set SCHROOT_COMMAND,
SCHROOT_USER, SCHROOT_GROUP, SCHROOT_UID and SCHROOT_GID
environment variables, equivalent to SUDO_* variables of the same
name (except for SUDO_GROUP, which does not exist).
* sbuild/sbuild-auth.cc
(auth): Initialise rgid and rgroup members from group database.
(get_rgid): New member function to get rgid.
* sbuild/sbuild-auth.h: Add GROUP error_code and rgid and
rgroup class members.
|
|
* debian/changelog: Update for 1.1.0
* TODO: Remove completed item.
|
|
* All catch blocks catch const references.
* sbuild/sbuild-run-parts.cc
(run_child): Handle exceptions thrown in child.
* sbuild/sbuild-session.cc
(setup_chroot): Handle exceptions thrown in child.
* Replace all uses std::locale("C") with std::locale::classic().
* Replace all uses of NULL with 0.
* sbuild/sbuild-auth.cc
(auth): Remove redundant auth_conv_tty dynamic_cast.
(~auth): Log an error if an exception is caught.
(set_user): Default uid and gid to current uid and gid, rather
than 0, for extra safety when an error occurs.
(run, start): Use reinterpret_cast instead of static_cast when
casting void *.
(authenticate): Don't leak hostname array if an exception is
thrown.
|
|
error).
|
|
* Added a number of debugging messages to important codepaths.
|
|
* po/en_GB.po: Update translation.
|
|
and reword error messages to be uniform with chroot error
messages.
* sbuild/sbuild-chroot-config.cc: Rename CHROOT error to
CHROOT_NOTFOUND, to reduce ambiguity.
|
|
* sbuild/sbuild-chroot.cc
(set_persona): Remove method overloaded for a string.
(get_keyfile): Use keyfile::set_object_value for the personality.
(set_keyfile): Use keyfile::get_object_value for the personality.
* sbuild/sbuild-personality.cc: Add a BAD error code for when the
personality name is invalid.
(get_personalities): Renamed from print_personalities. Create a
string, rather than printing to an ostream.
* sbuild/sbuild-personality.h: Add stream input operator, to set
the personality from a stream.
* sbuild/sbuild-keyfile.h: Move all logic in get_object_value into
the try block, to catch and report parse errors in T parsing.
|
|
* All code logging exceptions with log_error() and e.what() use
log_exception.
* sbuild/sbuild-auth.cc (auth_conv_hook): In the PAM conversation
hook, catch and handle any exception thrown by a conversation
handler.
* sbuild/sbuild-auth-conv-tty.cc (conversation): Rather than
returning false on error, throw an exception. Remove exception
catching logic; it's now handled in sbuild::auth.
* sbuild/sbuild-auth-conv.h (conversation): Rather than returning
false on error, throw an exception.
* sbuild/sbuild-log.(cc|h) (log_exception): New function. This
helper function outputs an exception using log_error(), and
exception reasons using log_info().
* sbuild/sbuild-parse-error.h: All constructors add a call for
format_reason in addition to format_detail. All detail arguments
are templated rather than strings (to allow use of exceptions as
detail).
* sbuild/sbuild-custom-error.h: All constructors add a call for
format_reason in addition to format_detail.
* sbuild/sbuild-error.h, sbuild/sbuild-error.tcc: Add error_base
class. This contains a reason string with a why() method in
addition to the what() method provided by std::exception. error<>
derives from error_base, and provides a format_reason helper with
similar behaviour to format_detail. Both format_detail and
format_reason contain templated helper classes to allow conversion
of exceptions of any type, and the transfer of their reason (if
any).
* configure.ac: Add check for boost/type_traits.hpp.
|
|
|
|
* schroot/schroot.conf.5.in: Add undocumented features.
* schroot/schroot.conf: Add undocumented features.
|
|
* THANKS: Add Simon Richter.
* sbuild/sbuild-session.cc
(run_impl): Move session opening and closing here. The session is
opened and closed outside the chroot as root.
|
|
* Update doxygen API reference.
|
|
* TODO: Remove completed item.
* Updated British English translation.
* Apply quoting style to all sources.
* HACKING: Document quoting style for format strings.
|
|
* Add boost::format markup to error strings.
* sbuild/sbuild-custom-error.h: All constructor detail arguments
are now templated. Add additional constructors for multiple detail
arguments.
|
|
* TODO: Remove completed item.
* sbuild/sbuild-session.cc
(setup_chroot): Use sbuild::run_parts in place of run-parts(8).
* configure.ac: Remove run-parts(8) checks.
|
|
* sbuild/sbuild-chroot-config.cc
(parse_data): Remove exception wrapper, now that sbuild::keyfile
throws exceptions containing more detailed information.
* sbuild/sbuild-chroot-file.cc
(get_file_repack, set_file_repack): New methods to get and set
file repack status.
* All chroot get_keyfile and set_keyfile methods are implemented
in terms of the new keyfile::[gs]et_object_(list_)value methods.
* sbuild/sbuild-keyfile.h: Add templated static methods for
getting and setting key values and list values using pointers to
methods of other objects.
|
|
* sbuild/sbuild-util.cc (narrow_string, widen_string): Throw a
runtime_error on conversion failure.
|
|
* schroot/schroot-base-main.cc
(run): This method takes argc and argv arguments, and calls the
option class parse method. It also catches and handles parse
exceptions.
* schroot/schroot-base-option.cc
(parse): Renamed from parse_options, this method now takes argc
and argv as arguments and calls all the other class virtual
methods to set up and process the options.
(add_option_group): New virtual method. The addition of option
groups is split out from the parse method.
* All option parsing classes have removed the argc and argv
arguments from their constructors. The constructors now no longer
call any of the virtual methods.
|
|
with failure status, warn and return false, or throw an exception.
|
|
* test/sbuild-keyfile.cc: Update testcases.
* test/sbuild-parse-value.cc: Update testcases.
* sbuild/sbuild-environment.h: Use new parse_value syntax.
* sbuild/sbuild-keyfile.h: Use new parse_value syntax.
get_list_value now correctly reports parse errors in list values.
* sbuild/sbuild-parse-value.(cc|h): Convert from a class back into
separate functions. This gets rid of annoying uninitialised value
errors.
|
|
headers, and root no longer needs to be in groups or root groups).
* schroot/Makefile.am: Add sbuild-format-detail.cc.
* schroot/sbuild-format-detail.h: Remove ostream operator <<
format_detail<bool> specialisation.
* schroot/sbuild-format-detail.cc: New file. Move ostream
operator << format_detail<bool> specialisation from the headers,
so translatable strings are not used in the header.
|
|
* debian/changelog: Update for 0.2.9.
* po/en_GB.po: Updated British English translation.
* README: Document new compiler requirements.
|
|
CHROOT_FILE_REPACK in the environment.
|
|
|
|
* schroot/schroot.conf.5.in: Document required ownership and
permissions for file archives.
* schroot/sbuild-chroot-file.cc
(setup_lock): Check ownership and permissions of file archive.
* schroot/sbuild-chroot-config.cc (check_security): Tidy error
message formatting.
* schroot/setup/10mount:
(do_umount): Only umount if the mountpoint exists.
* schroot/setup/05file:
(repack_file): Preserve ownership and permissions of the original
archive file.
|
|
(unpack_file): Use a temporary file to prevent data loss, and use
trap to clean up on failure.
|
|
* debian/postinst: Move /etc/schroot/run.d/00check to
/etc/schroot/exec.d/00check if modified locally.
* debian/preinst: Remove /etc/schroot/run.d/00check if not
modified locally.
* Update tests.
* schroot/schroot.conf: Rename run-session-scripts to
run-exec-scripts.
* schroot/schroot.conf.5.in: Document new configuration
parameters, and deprecated parameters.
* schroot/schroot.1.in: Document new setup script locations.
* schroot/schroot-setup.5.in: Document new setup script locations
and parameters.
* schroot/Makefile.am (SUBDIRS): Rename run to exec.
* configure.ac: Rename SCHROOT_CONF_RUN_D to SCHROOT_CONF_EXEC_D.
Rename schroot/run/Makefile to schroot/exec/Makefile. Tidy
comments.
* schroot/sbuild-session.cc: Use new chroot functions and enums.
Also use SCHROOT_CONF_EXEC_D rather than SCHROOT_CONF_RUN_D.
Execution scripts are called with "exec-start" and "exec-stop",
rather than "run-start: and "run-stop", respectively.
* Use new functions and enums in all derived chroot types.
* schroot/sbuild-chroot.cc
(get_run_exec_scripts): Rename from get_run_session_scripts.
(set_run_exec_scripts): Rename from set_run_session_scripts.
(print_details): Print "Run Execution Scripts" rather than "Run
Session Scripts".
(get_keyfile): Set "run-exec-scripts" in the keyfile.
(set_keyfile): Get "run-exec-scripts" in the keyfile. Also get
"run-session-scripts" (now deprecated) for backward compatibility.
* schroot/sbuild-chroot.h
(setup_type): Rename RUN_START and RUN_STOP to EXEC_START and
EXEC_STOP.
(run_exec_scripts): Rename member from run_session_scripts.
* Rename schroot/run to schroot/exec.
|
|
* debian/changelog: Update for 0.2.4.
* TODO: Update.
|
|
* debian/changelog: Update for 0.2.3.
* NEWS: Document changed "--info" output.
* TODO: Update.
|
|
chroots.
* TODO: Remove completed item.
* schroot/schroot.conf.5.in: Document automatic block-device
creation for lvm-snapshot chroots.
* schroot/sbuild-chroot-config.cc (parse_data): Create a
corresponding block-device chroot for each lvm-snapshot chroot.
"-source" is appended to the chroot name and its aliases.
|
|
* Update testcases.
* schroot/sbuild-config.cc (load): Use the new Chroot keyfile
streaming functionality to initialise chroots.
* Implement all new virtual functions in Chroot in derived
classes.
* Remove all functions removed from Chroot in derived classes.
* schroot/sbuild-chroot.(cc|h)
(Chroot): Remove overloaded construction to initialise with a
keyfile.
(create): Remove overloaded method for creating from a keyfile.
(print_config): Remove.
(get_keyfile): New protected virtual method to serialise a chroot
to a keyfile.
(set_keyfile): New protected virtual method to initialise a chroot
from a keyfile.
(operator >>): New friend function to stream from a keyfile.
(operator <<): New friend function to stream to a keyfile.
|
|
(check_priority): Add support for PRIORITY_DISALLOWED.
* schroot/sbuild-config.cc: Convert to throw exception instead of
immediately terminating with an error. This makes unit testing
possible, and errors are all caught correctly at the top-level.
* schroot/sbuild-chroot-lvm-snapshot.cc: When reading a keyfile,
only allow reading "lvm-snapshot-device" when restoring an active
chroot.
* configure.ac (AM_INIT_AUTOMAKE): Quote argument.
* test/sbuild-config.cc: New file. Test for sbuild::Config.
|
|
* test/sbuild-util.cc: Update testcase with fixed path.
* schroot/sbuild-session.cc (run_child): Use new
find_program_in_path syntax.
* schroot/sbuild-util.cc (find_program_in_path): Add path
argument, to allow use of paths other than $PATH.
|
|
consistency.
|
|
Imbue ostream with "C" locale.
* schroot/sbuild-config.cc (load): Imbue istream with "C" locale.
* schroot/sbuild-keyfile.cc (keyfile): Imbue ifstream with "C"
locale.
* schroot/sbuild-chroot.h (setup_env_var): Imbue stringstream with
"C" locale.
* schroot/sbuild-keyfile.h: All stringstreams are imbued with the
"C" locale for locale-independent formatting.
* schroot/schroot-releaselock.cc (main): Use C++ locale setup.
* schroot/schroot.cc (main): Use C++ locale setup.
|