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

login
register
mail settings
Submitter Phil Blundell
Date Sept. 22, 2012, 4:24 p.m.
Message ID <1348331093.4444.218.camel@x121e.pbcl.net>
Download mbox | patch
Permalink /patch/37053/
State New
Headers show

Comments

Phil Blundell - Sept. 22, 2012, 4:24 p.m.
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.

Signed-off-by: Phil Blundell <pb@pbcl.net>
---
 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
Khem Raj - Sept. 23, 2012, 5:31 p.m.
On Sat, Sep 22, 2012 at 9:24 AM, Phil Blundell <philb@gnu.org> wrote:
> 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 ?

>
> Signed-off-by: Phil Blundell <pb@pbcl.net>
> ---
>  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
>
> diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
> index 79e0608..2c5267f 100644
> --- a/meta/recipes-core/util-linux/util-linux.inc
> +++ b/meta/recipes-core/util-linux/util-linux.inc
> @@ -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-*.*"
>
> diff --git a/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch b/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch
> new file mode 100644
> index 0000000..5d0a59b
> --- /dev/null
> +++ b/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch
> @@ -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
> diff --git a/meta/recipes-core/util-linux/util-linux_2.21.2.bb b/meta/recipes-core/util-linux/util-linux_2.21.2.bb
> index 6ef3163..e8f00fc 100644
> --- a/meta/recipes-core/util-linux/util-linux_2.21.2.bb
> +++ b/meta/recipes-core/util-linux/util-linux_2.21.2.bb
> @@ -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
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Phil Blundell - Sept. 23, 2012, 5:46 p.m.
On Sun, 2012-09-23 at 10:31 -0700, Khem Raj wrote:
> On Sat, Sep 22, 2012 at 9:24 AM, Phil Blundell <philb@gnu.org> wrote:
> > 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.
Saul Wold - Sept. 23, 2012, 11:12 p.m.
On 09/22/2012 09:24 AM, Phil Blundell wrote:
> 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.
>
> Signed-off-by: Phil Blundell <pb@pbcl.net>
> ---
>   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
>
> diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
> index 79e0608..2c5267f 100644
> --- a/meta/recipes-core/util-linux/util-linux.inc
> +++ b/meta/recipes-core/util-linux/util-linux.inc
> @@ -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-*.*"
>
> diff --git a/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch b/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch
> new file mode 100644
> index 0000000..5d0a59b
> --- /dev/null
> +++ b/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch
> @@ -0,0 +1,13 @@

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

Sau!


> +--- 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
> diff --git a/meta/recipes-core/util-linux/util-linux_2.21.2.bb b/meta/recipes-core/util-linux/util-linux_2.21.2.bb
> index 6ef3163..e8f00fc 100644
> --- a/meta/recipes-core/util-linux/util-linux_2.21.2.bb
> +++ b/meta/recipes-core/util-linux/util-linux_2.21.2.bb
> @@ -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"
>
Khem Raj - Sept. 24, 2012, 12:30 a.m.
On Sun, Sep 23, 2012 at 10:46 AM, Phil Blundell <philb@gnu.org> wrote:
> On Sun, 2012-09-23 at 10:31 -0700, Khem Raj wrote:
>> On Sat, Sep 22, 2012 at 9:24 AM, Phil Blundell <philb@gnu.org> wrote:
>> > 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.

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

>
> p.
>
>

Patch

diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index 79e0608..2c5267f 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -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-*.*"
 
diff --git a/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch b/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch
new file mode 100644
index 0000000..5d0a59b
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/configure-sbindir.patch
@@ -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
diff --git a/meta/recipes-core/util-linux/util-linux_2.21.2.bb b/meta/recipes-core/util-linux/util-linux_2.21.2.bb
index 6ef3163..e8f00fc 100644
--- a/meta/recipes-core/util-linux/util-linux_2.21.2.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.21.2.bb
@@ -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"