util-linux: fix scanf fallback detection for uClibc-ng
authorWaldemar Brodkorb <wbx@openadk.org>
Sat, 4 Jun 2016 20:24:56 +0000 (22:24 +0200)
committerJohn Crispin <john@phrozen.org>
Sun, 5 Jun 2016 21:23:57 +0000 (23:23 +0200)
uClibc-ng pretends to be GNU libc 2.2 and then a fallback
scanf check is tried, so that libmount is disabled
afterwards. Add a fix already suggested upstream.
Add librt dependency required for other apps, too.

Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
package/utils/util-linux/Makefile
package/utils/util-linux/patches/0001-fix-uClibc-ng-scanf-check.patch [new file with mode: 0644]

index cfa244dca5c8313d3aaea2574053b2b779a7afb3..d1abacbaf0f553c50999166f422ba4e12c3a96d3 100644 (file)
@@ -40,6 +40,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/util-linux/Default
   SECTION:=utils
   CATEGORY:=Utilities
+  DEPENDS:= +librt
   URL:=http://www.kernel.org/pub/linux/utils/util-linux/
 endef
 
@@ -167,7 +168,6 @@ endef
 define Package/dmesg
 $(call Package/util-linux/Default)
   TITLE:=print or control the kernel ring buffer
-  DEPENDS:= +librt
 endef
 
 define Package/dmesg/description
diff --git a/package/utils/util-linux/patches/0001-fix-uClibc-ng-scanf-check.patch b/package/utils/util-linux/patches/0001-fix-uClibc-ng-scanf-check.patch
new file mode 100644 (file)
index 0000000..2da95f6
--- /dev/null
@@ -0,0 +1,34 @@
+From 180c908e2e80552b19bf3552667fc197d6edf7b3 Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@uclibc-ng.org>
+Date: Fri, 3 Jun 2016 04:13:08 +0200
+Subject: [PATCH] fix uClibc-ng scanf check
+
+uClibc-ng tries to be compatible with GNU libc and defines
+__GLIBC__ and pretend to be version 2.2.
+We once changed it to 2.10, but then some hard to fix problems
+in different software packages (gcc) occured.
+It would be better if we disable the special GNU libc checks
+for uClibc-ng here. uClibc-ng implements the required scanf
+functionality.
+
+Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f36b18c..4661c0d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -581,7 +581,7 @@ AC_CACHE_VAL([scanf_cv_alloc_modifier],
+      #include <stdio.h>
+      #include <unistd.h>
+-     #ifdef __GLIBC__
++     #if defined(__GLIBC__) && !defined(__UCLIBC__)
+      #if !(__GLIBC_PREREQ(2, 7))
+      #error %m is not available
+-- 
+2.1.4
+