summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <marcin@juszkiewicz.com.pl>2010-02-12 15:45:11 +0100
committerMarcin Juszkiewicz <marcin@juszkiewicz.com.pl>2010-03-09 18:34:22 +0100
commitec5081ee5b0449b02a0d051ac32e6fae31838dee (patch)
treec403447586eec1fe45202ed02bc6d83c432e8f1b
parentef73bcd899aaf182fb596e5912c20f966e0e6951 (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.patch70
-rw-r--r--recipes/util-linux-ng/util-linux-ng-2.17/uclibc-compile.patch13
-rw-r--r--recipes/util-linux-ng/util-linux-ng-2.17/util-linux-ng-replace-siginterrupt.patch23
-rw-r--r--recipes/util-linux-ng/util-linux-ng.inc41
-rw-r--r--recipes/util-linux-ng/util-linux-ng_2.13.1.bb3
-rw-r--r--recipes/util-linux-ng/util-linux-ng_2.14.bb4
-rw-r--r--recipes/util-linux-ng/util-linux-ng_2.15.bb3
-rw-r--r--recipes/util-linux-ng/util-linux-ng_2.16.bb8
-rw-r--r--recipes/util-linux-ng/util-linux-ng_2.17.bb14
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"