diff options
author | Marcin Juszkiewicz <marcin@juszkiewicz.com.pl> | 2010-02-12 15:45:11 +0100 |
---|---|---|
committer | Marcin Juszkiewicz <marcin@juszkiewicz.com.pl> | 2010-03-09 18:34:22 +0100 |
commit | ec5081ee5b0449b02a0d051ac32e6fae31838dee (patch) | |
tree | c403447586eec1fe45202ed02bc6d83c432e8f1b | |
parent | ef73bcd899aaf182fb596e5912c20f966e0e6951 (diff) |
util-linux-ng: provide libblkid/libuuid/fsck/blkid instead of e2fsprogs
This commit is next step after e2fsprogs lost libblkid, libuuid, fsck,
blkid packages.
Most applications/libraries now require u-l-ng versions of uuid/blkid
libraries.
Also I followed Debian in moving to u-l-ng components instead of
e2fsprogs ones (fsck, blkid).
Recipe got cleaned up and unified.
Util-linux-ng 2.17 requires fallocate64 which is glibc 2.11+ so
I disabled that functionality for now.
Signed-off-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng-2.17/tls.patch | 70 | ||||
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng-2.17/uclibc-compile.patch | 13 | ||||
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng-2.17/util-linux-ng-replace-siginterrupt.patch | 23 | ||||
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng.inc | 41 | ||||
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng_2.13.1.bb | 3 | ||||
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng_2.14.bb | 4 | ||||
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng_2.15.bb | 3 | ||||
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng_2.16.bb | 8 | ||||
-rw-r--r-- | recipes/util-linux-ng/util-linux-ng_2.17.bb | 14 |
9 files changed, 148 insertions, 31 deletions
diff --git a/recipes/util-linux-ng/util-linux-ng-2.17/tls.patch b/recipes/util-linux-ng/util-linux-ng-2.17/tls.patch new file mode 100644 index 0000000000..bdb29cae1f --- /dev/null +++ b/recipes/util-linux-ng/util-linux-ng-2.17/tls.patch @@ -0,0 +1,70 @@ +Index: util-linux-ng-2.16/m4/tls.m4 +=================================================================== +--- util-linux-ng-2.16.orig/m4/tls.m4 2009-07-04 01:20:03.000000000 +0200 ++++ util-linux-ng-2.16/m4/tls.m4 2009-07-30 01:57:30.151697033 +0200 +@@ -18,31 +18,26 @@ + # version as well. + # + AC_DEFUN([AX_TLS], [ +- AC_MSG_CHECKING(for thread local storage (TLS) class) +- AC_CACHE_VAL(ac_cv_tls, [ +- ax_tls_keywords="__thread __declspec(thread) none" +- for ax_tls_keyword in $ax_tls_keywords; do +- case $ax_tls_keyword in +- none) ac_cv_tls=none ; break ;; +- *) +- AC_TRY_COMPILE( +- [#include <stdlib.h> +- static void +- foo(void) { +- static ] $ax_tls_keyword [ int bar; +- exit(1); +- }], +- [], +- [ac_cv_tls=$ax_tls_keyword ; break], +- ac_cv_tls=none +- ) +- esac +- done +-]) ++ AC_CACHE_CHECK([for thread local storage (TLS) class], ++ ac_cv_tls, ++ [AC_LINK_IFELSE([__thread int a; int b; int main() { return a = b; }], ++ [chktls_save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" ++ chktls_save_CFLAGS="$CFLAGS" ++ CFLAGS="-fPIC $CFLAGS" ++ dnl If -shared works, test if TLS works in a shared library. ++ AC_LINK_IFELSE([int f() { return 0; }], ++ AC_LINK_IFELSE([__thread int a; int b; int f() { return a = b; }], ++ [ac_cv_tls=yes], ++ [ac_cv_tls=no]), ++ [ac_cv_tls=yes]) ++ CFLAGS="$chktls_save_CFLAGS" ++ LDFLAGS="$chktls_save_LDFLAGS"], [ac_cv_tls=no]) ++ ]) + +- if test "$ac_cv_tls" != "none"; then +- dnl AC_DEFINE([TLS], [], [If the compiler supports a TLS storage class define it to that here]) +- AC_DEFINE_UNQUOTED([TLS], $ac_cv_tls, [If the compiler supports a TLS storage class define it to that here]) +- fi +- AC_MSG_RESULT($ac_cv_tls) ++ AS_IF([test "x$ac_cv_tls" = "xyes"], ++ [AC_DEFINE([TLS], 1, ++ [Define this if the compiler supports __thread for Thread-Local Storage]) ++ $1], ++ [$2]) + ]) +Index: util-linux-ng-2.16/shlibs/uuid/src/gen_uuid.c +=================================================================== +--- util-linux-ng-2.16.orig/shlibs/uuid/src/gen_uuid.c 2009-07-30 02:31:48.518159459 +0200 ++++ util-linux-ng-2.16/shlibs/uuid/src/gen_uuid.c 2009-07-30 02:32:04.867871183 +0200 +@@ -99,7 +99,7 @@ + #endif + + #ifdef TLS +-#define THREAD_LOCAL static TLS ++#define THREAD_LOCAL static __thread + #else + #define THREAD_LOCAL static + #endif diff --git a/recipes/util-linux-ng/util-linux-ng-2.17/uclibc-compile.patch b/recipes/util-linux-ng/util-linux-ng-2.17/uclibc-compile.patch new file mode 100644 index 0000000000..b2e8a8b95a --- /dev/null +++ b/recipes/util-linux-ng/util-linux-ng-2.17/uclibc-compile.patch @@ -0,0 +1,13 @@ +Index: util-linux-ng-2.16/misc-utils/cal.c +=================================================================== +--- util-linux-ng-2.16.orig/misc-utils/cal.c 2009-07-03 16:20:01.000000000 -0700 ++++ util-linux-ng-2.16/misc-utils/cal.c 2009-07-18 23:21:37.000000000 -0700 +@@ -407,7 +407,7 @@ + strcpy(day_headings,""); + strcpy(j_day_headings,""); + +-#ifdef HAVE_LANGINFO_H ++#ifdef HAVE_LANGINFO_H && !defined(__UCLIBC__) + # define weekday(wd) nl_langinfo(ABDAY_1+wd) + #else + # define weekday(wd) _time_info->abbrev_wkday[wd] diff --git a/recipes/util-linux-ng/util-linux-ng-2.17/util-linux-ng-replace-siginterrupt.patch b/recipes/util-linux-ng/util-linux-ng-2.17/util-linux-ng-replace-siginterrupt.patch new file mode 100644 index 0000000000..4b5eb73760 --- /dev/null +++ b/recipes/util-linux-ng/util-linux-ng-2.17/util-linux-ng-replace-siginterrupt.patch @@ -0,0 +1,23 @@ +Index: util-linux-ng-2.14/login-utils/login.c +=================================================================== +--- util-linux-ng-2.14.orig/login-utils/login.c 2008-05-28 16:01:02.000000000 -0700 ++++ util-linux-ng-2.14/login-utils/login.c 2009-03-04 18:31:42.000000000 -0800 +@@ -358,6 +358,7 @@ + char *childArgv[10]; + char *buff; + int childArgc = 0; ++ struct sigaction act; + #ifdef HAVE_SECURITY_PAM_MISC_H + int retcode; + pam_handle_t *pamh = NULL; +@@ -373,7 +374,9 @@ + pid = getpid(); + + signal(SIGALRM, timedout); +- siginterrupt(SIGALRM,1); /* we have to interrupt syscalls like ioclt() */ ++ (void) sigaction(SIGALRM, NULL, &act); ++ act.sa_flags &= ~SA_RESTART; ++ sigaction(SIGALRM, &act, NULL); + alarm((unsigned int)timeout); + signal(SIGQUIT, SIG_IGN); + signal(SIGINT, SIG_IGN); diff --git a/recipes/util-linux-ng/util-linux-ng.inc b/recipes/util-linux-ng/util-linux-ng.inc index 81ca815320..3073cfe134 100644 --- a/recipes/util-linux-ng/util-linux-ng.inc +++ b/recipes/util-linux-ng/util-linux-ng.inc @@ -7,17 +7,20 @@ inherit autotools DEFAULT_PREFERENCE = "-1" -INC_PR = "r13" +INC_PR = "r15" # allows for a release candidate RC ?= "" -SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v${PV}/util-linux-ng-${PV}${RC}.tar.bz2" +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v${PV}/util-linux-ng-${PV}${RC}.tar.bz2;name=archive" SRC_URI_append_chinook-compat = " file://chinook_libtool.patch;patch=1 " -PACKAGES =+ "util-linux-ng-fdisk util-linux-ng-cfdisk util-linux-ng-sfdisk util-linux-ng-swaponoff util-linux-ng-losetup util-linux-ng-umount util-linux-ng-mount util-linux-ng-readprofile " -PACKAGES_DYNAMIC = "libblkid*" +PACKAGES =+ "${PN}-fdisk ${PN}-cfdisk ${PN}-sfdisk ${PN}-swaponoff \ + ${PN}-losetup ${PN}-umount ${PN}-mount ${PN}-readprofile \ + ${PN}-fsck ${PN}-blkid ${PN}-mountall" + +PACKAGES_DYNAMIC = "libblkid* libuuid*" # Provide old util-linux names (several recipes still use DEPENDS or RDEPENDS = "util-linux"): PROVIDES = "util-linux" @@ -30,6 +33,8 @@ RPROVIDES_util-linux-ng-losetup = "util-linux-losetup" RPROVIDES_util-linux-ng-umount = "util-linux-umount" RPROVIDES_util-linux-ng-mount = "util-linux-mount" RPROVIDES_util-linux-ng-readprofile = "util-linux-readprofile" +RPROVIDES_util-linux-ng-fsck = "e2fsprogs-fsck" +RPROVIDES_util-linux-ng-blkid = "e2fsprogs-blkid" FILES_${PN}-doc += "/usr/share/misc/getopt/getopt-*.*" FILES_${PN} = "${bindir} ${sbindir} ${base_bindir} ${base_sbindir}" @@ -44,18 +49,23 @@ FILES_util-linux-ng-mount = "${base_bindir}/mount.${PN} ${sysconfdir}/default/mo FILES_util-linux-ng-umount = "${base_bindir}/umount.${PN}" # Moved to ${base_sbindir} by do_install: FILES_util-linux-ng-readprofile = "${base_sbindir}/readprofile.${PN}" - -PACKAGES =+ "${PN}-mountall" +FILES_util-linux-ng-fsck = "${base_sbindir}/fsck.${PN}" +FILES_util-linux-ng-blkid = "${sbindir}/blkid" FILES_${PN}-mountall = "${sysconfdir}/default/mountall.${PN}" + +RREPLACES_util-linux-ng-blkid = "e2fsprogs-blkid" RREPLACES_${PN}-mountall = "busybox-mountall" -RRECOMMENDS_${PN} = "util-linux-ng-fdisk util-linux-ng-cfdisk util-linux-ng-sfdisk util-linux-ng-mount util-linux-ng-readprofile " -RDEPENDS_${PN} = "${PN}-mountall util-linux-ng-umount util-linux-ng-swaponoff util-linux-ng-losetup" +RRECOMMENDS_${PN} = "${PN}-fdisk ${PN}-cfdisk ${PN}-sfdisk ${PN}-mount ${PN}-readprofile" +RDEPENDS_${PN} = "${PN}-mountall ${PN}-umount ${PN}-swaponoff ${PN}-losetup ${PN}-fsck ${PN}-blkid" EXTRA_OECONF = "--disable-use-tty-group --disable-makeinstall-chown \ --enable-kill --enable-last --enable-mesg --enable-raw --enable-login-utils \ --enable-arch --enable-init --enable-partx --enable-schedutils \ ---with-fsprobe=builtin" +--with-fsprobe=builtin --enable-libuuid --enable-libblkid \ +--enable-fsck" + +LDFLAGS_append_libc-uclibc = " -lintl" S = "${WORKDIR}/util-linux-ng-${PV}${RC}" @@ -69,10 +79,6 @@ do_configure_prepend_chinook-compat () { do_compile () { set -e -# install ${WORKDIR}/MCONFIG ${S}/MCONFIG -# install ${WORKDIR}/make_include ${S}/make_include -# install ${WORKDIR}/swapargs.h ${S}/mount/swapargs.h -# install ${WORKDIR}/defines.h ${S}/defines.h oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \ 'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \ 'LDFLAGS=${LDFLAGS}' @@ -111,7 +117,7 @@ do_install () { mkdir -p ${D}${base_bindir} sbinprogs="agetty blockdev ctrlaltdel cfdisk vipw vigr" - sbinprogs_a="pivot_root hwclock mkswap shutdown mkfs.minix fsck.minix losetup swapon fdisk readprofile" + sbinprogs_a="pivot_root hwclock mkswap shutdown mkfs.minix fsck.minix losetup swapon fdisk readprofile fsck" usrbinprogs_a="chfn chsh hexdump last logger mesg newgrp renice wall" binprogs_a="dmesg kill more umount mount login" @@ -269,3 +275,10 @@ pkg_prerm_util-linux-ng-mountall () { update-alternatives --remove default_mountall mountall.${PN} } +pkg_postinst_util-linux-ng-fsck () { + update-alternatives --install ${base_sbindir}/fsck fsck fsck.${PN} 100 +} + +pkg_prerm_util-linux-ng-fsck () { + update-alternatives --remove fsck fsck.${PN} +} diff --git a/recipes/util-linux-ng/util-linux-ng_2.13.1.bb b/recipes/util-linux-ng/util-linux-ng_2.13.1.bb index c239b15226..8dc6a5408e 100644 --- a/recipes/util-linux-ng/util-linux-ng_2.13.1.bb +++ b/recipes/util-linux-ng/util-linux-ng_2.13.1.bb @@ -1,8 +1,5 @@ require util-linux-ng.inc SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v2.13/util-linux-ng-${PV}${RC}.tar.bz2" -#SRC_URI += "file://util-linux_2.12r-12.diff.gz;patch=1" -#SRC_URI += "file://glibc-fix.patch;patch=1" -#SRC_URI += "file://glibc-umount2.patch;patch=1" PR = "${INC_PR}" diff --git a/recipes/util-linux-ng/util-linux-ng_2.14.bb b/recipes/util-linux-ng/util-linux-ng_2.14.bb index 7385324fdb..a0aee369cc 100644 --- a/recipes/util-linux-ng/util-linux-ng_2.14.bb +++ b/recipes/util-linux-ng/util-linux-ng_2.14.bb @@ -5,7 +5,3 @@ PR = "${INC_PR}" SRC_URI += "file://util-linux-ng-uclibc-versionsort.patch;patch=1 \ file://util-linux-ng-replace-siginterrupt.patch;patch=1 \ " -LDFLAGS_append_linux-uclibc = " -lintl" -LDFLAGS_append_linux-uclibceabi = " -lintl " -LDFLAGS_append_uclinux-uclibc = " -lintl" - diff --git a/recipes/util-linux-ng/util-linux-ng_2.15.bb b/recipes/util-linux-ng/util-linux-ng_2.15.bb index 0c2416fd16..4a707b9fa3 100644 --- a/recipes/util-linux-ng/util-linux-ng_2.15.bb +++ b/recipes/util-linux-ng/util-linux-ng_2.15.bb @@ -7,9 +7,6 @@ SRC_URI += "file://fix-make-c.patch;patch=1 \ file://uclibc-compile.patch;patch=1 \ " -LDFLAGS_append = " -luuid" -LDFLAGS_append_libc-uclibc = " -luuid -lintl" - do_compile_prepend() { sed -i /am__append_1/d ${S}/libs/blkid/src/Makefile } diff --git a/recipes/util-linux-ng/util-linux-ng_2.16.bb b/recipes/util-linux-ng/util-linux-ng_2.16.bb index bbcc9cef4f..ded257b319 100644 --- a/recipes/util-linux-ng/util-linux-ng_2.16.bb +++ b/recipes/util-linux-ng/util-linux-ng_2.16.bb @@ -1,14 +1,8 @@ require util-linux-ng.inc -PR = "${INC_PR}.4" +PR = "${INC_PR}" SRC_URI += "file://uclibc-compile.patch;patch=1 \ file://tls.patch;patch=1 \ file://util-linux-ng-replace-siginterrupt.patch;patch=1 \ " - -EXTRA_OECONF += " --enable-libuuid --enable-libblkid \ - --disable-fsck" -LDFLAGS_append_libc-uclibc = " -lintl" -PACKAGES_DYNAMIC += "libuuid*" - diff --git a/recipes/util-linux-ng/util-linux-ng_2.17.bb b/recipes/util-linux-ng/util-linux-ng_2.17.bb new file mode 100644 index 0000000000..00a044eb08 --- /dev/null +++ b/recipes/util-linux-ng/util-linux-ng_2.17.bb @@ -0,0 +1,14 @@ +require util-linux-ng.inc + +PR = "${INC_PR}" + +SRC_URI += "file://uclibc-compile.patch;patch=1 \ + file://util-linux-ng-replace-siginterrupt.patch;patch=1 \ + " + +# fallocate is glibc 2.10, fallocate64 is glibc 2.11 +# we need to disable it for older versions +EXTRA_OECONF += "ac_cv_func_fallocate=no" + +SRC_URI[archive.md5sum] = "11cc8a0138019e7060dd275d47dbc096" +SRC_URI[archive.sha256sum] = "8720f7233394b68d17095707c195ebb014943c1075a18fb5fd21ec108f012be3" |