lp:ubuntu/wily/bilibop

Created by Ubuntu Package Importer and last modified
Get this branch:
bzr branch lp:ubuntu/wily/bilibop
Members of Ubuntu branches can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu branches
Status:
Development

Recent revisions

9. By Yann Amar <email address hidden>

* bilibop-common: add support for overlayfs (in mainline kernel since 3.18).
  Closes: #778497; new funcions 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 funcion 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.

8. By Yann Amar <email address hidden>

* 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 <email address hidden> (closes: #766647).

7. By Yann Amar <email address hidden>

* 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
    <email address hidden> (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*)

6. By Yann Amar <email address hidden>

* 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 <email address hidden>. Closes: #733867.
  + german: thanks to Chris Leick <email address hidden>. 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).

5. By Yann Amar <email address hidden>

* 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 <email address hidden>
    Closes: #727755.
  + Portuguese: thanks to Américo Monteiro <email address hidden>
    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.

4. By Yann Amar <email address hidden>

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

3. By Yann Amar <email address hidden>

* Add japanese translation for the debconf templates; thanks to
  <email address hidden> (closes: #726975).
* debian/copyright: fix my name also here.

2. By Yann Amar <email address hidden>

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

1. By bilibop project <email address hidden>

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

Branch metadata

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

Subscribers