From patchwork Sat Oct 7 23:06:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnout Vandecappelle X-Patchwork-Id: 822950 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3y8hwH2r4Dz9t2x for ; Sun, 8 Oct 2017 10:06:54 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id E69EB865BA; Sat, 7 Oct 2017 23:06:50 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j3PrHlUEfSGf; Sat, 7 Oct 2017 23:06:49 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 38CC48669A; Sat, 7 Oct 2017 23:06:49 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 7F44D1C0695 for ; Sat, 7 Oct 2017 23:06:47 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 7A8248669A for ; Sat, 7 Oct 2017 23:06:47 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3oz9xV7zG9ky for ; Sat, 7 Oct 2017 23:06:45 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from exchange.essensium.com (220.77.144.195.ipv4.evonet.be [195.144.77.220]) by whitealder.osuosl.org (Postfix) with ESMTP id 74C99865BA for ; Sat, 7 Oct 2017 23:06:45 +0000 (UTC) Received: from localhost.localdomain (10.3.7.11) by beleexch01.local.ess-mail.com (10.3.7.8) with Microsoft SMTP Server (TLS) id 15.0.847.32; Sun, 8 Oct 2017 01:06:13 +0200 From: "Arnout Vandecappelle (Essensium/Mind)" To: Date: Sun, 8 Oct 2017 01:06:11 +0200 Message-ID: <20171007230611.25347-1-arnout@mind.be> X-Mailer: git-send-email 2.14.2 MIME-Version: 1.0 X-Originating-IP: [10.3.7.11] X-ClientProxiedBy: beleexch01.local.ess-mail.com (10.3.7.8) To beleexch01.local.ess-mail.com (10.3.7.8) Cc: srg.venema@gmail.com Subject: [Buildroot] [PATCH] parted: properly link with libiconv X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" parted uses libiconv but doesn't link with it. All the checks are there in configure, but the Makefile.am doesn't add it to the link. Add a patch to fix this. Also add an optional dependency on libiconv, so it is reproducible. While we're at it, regenerate the existing patches on top of v3.2, and make patch 0003 a properly git formatted one. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Cc: srg.venema@gmail.com --- ...rch-linux.c-Compile-without-ENABLE_DEVICE.patch | 8 ++--- .../0002-configure.ac-uclinux-is-also-linux.patch | 4 +-- ...Include-fcntl.h-to-get-loff_t-definition.patch} | 19 ++++++++---- ...arted-labels-link-with-libiconv-if-needed.patch | 34 ++++++++++++++++++++++ package/parted/parted.mk | 7 ++++- 5 files changed, 60 insertions(+), 12 deletions(-) rename package/parted/{0003-fix-includes-for-musl.patch => 0003-Include-fcntl.h-to-get-loff_t-definition.patch} (36%) create mode 100644 package/parted/0004-libparted-labels-link-with-libiconv-if-needed.patch diff --git a/package/parted/0001-libparted-arch-linux.c-Compile-without-ENABLE_DEVICE.patch b/package/parted/0001-libparted-arch-linux.c-Compile-without-ENABLE_DEVICE.patch index 5adc9beb12..1cf699bb12 100644 --- a/package/parted/0001-libparted-arch-linux.c-Compile-without-ENABLE_DEVICE.patch +++ b/package/parted/0001-libparted-arch-linux.c-Compile-without-ENABLE_DEVICE.patch @@ -1,4 +1,4 @@ -From 7e87ca3c531228d35e13e802d2622006138b104c Mon Sep 17 00:00:00 2001 +From 141c4309d7164dcd4e09d137fc075c1726fd8dbb Mon Sep 17 00:00:00 2001 From: Felix Janda Date: Sun, 3 May 2015 10:33:15 +0200 Subject: [PATCH] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER @@ -10,7 +10,7 @@ Signed-off-by: Yegor Yefremov 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index 90ab21d..f6141e4 100644 +index 0f18904..cf38c6f 100644 --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c @@ -2304,6 +2304,7 @@ zasprintf (const char *format, ...) @@ -57,7 +57,7 @@ index 90ab21d..f6141e4 100644 return result; } -@@ -2958,12 +2968,15 @@ _disk_sync_part_table (PedDisk* disk) +@@ -2945,12 +2955,15 @@ _disk_sync_part_table (PedDisk* disk) unsigned long long *length); @@ -75,5 +75,5 @@ index 90ab21d..f6141e4 100644 remove_partition = _blkpg_remove_partition; #ifdef BLKPG_RESIZE_PARTITION -- -2.1.4 +2.14.2 diff --git a/package/parted/0002-configure.ac-uclinux-is-also-linux.patch b/package/parted/0002-configure.ac-uclinux-is-also-linux.patch index b2119bcdd7..5a264ced80 100644 --- a/package/parted/0002-configure.ac-uclinux-is-also-linux.patch +++ b/package/parted/0002-configure.ac-uclinux-is-also-linux.patch @@ -1,4 +1,4 @@ -From b3958317c5ee2940e7024bec2e7f288b5a6a26c3 Mon Sep 17 00:00:00 2001 +From 7697d9c54e489b32b82c01f17db04f8b51857e51 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Mon, 30 Jun 2014 10:09:04 -0300 Subject: [PATCH] configure.ac: uclinux is also linux @@ -29,5 +29,5 @@ index 436d0e2..50ad478 100644 AC_SUBST([OS]) -- -1.8.5.5 +2.14.2 diff --git a/package/parted/0003-fix-includes-for-musl.patch b/package/parted/0003-Include-fcntl.h-to-get-loff_t-definition.patch similarity index 36% rename from package/parted/0003-fix-includes-for-musl.patch rename to package/parted/0003-Include-fcntl.h-to-get-loff_t-definition.patch index 28c94ace7c..ca82174a55 100644 --- a/package/parted/0003-fix-includes-for-musl.patch +++ b/package/parted/0003-Include-fcntl.h-to-get-loff_t-definition.patch @@ -1,13 +1,19 @@ -Include to get loff_t definition +From 2078c07d38ee7841b89ac8d81afc5e8bfcd4f703 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 8 Oct 2017 00:58:58 +0200 +Subject: [PATCH] Include to get loff_t definition Patch borrowed from Alpine Linux at http://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch. Solves build with musl. +--- + libparted/fs/xfs/platform_defs.h | 1 + + 1 file changed, 1 insertion(+) -Signed-off-by: Thomas Petazzoni - ---- parted-3.1.orig/libparted/fs/xfs/platform_defs.h -+++ parted-3.1/libparted/fs/xfs/platform_defs.h +diff --git a/libparted/fs/xfs/platform_defs.h b/libparted/fs/xfs/platform_defs.h +index 2b55752..17023dc 100644 +--- a/libparted/fs/xfs/platform_defs.h ++++ b/libparted/fs/xfs/platform_defs.h @@ -35,6 +35,7 @@ #define __XFS_PLATFORM_DEFS_H__ @@ -16,3 +22,6 @@ Signed-off-by: Thomas Petazzoni #include #include #include +-- +2.14.2 + diff --git a/package/parted/0004-libparted-labels-link-with-libiconv-if-needed.patch b/package/parted/0004-libparted-labels-link-with-libiconv-if-needed.patch new file mode 100644 index 0000000000..9cabdeed89 --- /dev/null +++ b/package/parted/0004-libparted-labels-link-with-libiconv-if-needed.patch @@ -0,0 +1,34 @@ +From 1084b0255c42fc86adb0a2c7614e341ac530db65 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Sun, 8 Oct 2017 00:53:31 +0200 +Subject: [PATCH] libparted/labels: link with libiconv if needed + +gpt.c uses iconv so it should link with it. Otherwise, on platforms +where libiconv is a separate library, we get a link failure of parted: + + CCLD parted + ../libparted/.libs/libparted.so: undefined reference to `libiconv' + ../libparted/.libs/libparted.so: undefined reference to `libiconv_open' + ../libparted/.libs/libparted.so: undefined reference to `libiconv_close' + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + libparted/labels/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libparted/labels/Makefile.am b/libparted/labels/Makefile.am +index c996f81..b204379 100644 +--- a/libparted/labels/Makefile.am ++++ b/libparted/labels/Makefile.am +@@ -35,7 +35,7 @@ liblabels_la_SOURCES = \ + rdb.c \ + sun.c + +-liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS) ++liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS) $(LIBICONV) + + AM_CPPFLAGS = $(partedincludedir) $(INTLINCS) + +-- +2.14.2 + diff --git a/package/parted/parted.mk b/package/parted/parted.mk index 35d152b469..1f0428a55b 100644 --- a/package/parted/parted.mk +++ b/package/parted/parted.mk @@ -9,7 +9,8 @@ PARTED_SOURCE = parted-$(PARTED_VERSION).tar.xz PARTED_SITE = $(BR2_GNU_MIRROR)/parted PARTED_DEPENDENCIES = host-pkgconf util-linux PARTED_INSTALL_STAGING = YES -# For uclinux patch +# 0002-configure.ac-uclinux-is-also-linux.patch +# 0004-libparted-labels-link-with-libiconv-if-needed.patch PARTED_AUTORECONF = YES PARTED_GETTEXTIZE = YES PARTED_LICENSE = GPL-3.0+ @@ -29,6 +30,10 @@ else PARTED_CONF_OPTS += --disable-device-mapper endif +ifeq ($(BR2_PACKAGE_LIBICONV),y) +PARTED_DEPENDENCIES += libiconv +endif + ifeq ($(BR2_STATIC_LIBS),y) PARTED_CONF_OPTS += --disable-dynamic-loading endif