Skip to contentSkip to conversation

util-linux: Ensure that ${sbindir} is respected

PATCH Superseded Phil Blundell 3 participants 5 messages Sep 22, 2012 – Sep 24, 2012

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 util-linux: Ensure that ${sbindir} is respected

The configure script uses a hard-coded value for ${usrsbin_execdir}, which is the path that we know as ${sbindir}. Adjust configure to take this from the environment if it's set there, and have do_configure() pass it in.

---
 meta/recipes-core/util-linux/util-linux.inc        |    4 +++-
 .../util-linux/util-linux/configure-sbindir.patch  |   13 +++++++++++++
 meta/recipes-core/util-linux/util-linux_2.21.2.bb  |    3 ++-
 3 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/util-linux/util-linux/configure-sbindir.patch
meta/recipes-core/util-linux/util-linux.inc +3 -1
index 79e0608..2c5267f 100644
@@ -38,7 +38,9 @@ EXTRA_OECONF = "--libdir=${base_libdir} --disable-use-tty-group \
                 --enable-kill --enable-last --enable-mesg --enable-partx \
                 --enable-raw --enable-rdev --enable-reset --disable-login-utils \
                 --enable-write --enable-arch --enable-mount --with-fsprobe=builtin \
-                --enable-libuuid --enable-libblkid --enable-fsck --without-udev"
+                --enable-libuuid --enable-libblkid --enable-fsck --without-udev \
+		usrsbin_execdir='${sbindir}' \
+"
 
 FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
 
meta/recipes-core/util-linux/util-linux/configure-sbindir.patch new file +13 -0
new file mode 100644
index 0000000..5d0a59b
@@ -0,0 +1,13 @@
+--- util-linux-2.21.2/configure.ac~	2012-09-22 09:29:12.354215377 +0100
++++ util-linux-2.21.2/configure.ac	2012-09-22 16:47:14.713628946 +0100
+@@ -67,7 +67,9 @@
+ usrbin_execdir='${exec_prefix}/bin'
+ AC_SUBST([usrbin_execdir])
+ 
+-usrsbin_execdir='${exec_prefix}/sbin'
++if [ -z "$usrsbin_execdir" ]; then
++   usrsbin_execdir='${exec_prefix}/sbin'
++fi
+ AC_SUBST([usrsbin_execdir])
+ 
+ usrlib_execdir='${exec_prefix}/'$libdirname
meta/recipes-core/util-linux/util-linux_2.21.2.bb +2 -1
index 6ef3163..e8f00fc 100644
@@ -1,5 +1,5 @@
 MAJOR_VERSION = "2.21"
-PR = "r2"
+PR = "r3"
 require util-linux.inc
 
 # note that `lscpu' is under GPLv3+
@@ -8,6 +8,7 @@ LICENSE_${PN}-lscpu = "GPLv3+"
 SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \
             file://util-linux-ng-2.16-mount_lock_path.patch \
             file://uclibc-__progname-conflict.patch \
+	    file://configure-sbindir.patch \
 "
 
 SRC_URI[md5sum] = "b75b3cfecb943f74338382fde693c2c3"
Signature · 1 line
1.7.9
#1 lore raw
Quoted 4 lines · Phil Blundell

The configure script uses a hard-coded value for ${usrsbin_execdir}, which is the path that we know as ${sbindir}. Adjust configure to take this from the environment if it's set there, and have do_configure() pass it in.

I think our expectation is same as what the configure is defining which is sbin dir under exec_prefix
why do we want this knob ?

Quoted 72 lines
---
 meta/recipes-core/util-linux/util-linux.inc        |    4 +++-
 .../util-linux/util-linux/configure-sbindir.patch  |   13 +++++++++++++
 meta/recipes-core/util-linux/util-linux_2.21.2.bb  |    3 ++-
 3 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/util-linux/util-linux/configure-sbindir.patch
meta/recipes-core/util-linux/util-linux.inc +3 -1
index 79e0608..2c5267f 100644
@@ -38,7 +38,9 @@ EXTRA_OECONF = "--libdir=${base_libdir} --disable-use-tty-group \
                 --enable-kill --enable-last --enable-mesg --enable-partx \
                 --enable-raw --enable-rdev --enable-reset --disable-login-utils \
                 --enable-write --enable-arch --enable-mount --with-fsprobe=builtin \
-                --enable-libuuid --enable-libblkid --enable-fsck --without-udev"
+                --enable-libuuid --enable-libblkid --enable-fsck --without-udev \
+               usrsbin_execdir='${sbindir}' \
+"
 
 FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
 
meta/recipes-core/util-linux/util-linux/configure-sbindir.patch new file +13 -0
new file mode 100644
index 0000000..5d0a59b
@@ -0,0 +1,13 @@
+--- util-linux-2.21.2/configure.ac~    2012-09-22 09:29:12.354215377 +0100
++++ util-linux-2.21.2/configure.ac     2012-09-22 16:47:14.713628946 +0100
+@@ -67,7 +67,9 @@
+ usrbin_execdir='${exec_prefix}/bin'
+ AC_SUBST([usrbin_execdir])
+
+-usrsbin_execdir='${exec_prefix}/sbin'
++if [ -z "$usrsbin_execdir" ]; then
++   usrsbin_execdir='${exec_prefix}/sbin'
++fi
+ AC_SUBST([usrsbin_execdir])
+
+ usrlib_execdir='${exec_prefix}/'$libdirname
meta/recipes-core/util-linux/util-linux_2.21.2.bb +2 -2
index 6ef3163..e8f00fc 100644
@@ -1,5 +1,5 @@
 MAJOR_VERSION = "2.21"
-PR = "r2"
+PR = "r3"
 require util-linux.inc
 
 # note that `lscpu' is under GPLv3+
@@ -8,6 +8,7 @@ LICENSE_${PN}-lscpu = "GPLv3+"
 SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \
             file://util-linux-ng-2.16-mount_lock_path.patch \
             file://uclibc-__progname-conflict.patch \
+           file://configure-sbindir.patch \
 "
 
 SRC_URI[md5sum] = "b75b3cfecb943f74338382fde693c2c3"
--

1.7.9

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#2 lore raw
Quoted 8 lines · Khem Raj
Quoted 4 lines · Phil Blundell

The configure script uses a hard-coded value for ${usrsbin_execdir}, which is the path that we know as ${sbindir}. Adjust configure to take this from the environment if it's set there, and have do_configure() pass it in.

I think our expectation is same as what the configure is defining which is sbin dir under exec_prefix

Well, that might be your expectation, but it isn't necessarily what the user has configured. There is no guarantee that ${sbindir} will be set to that particular value, and the recipes ought to respect what it is, in fact, set to.

p.

#3 lore raw
Quoted 7 lines · Phil Blundell
Quoted 6 lines · Khem Raj
Quoted 4 lines · Phil Blundell

The configure script uses a hard-coded value for ${usrsbin_execdir}, which is the path that we know as ${sbindir}. Adjust configure to take this from the environment if it's set there, and have do_configure() pass it in.

Quoted 7 lines
Quoted 2 lines

I think our expectation is same as what the configure is defining which is sbin dir under exec_prefix

Well, that might be your expectation, but it isn't necessarily what the user has configured. There is no guarantee that ${sbindir} will be set to that particular value, and the recipes ought to respect what it is, in fact, set to.

then is it only sbindir or also bindir and so on that needs this kind of patching and is it just util-linux or other some other packages as well? Generally if you changed exec_prefix it was enough to e.g. flatten out /usr and this case here will work without change if you changed exec_prefix

Quoted 4 lines

p.

#4 lore raw
In reply to Phil Blundell

meta/recipes-core/util-linux/util-linux/configure-sbindir.patch

Quoted 34 lines · Phil Blundell

The configure script uses a hard-coded value for ${usrsbin_execdir}, which is the path that we know as ${sbindir}. Adjust configure to take this from the environment if it's set there, and have do_configure() pass it in.

---
  meta/recipes-core/util-linux/util-linux.inc        |    4 +++-
  .../util-linux/util-linux/configure-sbindir.patch  |   13 +++++++++++++
  meta/recipes-core/util-linux/util-linux_2.21.2.bb  |    3 ++-
  3 files changed, 18 insertions(+), 2 deletions(-)

create mode 100644 meta/recipes-core/util-linux/util-linux/configure-sbindir.patch

meta/recipes-core/util-linux/util-linux.inc +3 -1
index 79e0608..2c5267f 100644
@@ -38,7 +38,9 @@ EXTRA_OECONF = "--libdir=${base_libdir} --disable-use-tty-group \
                  --enable-kill --enable-last --enable-mesg --enable-partx \
                  --enable-raw --enable-rdev --enable-reset --disable-login-utils \
                  --enable-write --enable-arch --enable-mount --with-fsprobe=builtin \
-                --enable-libuuid --enable-libblkid --enable-fsck --without-udev"
+                --enable-libuuid --enable-libblkid --enable-fsck --without-udev \
+		usrsbin_execdir='${sbindir}' \
+"
 
  FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
 
meta/recipes-core/util-linux/util-linux/configure-sbindir.patch new file +0 -0
new file mode 100644
index 0000000..5d0a59b
@@ -0,0 +1,13 @@

No Patch Header, Upstream-Status: and Signed-off-by:

Sau!

Quoted 33 lines
meta/recipes-core/util-linux/util-linux/configure-sbindir.patch new file +13 -0
+--- util-linux-2.21.2/configure.ac~	2012-09-22 09:29:12.354215377 +0100
++++ util-linux-2.21.2/configure.ac	2012-09-22 16:47:14.713628946 +0100
+@@ -67,7 +67,9 @@
+ usrbin_execdir='${exec_prefix}/bin'
+ AC_SUBST([usrbin_execdir])
+
+-usrsbin_execdir='${exec_prefix}/sbin'
++if [ -z "$usrsbin_execdir" ]; then
++   usrsbin_execdir='${exec_prefix}/sbin'
++fi
+ AC_SUBST([usrsbin_execdir])
+
+ usrlib_execdir='${exec_prefix}/'$libdirname
meta/recipes-core/util-linux/util-linux_2.21.2.bb +2 -1
index 6ef3163..e8f00fc 100644
@@ -1,5 +1,5 @@
  MAJOR_VERSION = "2.21"
-PR = "r2"
+PR = "r3"
  require util-linux.inc
 
  # note that `lscpu' is under GPLv3+
@@ -8,6 +8,7 @@ LICENSE_${PN}-lscpu = "GPLv3+"
  SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \
              file://util-linux-ng-2.16-mount_lock_path.patch \
              file://uclibc-__progname-conflict.patch \
+	    file://configure-sbindir.patch \
  "
 
  SRC_URI[md5sum] = "b75b3cfecb943f74338382fde693c2c3"