diff options
author | Carlos Santos <casantos@datacom.ind.br> | 2017-02-20 14:05:35 -0300 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-02-20 21:39:28 +0100 |
commit | 125213d6164a395f7d0bfb136f3a873a02630ebc (patch) | |
tree | 5f6589a5c00d7ac56c2d0c0c2a6c292de23e579c /package/util-linux/0003-build-sys-fix-disable-all-programs-enable-schedutils.patch | |
parent | 3fdab1a070d6ecce92adac3906bfd93e57d2f79f (diff) | |
download | buildroot-125213d6164a395f7d0bfb136f3a873a02630ebc.tar.gz buildroot-125213d6164a395f7d0bfb136f3a873a02630ebc.zip |
util-linux: build schedutils without enabling basic binaries
Pull an upstream fix to allow building schedutils (ionice, taskset,
chrt) when util-linux is configured with
$ configure --disable-all-programs --enable-schedutils
Fixes:
https://bugs.busybox.net/show_bug.cgi?id=9656
Reported-by: Aaron Holtzman <aholtzma@gmail.com>
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/util-linux/0003-build-sys-fix-disable-all-programs-enable-schedutils.patch')
-rw-r--r-- | package/util-linux/0003-build-sys-fix-disable-all-programs-enable-schedutils.patch | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/package/util-linux/0003-build-sys-fix-disable-all-programs-enable-schedutils.patch b/package/util-linux/0003-build-sys-fix-disable-all-programs-enable-schedutils.patch new file mode 100644 index 0000000000..bf19e10546 --- /dev/null +++ b/package/util-linux/0003-build-sys-fix-disable-all-programs-enable-schedutils.patch @@ -0,0 +1,99 @@ +From 6f2eb03433bcb2d3c351efed848a1f8554a7ff78 Mon Sep 17 00:00:00 2001 +From: Karel Zak <kzak@redhat.com> +Date: Mon, 20 Feb 2017 14:17:37 +0100 +Subject: [PATCH] build-sys: fix --disable-all-programs --enable-schedutils + +* add UL_ENABLE_ALIAS(NAME, MASTERNAME) to initialize $enable_<name> + according to MASTERNAME. Note that we have to use $build_<mastername>, + the $enable_<mastername> is just AC_ARG_ENABLE() stuff only. The + $build_ is evaluated and modified by our UL_...() functions. + +* add enable-schedutils.conf to have build-system regression test for + this use-case + +Addresses: https://github.com/karelzak/util-linux/issues/415 +Signed-off-by: Karel Zak <kzak@redhat.com> +--- + configure.ac | 14 ++++++++------ + m4/ul.m4 | 15 +++++++++++++++ + tools/config-gen.d/enable-schedutils.conf | 3 +++ + 3 files changed, 26 insertions(+), 6 deletions(-) + create mode 100644 tools/config-gen.d/enable-schedutils.conf + +diff --git a/configure.ac b/configure.ac +index ad241fe..be282f0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1909,8 +1909,9 @@ AC_ARG_ENABLE([schedutils], + ) + UL_BUILD_INIT([schedutils]) + +-UL_BUILD_INIT([ionice], [check]) +-UL_REQUIRES_BUILD([ionice], [schedutils]) ++ ++UL_ENABLE_ALIAS([ionice], [schedutils]) ++UL_BUILD_INIT([ionice]) + UL_REQUIRES_SYSCALL_CHECK([ionice], + [UL_CHECK_SYSCALL([ioprio_set], + [alpha], [442], +@@ -1937,8 +1938,9 @@ UL_REQUIRES_SYSCALL_CHECK([ionice], + + AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes]) + +-UL_BUILD_INIT([taskset], [check]) +-UL_REQUIRES_BUILD([taskset], [schedutils]) ++ ++UL_ENABLE_ALIAS([taskset], [schedutils]) ++UL_BUILD_INIT([taskset]) + UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type]) + UL_REQUIRES_SYSCALL_CHECK([taskset], + [UL_CHECK_SYSCALL([sched_getaffinity])], +@@ -1950,8 +1952,8 @@ have_schedsetter=no + AS_IF([test "x$ac_cv_func_sched_setscheduler" = xyes], [have_schedsetter=yes], + [test "x$ac_cv_func_sched_setattr" = xyes], [have_schedsetter=yes]) + +-UL_BUILD_INIT([chrt], [check]) +-UL_REQUIRES_BUILD([chrt], [schedutils]) ++UL_ENABLE_ALIAS([chrt], [schedutils]) ++UL_BUILD_INIT([chrt]) + UL_REQUIRES_HAVE([chrt], [schedsetter], [sched_set functions]) + AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes]) + +diff --git a/m4/ul.m4 b/m4/ul.m4 +index f8a0dd7..ed7227c 100644 +--- a/m4/ul.m4 ++++ b/m4/ul.m4 +@@ -429,6 +429,21 @@ AC_DEFUN([UL_DEFAULT_ENABLE], [ + fi + ]) + ++ ++dnl UL_ENABLE_ALIAS(NAME, MASTERNAME) ++dnl ++dnl Initializes $enable_<name> variable according to $build_<mastername>. This ++dnl is usefull for example if you want to use one --enable-mastername option ++dnl for group of programs. ++dnl ++AC_DEFUN([UL_ENABLE_ALIAS], [ ++ m4_define([suffix], $1) ++ m4_define([mastersuffix], $2) ++ ++ enable_[]suffix=$build_[]mastersuffix ++]) ++ ++ + dnl UL_NCURSES_CHECK(NAME) + dnl + dnl Initializes $have_<name>, NCURSES_LIBS and NCURSES_CFLAGS variables according to +diff --git a/tools/config-gen.d/enable-schedutils.conf b/tools/config-gen.d/enable-schedutils.conf +new file mode 100644 +index 0000000..08deee4 +--- /dev/null ++++ b/tools/config-gen.d/enable-schedutils.conf +@@ -0,0 +1,3 @@ ++include:disable-all.conf ++ ++--enable-schedutils +-- +2.7.4 + |