Bug#843433: Wrong paths for /bin/mount when compiled on merged-usr system

Felipe Sateler fsateler at debian.org
Sun Nov 6 18:49:11 GMT 2016


On 6 November 2016 at 14:07, Michael Biebl <biebl at debian.org> wrote:
> Source: systemd
> Version: 232-2
> Severity: serious
> User: md at linux.it
> Usertags: usrmerge
>
> As reported on IRC
>
> <jrtc27> mbiebl:
> https://buildd.debian.org/status/fetch.php?pkg=systemd&arch=sparc64&ver=232-2&stamp=1478397115
> has split-usr enabled, but because it finds /usr/bin/mount at configure
> time, it uses that rather than /bin/mount
> <jrtc27> (chroots are created with debootstrap from unstable, which does
> usr-merge since 21st Oct)
> <jrtc27> then, on systems without usr-merge, boom
>
>
> We should probably update
> debian/patches/debian/Use-different-default-paths-for-various-binaries.patch
> and use a different search path which prefers /bin and /sbin, like
>
> -AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin])
> -AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin])
> +AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [/sbin:/bin:$PATH])
> +AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [/sbin:/bin:$PATH])
>
>
> (we should do that for all occurences of AC_PATH_PROG)
>
>
> Thoughts? Does anyone have a nicer solution?

The following patch appears to fix the issue:

diff --git a/debian/rules b/debian/rules
index 306c5f9..62ad96e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,6 +15,18 @@ else
     SUPPORT_URL = https://www.debian.org/support
 endif

+SPLIT_USR_PATHS = \
+ QUOTAON=/sbin/quotaon \
+ QUOTACHECK=/sbin/quotacheck \
+ SETCAP=/sbin/setcap \
+ KILL=/bin/kill \
+ KMOD=/bin/kmod \
+ KEXEC=/sbin/kexec \
+ SULOGIN=/sbin/sulogin \
+ MOUNT_PATH=/bin/mount \
+ UMOUNT_PATH=/bin/umount \
+
+
 # Drop these after stretch
 BREAKS_RCS_COMPAT = \
  ifupdown (<< 0.8), \
@@ -86,6 +98,7 @@ export DEB_BUILD_PROFILES += noudeb
 endif

 CONFFLAGS = \
+ $(SPLIT_USR_PATHS) \
  --with-rootprefix= \
  --with-rootlibdir=/lib/$(DEB_HOST_MULTIARCH) \
  --with-zshcompletiondir=/usr/share/zsh/vendor-completions \

%  egrep '^(QUOTAON|QUOTACHECK|KMOD|KEXEC|U?MOUNT_PATH|SETCAP|SULOGIN|KILL)'
build-deb/Makefile
KEXEC = /sbin/kexec
KILL = /bin/kill
KILL_USER_PROCESSES = no
KMOD = /bin/kmod
KMOD_CFLAGS =
KMOD_LIBS = -lkmod
MOUNT_PATH = /bin/mount
QUOTACHECK = /sbin/quotacheck
QUOTAON = /sbin/quotaon
SETCAP = /sbin/setcap
SULOGIN = /sbin/sulogin
UMOUNT_PATH = /bin/umount


This would make
debian/patches/debian/Use-different-default-paths-for-various-binaries.patch
obsolete.

-- 

Saludos,
Felipe Sateler




More information about the Pkg-systemd-maintainers mailing list