bilibop (0.5.4) unstable; urgency=high * bilibop-common: remove "udev compatibility stuff" (no more needed). Closes: #852592. * debian/control: - bump Standards-Version to 4.1.0, and modify Format: field in debian/copyright accordingly (use https:// URL); also remove extra priority (deprecated) - add aufs-dkms in the list of packages suggested by bilibop-lockfs * debian/*.triggers: replace 'activate' by more explicit 'activate-await' variant (caught by lintian). * Update copyright dates -- Yann Amar Sat, 09 Sep 2017 08:22:54 +0000 bilibop (0.5.2.1) unstable; urgency=high * bilibop-common: - modify underlying_device_from_aufs() to support multiple read-only branches. Closes: #861685. -- Yann Amar Thu, 18 May 2017 15:20:24 +0000 bilibop (0.5.2) unstable; urgency=low * bilibop-rules: add brazilian portuguese translation for debconf templates. Thanks to Adriano Rafael Gomes (closes: #827324) * bilibop-rules: add swedish translation for the debconf templates, thanks to Jonatan Nyberg (closes: #824911) * bilibop-rules: fix typos in lsbilibop(8) * debian/control: bump Standards-Version to 3.9.8 (no changes needed) * debian/changelog: fix typo (lintian warning) in 0.5.1 entry -- Yann Amar Mon, 16 Jan 2017 23:29:07 +0000 bilibop (0.5.1) unstable; urgency=low * bilibop-common: update bilibop_common_functions(); fix typo in bilibop(7) manpage. * bilibop-rules: add danish translation for the debconf templates; thanks to Joe Dalton (closes: #800456). * bilibop-lockfs: modify lockfs_mount_helper: rename some variables to be less confusing. * debian/control - Drop dependency on initscripts package. Closes: #804985, #804986 - Update Vcs-Git field and fix a typo * debian/changelog: fix typos (lintian warnings) in 0.5.0 entry -- Yann Amar Fri, 12 Feb 2016 06:04:44 +0000 bilibop (0.5.0) unstable; urgency=medium * bilibop-common: add support for overlayfs (in mainline kernel since 3.18). Closes: #778497; new functions in common.sh: - canonpath(): clean field separators in an arbitrary filepath - is_overlay_mountpoint(): grep /proc/mounts for 'overlay' filesystem - overlay_mountpoints(): doing the same as aufs_mountpoints() - overlay_lowerdir(): output the cleaned value of lowerdir= mount option - overlay_upperdir(): output the cleaned value of upperdir= mount option - overlay_workdir() - underlying_device_from_overlayfs(): find the underlying device from the 'lowerdir' value; fallback to live-boot (5.0~a1-1) usecases. Also modify underlying_device_from_file() to call the previous one. * bilibop-common: add support for btrfs. A file on a btrfs mountpoint is not directly mapped to the underlying block device: 'stat -c %D FILE' shows that the file seems to be on some kind of ramfs (major=0). So add two functions in common.sh: - is_btrfs_mountpoint() - underlying_device_from_btrfs() Also modify underlying_device_from_file() to call the previous one. * bilibop-common: modify other functions in common.sh: - underlying_device_from_aufs(): do not fail if the underlying device contains btrfs; now use aufs_readonly_branch() instead of aufs_dirs(), and call underlying_device_from_file() if the major number of the underlying device is 0 (be aware of a possible endless loop) - aufs_dirs(), aufs_readonly_branch() and aufs_writable_branch(): replace occurencies of glob pattern 'br*' by 'br?' to skip brid[01] files - underlying_device_from_file(), do not return 1 too early; let the last test say if the function failed or not - underlying_device_from_loop(): for the case the backing file itself is on btrfs, aufs or overlay, i.e. call underlying_device_from_file() from there too - find_mountpoint() and device_id_of_file(): to work around overlayfs specific design (files and dirs are not treated the same way) - underlying_device(): remove unneeded local variable assignment * bilibop-common: update copyright, README section and physical_hard_disk() dependency tree in common.sh * bilibop-common: update README.Debian, bilibop(7) and bilibop.conf(5). * bilibop-lockfs: add support for overlayfs. - Modify local-bottom/bilibop-lockfs initramfs script: define $METHOD as the aufs or overlay module that is supported by the kernel, and use its value to setup specific mount options and mount points. Allow one to override the default directory name by setting BILIBOP_LOCKFS_PATH_PREFIX - Modify initramfs hook (+ manual_add_module overlay) Improve the part of the script related to mount commands (mount -t tmpfs, mount -o bind, mount -o move, ...). Make sure the paths of the branches used to build the union fs will be consistent at runtime (for both overlay, and aufs with brs=0), as the only one places to get those paths (e.g. mount options field in /proc/mounts) is out of sync. - Rewrite lockfs_mount_helper script, according to the initramfs script; prepare directory trees and add/modify comments. Change mount order; now the tmpfs mountpoint is set BEFORE the readonly branch, the last one being, by design (bilibop), a subdirectory of the first one. Introduce a new tunable variable BILIBOP_LOCKFS_PATH_SCHEME to choose the directory structure of the lower and upper branches. - Also modify lockfs-notify accordingly to support overlay filesystem * bilibop-lockfs: modify blacklist_bilibop_devices() in lockfs.sh. Manually add lvm-pv-uuid-* symlink to the list, as the udev rules creating it are not included into the initramdisk. * bilibop-lockfs: update README.Debian and lockfs_mount_helper(8) * bilibop-rules: modify initramfs script. The busybox's readlink implementation does not work as expected (with -f flag) and does not resolve the target of a broken symlink; so replace the readlink call by a 'ls -l | sed' command. * bilibop-rules: modify lsbilibop. Remove '\n' in echo, as it is not supported by all shells, and call echo again to print an empty line (closes: #772187). * bilibop-rules: update lsbilibop(8) * bilibop-udev: update README.Debian * debian/control: bump Standards-Version to 3.9.6 (no changes needed). Update extended descriptions. * debian: modify bilibop-{lockfs,rules}.post{inst,rm}: use 'which' to test availability of update-initramfs command instead of testing its full path, to avoid a lintian warning. -- Yann Amar Tue, 14 Jul 2015 17:11:52 +0000 bilibop (0.4.23) unstable; urgency=high * bilibop-lockfs: modify lockfs_mount_helper script: take mount(8) flags into account when parsing script arguments provided by parent process; this avoids mount failures at boot time or later, when the command is invoked with a such flag (closes: #769150). * bilibop-rules: add dutch translation for the debconf templates; thanks to Frans Spiesschaert (closes: #766647). -- Yann Amar Sat, 15 Nov 2014 14:05:44 +0000 bilibop (0.4.22) unstable; urgency=medium * bilibop-common: - Fix a bug in device_node_from_major_minor(): don't rely on /dev/block/* symlinks, because some of them may not exist at boot time on systems not using initramfs (regression in 0.4.20). - Update copyright date and owner of the shell library - Update TODO list * bilibop-lockfs: Fix boot failures - Modify set_readonly_lvm_settings(): do not set 'metadata_read_only' to '1' in lvm.conf at early boot time (in the initramfs environment), since it prohibits execution of commands such as vgchange or lvchange, and then forbids activation of Logical Volumes, making the system unbootable (with lvm2 > 2.02.98). - Modify the initramfs local-bottom script: undo possible readonly settings (due to the blind init-top script) before exiting, when BILIBOP_LOCKFS is 'false' or undefined: it uses a backup of lvm.conf and the new 'undo_readonly_dm_settings()' function. - Fix a delimiter conflict of the sed command in unlock_logical_volume() * bilibop-rules: - Add russian translation for the debconf templates; thanks to Yuri Kozlov (Closes: #756086). - In pvfilter.sh, modify _pvfilter_list_filter_devices() to skip lvm-pv-uuid-* symlinks: they are not available before lvm2 initramfs script is executed, and a filter based on them may lead the system to be unbootable. - In pvfilter.sh, do not initialize 'global_filter' with an empty array, which is not supported: modify _pvfilter_init_lvm_configfile() and _pvfilter_init_device_filters(). Also fix return value in the last one. - Modify make_unpersistent_rules and the initramfs script to create /run/udev/rules.d if it does not exist (since it is no more supported by last versions of udev) - Improve idempotency of make_unpersistent_rules script: do not create files or symlinks in /etc if they do not exist, unless the new '-f' or '--force' option is used. Also, modify intramfs script to create the 'persistent' udev rules files in /run only if there are symlinks pointing to them in /etc. - Modify all helper scripts: do not set +e before parsing options, and then call getopt in a 'if..then' block instead. - Fix a typo in grub_device_map_manager * debian/copyright: update copyright date * debian/control: - Remove deprecated 'udisks' package from the dependencies of bilibop-rules; closes: #750507. Also move 'udisks2' from Recommends to Suggests. - Move down bilibop-rules priority to extra, and remove Conflicts field in bilibop-udev. - Drop dependencies on aufs-tools, pmount and grub-* packages - Update bilibop-rules and bilibop-udev extended descriptions * debian/bilibop-rules.config: - Test if it exists before running an in-package helper script. - Skip questions whose answer cannot be treated by the postinst script: if udev is not running (or invoke-rc.d fails), exit before questions about bilibop_rules_generator and physical_volumes_filter are asked. * debian/* - Remove unneeded bilibop-*.dirs files - Update maintainer scripts (mainly bilibop-rules.post*) -- Yann Amar Wed, 10 Sep 2014 21:32:05 +0000 bilibop (0.4.21) unstable; urgency=low * bilibop-common: in find_mountpoint(), replace the two piped sed commands by only one. * bilibop-rules: add translations for the debconf templates: + spanish: thanks to Camaleón . Closes: #733867. + german: thanks to Chris Leick . Closes: #738781. * Modify debian/bilibop-rules.post*: in sed commands, replace the undocumented -E option by the standard -r option. * Remove debian/source.lintian-overrides (newer-standards-version 3.9.5): after new lintian release (2.5.20), this file is no more needed. This reverts commit e32bff8f93a9175900a5c80516e18788abc8704e (2013-11-24). -- Yann Amar Wed, 12 Feb 2014 22:29:05 +0000 bilibop (0.4.20) unstable; urgency=low * bilibop-common: * Modify common.sh: replace '/sbin/udevadm' by just 'udevadm', and declare a udevadm() function if the command itself is not in the PATH. This should work with all versions of udev. * Modify device_node_from_major_minor(): rely on the contents of /dev/block (as these symlinks are not created by udev). * Modify drivemap.sh: add a missing debug command at the beginning of a function. * Modify lib/bilibop/disk: set -e * Fix a typo in drivemap.sh and the drivemap command: rename function _drivemap_max_mp_lenght() -> _drivemap_max_mp_length(), and also fix the same spelling error for the variable lenght -> length. * Update bilibop(7) and bilibop.conf(5) manpages (and also the french translations). * Update documentation (README.Debian, examples/bilibop.conf, misc/*.txt). * bilibop-rules: * Add translations for the debconf templates: + Italian: thanks to Beatrice Torracca Closes: #727755. + Portuguese: thanks to Américo Monteiro Closes: #730000. * Modify the config maintscript and the initramfs script: as the --run option no more works for 'udevadm info', use the hardcoded /run/udev instead. * Modify the udev rules file: rely on the 'removable' attribute to know that a device is a disk (as for the 'partition' attribute to know that a device is a partition); also do not set unconditionally Udisks ENV variables for the disk; reorder some rules, rename LABELs, + other cosmetics. * Update bilibop_rules_generator helper script for consistency. * Fix management of errors in physical_volumes_filter and pvfilter.sh * Remove a reference to a non-existent manpage in pvfilter.sh * Fix a spelling error in the help page of physical_volumes_filter. * Modify _pvfilter_find_dev_links(): use a best 'find' commandline, and simplify its output filter (grep). * Modify postinst to regenerate the cache file if the filter value has been modified in lvm.conf * Add support for the LVM 'global_filter' variable (lvm2 >= 2.02.98): + Add '_pvfilter_has_global()' function in pvfilter.sh: just tests if the 'global_filter' variable is supported by the version of lvm2 actually installed on the system. + Modify _pvfilter_init_lvm_configfile(). + Modify _pvfilter_init_device_filters(). + Add --global and --noglobal options to the helper script. + Rename debconf template: 'bilibop-rules/physical_volumes_filter/warning' -> 'bilibop-rules/physical_volumes_filter/without_global_filter/warning' + Add 'bilibop-rules/physical_volumes_filter/with_global_filter/warning' debconf template. + Update maintscripts. * Add support for Udisks 2.x (udisks2 package): + Modify the udev rules file to set udisks2 variables as well as udisks variables. + Update bilibop_rules_generator helper script for consistency. + Modify lsbilibop script: grep also udisks2 variables. * Replace all occurences of 'eval ${foo}' by [ "${foo}" = "true" ] (as eval ${foo} is true if ${foo} is empty). * Replace all occurences of '\s' by the POSIX class '[[:blank:]]' in grep commands (see bug #729581/#730146). * Update lsbilibop(8) manpage (and also the french translation). * Update documentation (README.Debian, examples/bilibop.conf). * bilibop-lockfs: * Add 'random' as a possible value for BILIBOP_LOCKFS_SWAP_POLICY: this allows one to specify to use a swap device only if it is encrypted with a random key. + Add new function is_randomly_encrypted() in lockfs.sh + Modify get_swap_policy() and apply_swap_policy() in lockfs.sh * Add a new boot option 'lockfs=default', used to reset bilibop-lockfs variables to their default values, i.e. empty strings (but BILIBOP_LOCKFS itself, which is then set to 'true'); modify lockfs_mount_helper and the initramfs scripts accordingly. * Modify lockfs_mount_helper and local-bottom initramfs script to also accept boot options of the form 'lockfs=-/foobar', where /foobar is a mountpoint to whitelist. * Remove unneeded code about 'crypto_LUKS' filesystem types in the mount helper script: the mount.crypt command (libpam-mount) already manages permissions of children virtual devices (loop and dm) when the 'ro' option is encountered in the fstab entry. * Add new function get_device_node() in lockfs.sh: if LABEL=* is used in fstab, translate '/' characters to their hex value to be sure to find the symlink in /dev/disk/by-label/; modify unlock_logical_volume() and is_encrypted() to call it. * Add support for LVM 'global_filter' variable in lockfs.sh: modify initialize_lvm_conf() and blacklist_bilibop_devices(); so 'global_filter' is unconditionally set to the same value than 'filter'. * Modify local-bottom initramfs script: when calling 'is_removable()', don't call 'physical_hard_disk()' again, as BILIBOP_DISK has already been computed. * Replace all occurences of '\s' by the POSIX class '[[:blank:]]' in grep commands. * Update documentation (README.Debian, TODO, examples/bilibop.conf). * bilibop-udev: * Modify the udev rules file: rely on the 'removable' attribute to know that a device is a disk. * Replace all occurences of '\s' by the POSIX class '[[:blank:]]' in grep commands. * debian/control: * Update bilibop-lockfs and bilibop-rules extended descriptions. * Move aufs-tools from Recommends: to Suggests: for bilibop-lockfs. * Add udisks2 as an alternative to udisks in Recommends: for bilibop-rules. * Bump Standards-Version: to 3.9.5; no changes. * Update debian/po/templates.pot and debian/po/*.po * Add debian/source.lintian-overrides (newer-standards-version 3.9.5), as lintian (2.5.19) is not yet updated (see #729096). * Add debian/bilibop-rules.lintian-overrides (unused-debconf-template): the postinst script embeds the ${HELPER} variable in template names. -- Yann Amar Mon, 09 Dec 2013 02:58:24 +0000 bilibop (0.4.19) unstable; urgency=high * bilibop-lockfs: - Modify parse_and_modify_fstab() in lockfs.sh: skip 'rbind' mounts as well as 'bind' mounts. - Modify lockfs_mount_helper script: set -e. - Simplify lockfs_mount_helper; especially, rewrite the mount_fallback() function to parse the arguments provided by the parent process (mount) 'as is', and do not 'exec mount', but just 'mount' instead, to be able to exit with a code != 0 when mount_fallback() is called. - Modify lockfs_mount_helper and the local-bottom initramfs script to parse options (BILIBOP_LOCKFS_SIZE and boot commandline) and set the size of the tmpfs in a better and more reliable way (use regex instead of glob patterns). - Add new function 'is_write_protected()' in lockfs.sh (takes into account sd, mmcblk and mspblk devices) and call it from the local-bottom initramfs script. - Modify init-top initramfs script: in the case any drive is physically locked, override BILIBOP_LOCKFS and BILIBOP_LOCKFS_POLICY. * bilibop-rules: Fix a bug in lsbilibop: since udev is now a part of systemd, 'udevadm info --root' no more works to query the udev_root value; so query it directly from udev.conf instead. (Closes: #727682) -- Yann Amar Fri, 25 Oct 2013 13:46:29 +0000 bilibop (0.4.18) unstable; urgency=low * Add japanese translation for the debconf templates; thanks to (closes: #726975). * debian/copyright: fix my name also here. -- Yann Amar Wed, 23 Oct 2013 18:11:08 +0000 bilibop (0.4.17) unstable; urgency=low * bilibop-lockfs: modify local-bottom initramfs script and lockfs_mount_helper to override configuration variables and even boot parameters when the drive is physically locked (write protected by a switch). * bilibop-rules: fix typos in debconf templates; update po files. * debian/control: fix my name, and remove "Uploaders:" field. -- Yann Amar Fri, 11 Oct 2013 00:30:15 +0000 bilibop (0.4.16) unstable; urgency=low * bilibop-rules: move db_reset and db_fset commands from config to postinst script; this should improve the behavior of the scripts during package upgrade if a custom rules file has been built manually. Add comments. * debian/substvars: remove trailing ${Newline} in the "Description" variable. It had been added to work around bug #659814 (dpkg-dev), which has been recently fixed. -- bilibop project Tue, 17 Sep 2013 11:46:55 +0000 bilibop (0.4.15) unstable; urgency=low * bilibop-rules: modify bilibop-rules.bilibop.udev to avoid direct access (with blkid -p) to suspended dm devices; then create the symlink (as mapper/dm_name) earlier; update bilibop_rules_generator for consistency. -- bilibop project Fri, 09 Aug 2013 20:19:40 +0200 bilibop (0.4.14) unstable; urgency=low * bilibop-common: fix spelling errors in manpages. * bilibop-rules: - Modify postrm script: fix an error about udev tags directory path. - Include missing 'rlvm' sample script in the package. - Modify 'rlvm' sample (rely on $SHELL environment variable). -- bilibop project Sat, 20 Jul 2013 00:28:48 +0200 bilibop (0.4.13) unstable; urgency=low * bilibop-common: update bilibop.conf(5) manual pages. * bilibop-rules: - Modify maintainer scripts: fix syntax errors; keep variable names consistency between scripts; backup GRUB device.map in postinst, and restore it in postrm (purge); do not create a fake device.map in prerm, just a broken symlink. - Add a sample script (in the doc) to ease the use of the physical_volumes_filter helper script. - Update README.Debian - Remove the TODO -- bilibop project Thu, 04 Jul 2013 15:17:21 +0200 bilibop (0.4.12) experimental; urgency=low * bilibop-common: - Modify 'underlying_device_from_aufs()'; take into account that an aufs branch is not necessarly the mountpoint of a device. - Update the copyright date of the shell library (common.sh). - Update main function's dependency tree in common.sh - Fix a typo in the french bilibop.conf manpage. - Update README.Debian * bilibop-lockfs: - In the local-bottom initramfs script, follow BILIBOP_LOCKFS_NOTIFY_POLICY to display non-error messages in plymouth. - debian/control: add plymouth in the 'Suggests:' field. * bilibop-rules: - Modify bilibop_rules_generator to ease the build of rules that can be applied to dual port devices (especially USB and MMC/MSP/SD). - Modify sysfs_attrs_rule() in bilibop_rules_generator: replace occurences of double quotes (") by a question mark (?) in values of attributes (as " means inch) instead of removing these attributes. - Modify make_unpersistent_rules and the initramfs script to fix a design error in the 'unpersistent rules' feature. This mainly affected the cd rules (symlinks to /dev/sr* were not always created or updated). - Make the package debconf-configurable: rewrite existing maintscripts; add bilibop-rules.config and bilibop-rules.templates; add debian/po/ and populate it; modify debian/control and debian/rules. - Add french translation for debconf. - Update README.Debian * bilibop-udev: - Modify postinst script: if the disk hosting the system (or one of its partitions) still belong to 'floppy' group, then exit with error, unless a custom rules file exists. - modify postrm script: be sure /sys/block exists before doing things; use ERE instead of BRE in grep commands. - Update README.Debian * debian/control: update Homepage: and Vcs-Git: fields. * debian/copyright: remove the 'Source: ' field and update copyright dates. * debian/substvars: replace the strict requirement by something more soft, as an advice. -- bilibop project Wed, 03 Jul 2013 20:58:40 +0200 bilibop (0.4.11) experimental; urgency=low * bilibop-common: modify /lib/bilibop/test to output the value of BILIBOP_COMMON_BASENAME, unless the -q option is used. * bilibop-udev: - Modify the udev rules file to create a symlink with the output of /lib/bilibop/test. - Rewrite postinst script to not fail when the package is installed in a chrooted or debootstraped environment, and explicitly load the udev rules before triggering uevents. * bilibop-rules: fix an error (typo) about -x option in the physical_volumes_filter script. -- bilibop project Mon, 13 May 2013 01:21:57 +0200 bilibop (0.4.10) experimental; urgency=low * debian/compat: bump to compatibility level 9. * debian/control: down libnotify-bin from Recommends: to Suggests: for the bilibop-lockfs binary package. * bilibop-common: modify is_aufs_mountpoint() and physical_hard_disk(): set some local variables to an empty string to fix shell-dependant behaviours with the 'local' built-in command. * bilibop-rules: - Modify helper scripts in /usr/share/bilibop: set -e; reformat syntax (spaces, neawlines, indents); fix minor errors and cosmetics. - make_unpersistent_rules: replace the --skip option by the more explicit --only; remove the confusing --reverse option; allow to always handle the two files in the same command line. - bilibop_rules_generator: fix printf errors and output redirection, and manage minor failures to not abort immediately. - grub_device_map_manager: add link_device_map() function; do not automatically and stupidly remove the existing devive map when the --link option is used; fix typos. - lsbilibop: add -l option to not rely on BILIBOP udev tags; query the ID_DRIVE_DETACHABE value. - Update documentation. * bilibop-udev: add a new udev rule (to create a 'bootdisk' symlink). -- bilibop project Sat, 04 May 2013 01:57:21 +0200 bilibop (0.4.9) experimental; urgency=low * bilibop-rules: modify debian/bilibop-rules.bilibop-udev and bilibop_rules_generator to unconditionally set UDISKS_SYSTEM_INTERNAL to 1 for the main drive. * bilibop-lockfs: add 'activate_bilibop_lv()' in lockfs.sh functions, and call it from bilibop-lockfs local-bottom initramfs script. This is needed to be sure all Logical Volumes needed by the system (listed in /etc/fstab and/or /etc/crypttab) are active at this step. * Fix typos: replace all occurences of \' by \(aq in manual pages. -- bilibop project Sun, 31 Mar 2013 18:47:41 +0200 bilibop (0.4.8) experimental; urgency=low * bilibop-udev: rewrite postinst script. -- bilibop project Mon, 25 Mar 2013 06:41:23 +0100 bilibop (0.4.7) experimental; urgency=low * bilibop-udev: fix a bux in the udev rules (a matching rule as KERNEL=="$result*" is not supported by udev). * bilibop-common: add /lib/bilibop/test (to be used by new bilibop-udev udev rule); as the 'proof of concept' /lib/bilibop/disk is no more needed by bilibop-udev, modify it to output the full path of the disk. * debian/control: move versioned dependency on initscripts from bilibop-common to bilibop-lockfs and bilibop-rules. * Remove debian/source.lintian-overrides (current version of the Debian policy is now 3.9.4). -- bilibop project Mon, 25 Mar 2013 04:59:17 +0100 bilibop (0.4.6) experimental; urgency=low * bilibop-lockfs: - Add support for plymouth: send a message from local-bottom initramfs script when bilibop-lockfs is enabled, disabled or has failed. - Allow to override/blank BILIBOP_LOCKFS_WHITELIST with 'lockfs=all' boot parameter. - Update documentation. * bilibop-rules: - Add a new helper script: physical_volumes_filter, and its shell functions: pvfilter.sh; the script is used to modify the variables 'obtain_device_list_from_udev' and 'filter' in lvm.conf. - Rewrite udev rules and bilibop_rules_generator to tag internal drives and partitions, and restore some dm-* related symlinks in the udev database (needed by the new script). - Update documentation. * debian/control: update bilibop-rules extended description. * Rewrite maintainer scripts. -- bilibop project Thu, 20 Dec 2012 12:45:39 +0100 bilibop (0.4.5) experimental; urgency=low * bilibop-lockfs: modify bilibop-lockfs initramfs scripts, lockfs.sh and lockfs_mount_helper: - 'noswap' boot parameter overrides BILIBOP_LOCKFS_SWAP_POLICY and set it to "hard". - parse /proc/cmdline in a more portable and robust way: take into account that the last runlevel (0 to 6, S and single) overrides all the previous ones; allow the general format 'lockfs[=opt1[,opt2[,opt3]]]' with options 'hard', 'soft', 'force' and an arbitrary string matching a regex for the size of the tmpfs used for /. * Update bilibop-lockfs documentation (README.Debian). * Update bilibop.conf(5) manual page for bilibop-lockfs related variables that can be overridden from boot commandline. -- bilibop project Wed, 28 Nov 2012 03:37:16 +0100 bilibop (0.4.4) experimental; urgency=low * Fix inconsistent variable name in the lockfs_mount_helper script. * Modify lockfs_mount_helper script: allow devices with 'crypto' ID_FS_USAGE (instead of only 'filesystem') to be listed in the BILIBOP_LOCKFS_WHITELIST variable. * Update bilibop.conf(5) manual pages (en & fr), and fix a translation error in the french version. -- bilibop project Tue, 27 Nov 2012 01:40:01 +0100 bilibop (0.4.3) experimental; urgency=low * bilibop-common: - Add lib/bilibop/disk (outputs the name of the disk hosting the root filesystem, or hosting a file, device or directory given as argument); - Update documentation (README.Debian and bugs.txt). * bilibop-lockfs: - Fix error due to invalid lvm.conf settings (read_only_volume_list should not be set if empty): modify 'bilibop-lockfs' initramfs scripts, and the functions 'parse_and_modify_fstab()', 'initialize_lvm_conf()', 'blacklist_bilibop_devices()', 'set_readonly_lvm_settings()' and 'unlock_logical_volume()'. - Improve support for loop devices (take into account that the first field in fstab can be a regular file instead of a block device): modify lockfs_mount_helper script and 'parse_and_modify_fstab()' function in lockfs.sh. * bilibop-udev: modify udev rules file (now based on lib/bilibop/disk; runs faster). Add postinst and postrm maintscripts to trigger spurious uevents. Update README.Debian. * debian/control: change Section of bilibop binary package (from misc to metapackages); change Depends of the same package (replace dependency on bilibop-device-policy virtual package by a versioned dependency on bilibop-rules). -- bilibop project Tue, 20 Nov 2012 15:22:57 +0100 bilibop (0.4.2) experimental; urgency=low * Update debian/bilibop-lockfs.dirs * Update debian/bilibop-lockfs.install * Add missing call to 'get_udev_root' in the bilibop_disk (bilibop-udev) script. -- bilibop project Fri, 16 Nov 2012 03:14:23 +0100 bilibop (0.4.1) experimental; urgency=low * Modify lockfs.sh: - add new functions: 'set_readonly_lvm_settings()', to modify 'locking_type', 'metadata_read_only' and 'read_only_volume_list'; and 'unlock_logical_volume()', to not lock (set read-only) whitelisted Logical Volumes. - rewrite 'initialize_lvm_conf()' to also initialize 'locking_type', 'metadata_read_only' and 'read_only_volume_list' LVM variables. - rewrite 'blacklist_bilibop_devices()'. - modify 'parse_and_modify_fstab()' to use 'unlock_logical_volumes()'. * bilibop-lockfs: - modify local-bottom initramfs script (call 'set_readonly_lvm_settings()' when lockfs policy is 'hard'). - modify initramfs hook to include a list of Logical Volumes in the initramdisk; this list is used by 'set_readonly_lvm_settings()'. - new init-top initramfs script, to call 'set_readonly_lvm_settings()' very early in the boot process, unless the 'nolockfs' parameter is used in the boot commandline. * Update documentation (debian/bilibop-lockfs.README.Debian). * Modify lockfs-notify script: replace 'permanent' by 'persistent' and 'temporary' by 'volatile'. * Modify bilibop.conf(5) manual pages: use the '.SS' tag, and replace \' by \(aq. * debian/control: update bilibop-lockfs description; since bilibop depends on bilibop-device-policy, remove 'all' from 'install all other BILIBOP packages'. For bilibop-udev, replace versioned suggestion on bilibop-lockfs by unversioned one. -- bilibop project Fri, 16 Nov 2012 00:46:57 +0100 bilibop (0.4.0) experimental; urgency=low * Add new binary package: bilibop-udev, as a minimal subset of bilibop-rules. There is a conflict between bilibop-udev and bilibop-rules, and each of them provides the 'bilibop-device-policy' virtual package. * bilibop-lockfs: the mount_fallback() function being the only one in lockfs.sh that can be used by the lockfs_mount_helper script, move it from lockfs.sh to lockfs_mount_helper, and source common.sh directly instead of lockfs.sh from lockfs_mount_helper. * bilibop-common: update documentation: - add a reference to bilibop-udev in misc/udev.txt - update misc/bugs.txt (new bug reported against udisks) - give additional information about encrypted swap devices (misc/swap.txt) - add a NOTE about hibernation, and explain how to hide the 'hibernate' button of xfce4-session-logout (misc/swap.txt) - give more info about the LVM 'filter' settings and how to use it from OS on external media (misc/lvm2.txt) - give detailed info on how to build and use non-default keymap in GRUB (misc/grub2.txt) * debian/changelog: fix a debchangelog syntax error in the Initial Release entry (add the missing colon after 'Closes'). * debian/control: update dependency relationships and description of the binary packages: - bilibop: modify the Depends: field; now bilibop depends on the virtual package 'bilibop-device-policy' instead of 'bilibop-rules (= version)'. - bilibop-common: modify the Suggests: field; now suggests the virtual package 'bilibop-device-policy' as above and remove (= version) for bilibop-lockfs. - bilibop-lockfs: modify the Recommends: and Suggests: fields in the same manner. Move 'aufs-tools' and 'libnotify-bin' from Suggests: to Recommends: field. Add some details in the long description. - bilibop-rules: add 'grub-common' and 'lvm2' in Recommends: and move 'udisks' from Suggests: to Recommends: field. Update short description. Add some details in the long description. * Update debian/bilibop-rules.dirs (remove unneeded initramfs-tools/hooks directory). -- bilibop project Mon, 22 Oct 2012 00:20:33 +0200 bilibop (0.3.6) experimental; urgency=low * bilibop-common: modify common.sh for portability: - device_node_from_major_minor(): replace local path= by dev= (path is an environment variable of zsh, as PATH, but with spaces as separators instead of colons). - underlying_device_from_aufs(): escape equal sign (\=) in a variable subtitution (for compatibility with zsh again). * bilibop-common: modify common.sh to be sure DEBUG is 'true' or 'false'. * bilibop-common: modify physical_hard_disk(). Base the loop on /sys/block/* instead of the content of /proc/partitions. Runs a little bit faster. * bilibop-common: Add support for aufs module parameter 'brs=0'; add aufs_dirs_if_brs0() function, and modify aufs_readonly_branch(), aufs_writable_branch() and aufs_dirs() to use the new one. * bilibop-common: modify _drivemap_volume_size() to use 10 instead of 8 as a limit to display sizes in MB). * bilibop-common: add FSF address in the licence header of common.sh * bilibop-lockfs: use device_nodes() in blacklist_bilibop_devices(). * bilibop-rules: fix typo in lsbilibop(8) french manual page. * Update documentation for bilibop-common (README.Debian, bugs.txt and lvm2.txt), bilibop-lockfs (README.Debian) and bilibop-rules (README.Debian). * debian/control: replace debhelper (>= 9.0.0) by debhelper (>= 9) in the Build-Depends: field. Add "GNU/Linux" in the short description of the bilibop metapackage. * debian/substvars: replace 'Debian' by 'Debian GNU/Linux'; add 'eSATA' in the list of external media. -- bilibop project Tue, 16 Oct 2012 15:58:14 +0200 bilibop (0.3.5) experimental; urgency=low * Fix typos in manpages and add french translations of the manpages. * bilibop-rules: Remove loopback udev rules file and modify bilibop rules file and bilibop_rules_generator to not depend on the BACKING_FILE variable. * bilibop-rules: Rewrite lsbilibop to allow to trigger uevents in a per-action and per-device basis: split -u option (update) to -a (action=add) and -c (action=change) options. Add a short help message in the case BILIBOP udev tag does not exist. Add the DEVLINKS udev property in the info (-i option) output. Relative paths, symlinks and wildcards are now supported in the commandline. * bilibop-rules: Modify lsbilibop manpage to be consistent with the new lsbilibop script. * bilibop-lockfs: Be less restrictive in blacklist_bilibop_devices() when building the 'reject' patterns for lvm.conf filter array: only apply on bilibop Physical Volumes and their symlinks instead of all bilibop block devices and parent directories of their symlinks. Modify and rename overwrite_lvm_conf() to initialize_lvm_conf(). Add BILIBOP_PART variable in the initramfs script. * bilibop-common: Fix drivemap output errors: remove annoying trailing spaces, fix width issues that occured with the -p option. Define the PROG variable and replace all occurencies of ${0##*/} by ${PROG} Fix a missing redirection to stderr when --debug is invoked. * bilibop-common: add device_nodes() function, which is used now in physical_hard_disk() and in lsbilibop script. Fix indentations (expand tabs) in common.sh. * bilibop-common: Add Copyright and Licence as header of lib/bilibop/common.sh, which can be used standalone. * debian/control: fix typo in bilibop-common description. * Remove unneeded executable bit of maintainer scripts and file intended to be installed in /bin and /usr/bin. * Add debian/source.lintian-overrides to override lintian warning message W: bilibop source: newer-standards-version 3.9.4 (current is 3.9.3) -- bilibop project Tue, 09 Oct 2012 00:06:50 +0200 bilibop (0.3.4) experimental; urgency=low * debian/control: bump Standards-Version to 3.9.4; add dependency on initscripts (>= 2.88dfs-13.3) for bilibop-common. Replace versioned dependencies on udev and initramfs-tools by unversioned dependencies; remove versioned dependency on base-files. Replace Vcs-Browser: field by Vcs-Git: field. * lib/bilibop/common.sh: add a test in physical_hard_disk() to avoid possible failures with some partition schemes. Allow parent_device_from_dm() to accept a device basename or its absolute path as argument. * lib/bilibop/lockfs.sh: allow is_encrypted() to treat devices called by their UUID or LABEL as well as their filename. -- bilibop project Sun, 23 Sep 2012 22:58:27 +0200 bilibop (0.3.3) unstable; urgency=low * debian/control: add Vcs-Browser: field. -- bilibop project Tue, 03 Jul 2012 02:59:38 +0200 bilibop (0.3.2) unstable; urgency=low * debian/control: fix indentation errors in bilibop-lockfs description. * bilibop-rules: - postinst: fix an error in the 'udev trigger --sysname-match' argument. - postrm: trigger uevents for block devices owned by the 'disk' group. - prerm: remove custom 66-bilibop.rules when package is purged. -- bilibop project Thu, 21 Jun 2012 00:16:26 +0200 bilibop (0.3.1) unstable; urgency=low * debian/control: in the Suggests: field of bilibop-rules, replace the too specific 'grub2' by a list of alternatives (grub-coreboot, grub-efi-amd64, grub-efi-ia32, grub-ieee1275 and grub-pc). * Add a TODO in bilibop-common, bilibop-rules and bilibop-lockfs. * Include /etc/bilibop/bilibop.conf in the bilibop-common binary package. * Modify scripts and documentation to take into account that there can be more than height loopback devices. * bilibop-rules: - Fix errors on tests in the initramfs script. - Modify grub_device_map_manager to exit with code 0. * bilibop-rules.postinst: trigger uevents for block devices. * bilibop-rules.bilibop.udev and bilibop_rules_generator: import ID_FS_* properties of dm devices in udev database even if udisks is not installed. * bilibop_rules_generator: include a new rule for the case the generated custom rules file is orphaned. -- bilibop project Wed, 20 Jun 2012 01:47:55 +0200 bilibop (0.3.0) unstable; urgency=low * debian/control: - Update Build-depends from debhelper (>= 8.0.0) to debhelper (>= 9.0.0). - Change some dependencies of binary packages to versioned dependencies: udev (>= 167), initramfs-tools (>= 0.99). As for base-files (>= 6.4), this is needed by the use of the /run temporary directory in bilibop functions or scripts. * bilibop-lockfs: modify the initramfs hook: busybox providing its own blockdev builtin, don't add /sbin/blockdev in the initramfs if busybox is added. * extended_partition(): rewrite to avoid direct access on devices (now based on udev instead of blkid), move it from lockfs.sh to common.sh * lockdev_rootdev_tree(): - Rewrite it to avoid direct access on devices. - Rename it blockdev_root_subtree(). * lockfs_mount_helper: - When the fstype registered in /etc/fstab is 'crypt', 'crypt_LUKS' or 'crypto_LUKS', set the mounted mapped device as readonly too (and not only the underlying device) if asked by BILIBOP_LOCKFS_POLICY != soft. - Use LC_ALL=C before the verbose chmod and chown to not depend on the locale and simplify the regexp in sed. * Put the loop used in the initramfs script to parse and modify fstab in the parse_and_modify_fstab() function in lockfs.sh, and call this function in the initramfs script. * Because LVM tools can bypass 'readonly' settings of block devices and reset them as writable, add new functions in lockfs.sh: - blacklist_bilibop_devices(): called from the initramfs script. - overwrite_lvm_conf(): called from the previous one. They are used to disallow management of bilibop (physical and virtual) devices by the lvm commands by filtering them in the temporary lvm.conf. This avoids breakage of bilibop-lockfs 'hard' policy, at least for the root filesystem and its parent devices. * Add a new part (3.1.g) in README.Debian to explain what is done, and why. * bilibop-common: add a reference to http://wiki.debian.org/AdvancedStartupShutdownWithMultilayeredBlockDevices in the documentation. * Add misc/bugs.txt and misc/lvm2.txt in the documentation. * common.sh: remove unneeded command substitution (echo) in the undelying_device_from_loop() function. * New available options in usr/bin/drivemap: - Split --debug to --debug and -x or --set-x - Add -p or --mountpoint to explicitly ask to display mountpoints. - Add -w or --width to control the width of the output. * drivemap.sh: modify _dotline() and _print_line() to include new options. * drivemap.1: add the new options in the manpage. * _drivemap_primary_partitions(): rewrite to use extended_partition(). * Fix some typos, unclear sentences and language errors in debian/control, in the documentation and in the comments of scripts and functions. -- bilibop project Sat, 16 Jun 2012 01:53:41 +0200 bilibop (0.2) unstable; urgency=low * New OpenPGP key. * debian/control: change 'Achitecture: all' to 'Architecture: linux-any' for all binaries. * debian/control: more precise description of the packages, their purposes and features. Add a statement about the required kernel version. * debian/copyright: modify Format field to: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ (Fixes lintian pedantic message). * debian/copyright: change copyright date from 2012 to 2011-2012 for all files except debian/*. * Clean debian/rules. * Add debian/substvars. * bilibop-common: modify functions relative to loop devices and aufs to improve compatibility with LiveUSB systems. * bilibop-lockfs: set the primary extended partition as readonly when the root filesystem is contained into a logical partition that has been set readonly. * bilibop-rules: rewrite initramfs-tools script to not depend on bilibop-common functions. * Rewrite unclear or ambiguous parts of the documentation, and fix typos. * Remove unneeded files from the source. -- bilibop project Fri, 08 Jun 2012 01:48:59 +0200 bilibop (0.1) unstable; urgency=low * Initial Release (Closes: #675467). -- bilibop project Fri, 01 Jun 2012 00:06:51 +0200