Package: schroot
Version: 1.4.14-1
Severity: normal
Tags: patch

10mount, when computing mount options for some chroot types
(e.g. loopback) overrides the mount options set in config, instead of
using both sets.

-- System Information:
Debian Release: 5.0.6
  APT prefers stable
  APT policy: (700, 'stable'), (400, 'testing'), (300, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages schroot depends on:
ii  libboost-filesystem1.42.0 1.42.0-4       filesystem operations (portable pa
ii  libboost-program-options1 1.42.0-4       program options library for C++
ii  libboost-regex1.42.0      1.42.0-4       regular expression library for C++
ii  libboost-system1.42.0     1.42.0-4       Operating system (e.g. diagnostics
ii  libc6                     2.7-18lenny6   GNU C Library: Shared libraries
ii  libgcc1                   1:4.3.2-1.1    GCC support library
ii  liblockdev1               1.0.3-1.2+b1   Run-time shared library for lockin
ii  libpam0g                  1.0.1-5+lenny1 Pluggable Authentication Modules l
ii  libstdc++6                4.4.5-4        The GNU Standard C++ Library v3
ii  libuuid1                  2.17.2-3.3     Universally Unique ID library
ii  schroot-common            1.4.14-1       common files for schroot

schroot recommends no packages.

Versions of packages schroot suggests:
ii  aufs-modules- 2.6.26+0+20080719-6+lenny3 Stackable unification filesystem f
pn  btrfs-tools   <none>                     (no description available)
ii  debootstrap   1.0.10lenny1               Bootstrap a basic Debian system
ii  lvm2          2.02.39-8                  The Linux Logical Volume Manager
ii  unzip         5.52-12                    De-archiver for .zip files

-- no debconf information
>From 9340a5e9bee5bba6d4d5aee4b36a5c9cb3dfd30d Mon Sep 17 00:00:00 2001
From: Nelson Elhage <nelh...@ksplice.com>
Date: Sat, 4 Dec 2010 17:32:10 -0500
Subject: [PATCH] Make all mountable chroots respect mount options from 
configuration.

For some chroots we were setting mount options inside the script, which entirel
overrode the ones the user passed in. Combine them, instead.
---
 etc/setup.d/10mount |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/etc/setup.d/10mount b/etc/setup.d/10mount
index 351f430..b6c5ebc 100755
--- a/etc/setup.d/10mount
+++ b/etc/setup.d/10mount
@@ -131,20 +131,20 @@ if [ "$CHROOT_TYPE" = "directory" ] \
        esac
 
        if [ "$CHROOT_TYPE" = "directory" ]; then
-           CHROOT_MOUNT_OPTIONS="$BINDOPT"
+           CHROOT_MOUNT_OPTIONS="$BINDOPT $CHROOT_MOUNT_OPTIONS"
            CHROOT_MOUNT_DEVICE="$CHROOT_DIRECTORY"
            if [ ! -d "$CHROOT_DIRECTORY" ]; then
                fatal "Directory '$CHROOT_DIRECTORY' does not exist"
            fi
        elif [ "$CHROOT_TYPE" = "file" ]; then
-           CHROOT_MOUNT_OPTIONS="$BINDOPT"
+           CHROOT_MOUNT_OPTIONS="$BINDOPT $CHROOT_MOUNT_OPTIONS"
            CHROOT_MOUNT_DEVICE="${CHROOT_FILE_UNPACK_DIR}/${SESSION_ID}"
        elif [ "$CHROOT_TYPE" = "block-device" ]; then
            if [ ! "$DEVTYPE" "$CHROOT_DEVICE" ]; then
                fatal "Device '$CHROOT_DEVICE' does not exist"
            fi
        elif [ "$CHROOT_TYPE" = "btrfs-snapshot" ]; then
-           CHROOT_MOUNT_OPTIONS="$BINDOPT"
+           CHROOT_MOUNT_OPTIONS="$BINDOPT $CHROOT_MOUNT_OPTIONS"
            CHROOT_MOUNT_DEVICE="$CHROOT_BTRFS_SNAPSHOT_NAME"
        elif [ "$CHROOT_TYPE" = "loopback" ]; then
            if [ ! -f "$CHROOT_FILE" ]; then
@@ -155,16 +155,14 @@ if [ "$CHROOT_TYPE" = "directory" ] \
                freebsd* | k*bsd*-gnu):
                    LOOP_DEVICE="/dev/$(/sbin/mdconfig -a -t vnode -f 
"$CHROOT_FILE")"
                    CHROOT_MOUNT_DEVICE="$LOOP_DEVICE"
-                   CHROOT_MOUNT_OPTIONS=""
                    ;;
                *):
                    LOOP_DEVICE="$(/sbin/losetup -j "$CHROOT_FILE" | sed -e 
's/:.*$//')"
                    if [ -z "$LOOP_DEVICE" ]; then
                        CHROOT_MOUNT_DEVICE="$CHROOT_FILE"
-                       CHROOT_MOUNT_OPTIONS="-o loop"
+                       CHROOT_MOUNT_OPTIONS="-o loop $CHROOT_MOUNT_OPTIONS"
                    else
                        CHROOT_MOUNT_DEVICE="$LOOP_DEVICE"
-                       CHROOT_MOUNT_OPTIONS=""
                    fi
                    ;;
            esac
-- 
1.7.1.31.g6297e

Reply via email to