From patchwork Thu Sep 5 20:55:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Barnett X-Patchwork-Id: 272971 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id 8D1342C00F9 for ; Fri, 6 Sep 2013 06:55:12 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 5D6DC8CDC0; Thu, 5 Sep 2013 20:55:11 +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 1dslDsFk0eLd; Thu, 5 Sep 2013 20:55:09 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id E11E98CBD3; Thu, 5 Sep 2013 20:55:08 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id B669D1C1E94 for ; Thu, 5 Sep 2013 20:55:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id AC89E8CBD3 for ; Thu, 5 Sep 2013 20:55:07 +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 axex-DOmxhhf for ; Thu, 5 Sep 2013 20:55:06 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from secvs01.rockwellcollins.com (secvs01.rockwellcollins.com [205.175.225.240]) by whitealder.osuosl.org (Postfix) with ESMTPS id 1606F8CBCF for ; Thu, 5 Sep 2013 20:55:05 +0000 (UTC) Received: from nosuchhost.198.131.in-addr.arpa (HELO collinscrsmtp02.rockwellcollins.com) ([131.198.63.133]) by mail-virt.rockwellcollins.com with ESMTP; 05 Sep 2013 15:55:05 -0500 Received: from ares ([131.198.63.11]) by collinscrsmtp02.rockwellcollins.com (Lotus Domino Release 8.5.2FP2 HF162) with ESMTP id 2013090515550472-742944 ; Thu, 5 Sep 2013 15:55:04 -0500 From: Ryan Barnett To: buildroot@busybox.net Date: Thu, 5 Sep 2013 15:55:03 -0500 Message-Id: <1378414503-4841-1-git-send-email-rjbarnet@rockwellcollins.com> X-Mailer: git-send-email 1.7.1 X-MIMETrack: Itemize by SMTP Server on CollinsCRSMTP02/CedarRapids/RockwellCollins(Release 8.5.2FP2 HF162|May 16, 2011) at 09/05/2013 03:55:04 PM, Serialize by Router on CollinsCRSMTP02/CedarRapids/RockwellCollins(Release 8.5.2FP2 HF162|May 16, 2011) at 09/05/2013 03:55:05 PM, Serialize complete at 09/05/2013 03:55:05 PM X-TNEFEvaluated: 1 Subject: [Buildroot] [PATCH 1/1] util-linux: fix build failure with older systems X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Adding patch util-linux-002-support-older-machines.patch to fix issues when building for older systems. Making all util-linux patches apply cleanly (fuzz fixes) Fixes http://autobuild.buildroot.org/results/349/349d6ff938b093623618669a1acb390aa2a5fafe Fixes http://autobuild.buildroot.org/results/57e/57e2c612c46b9e3b5f7bb213fcb3825b23fb7fc7 Signed-off-by: Ryan Barnett --- .../util-linux-001-sscanf-no-ms-as.patch | 12 +- .../util-linux-002-support-older-machines.patch | 208 ++++++++++++++++++++ ...l-linux-003-program-invocation-short-name.patch | 6 +- 3 files changed, 216 insertions(+), 10 deletions(-) create mode 100644 package/util-linux/util-linux-002-support-older-machines.patch diff --git a/package/util-linux/util-linux-001-sscanf-no-ms-as.patch b/package/util-linux/util-linux-001-sscanf-no-ms-as.patch index 5d08b9b..72a060e 100644 --- a/package/util-linux/util-linux-001-sscanf-no-ms-as.patch +++ b/package/util-linux/util-linux-001-sscanf-no-ms-as.patch @@ -4,20 +4,18 @@ See https://bugs.gentoo.org/show_bug.cgi?id=406303 http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/util-linux/files/util-linux-2.21.1-no-printf-alloc.patch?revision=1.2 ported to util-linux-2.23.2 -diff -Nura a/configure.ac b/configure.ac ---- a/configure.ac 2012-12-13 08:16:02.973822890 -0300 -+++ b/configure.ac 2013-03-07 14:50:39.975512873 -0300 -@@ -733,7 +733,6 @@ +--- a/configure.ac 2013-07-30 03:39:26.188738061 -0500 ++++ b/configure.ac 2013-09-05 15:31:11.460864363 -0500 +@@ -755,7 +755,6 @@ UL_BUILD_INIT([libmount]) UL_REQUIRES_LINUX([libmount]) UL_REQUIRES_BUILD([libmount], [libblkid]) -UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier]) AM_CONDITIONAL(BUILD_LIBMOUNT, test "x$build_libmount" = xyes) AM_CONDITIONAL(BUILD_LIBMOUNT_TESTS, test "x$build_libmount" = xyes -a "x$enable_static" = xyes) - -diff -Nura a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c + --- a/libmount/src/tab_parse.c 2013-07-30 03:39:26.218738358 -0500 -+++ b/libmount/src/tab_parse.c 2013-09-04 11:22:26.332917445 -0500 ++++ b/libmount/src/tab_parse.c 2013-09-05 15:31:11.460864363 -0500 @@ -22,6 +22,10 @@ #include "pathnames.h" #include "strutils.h" diff --git a/package/util-linux/util-linux-002-support-older-machines.patch b/package/util-linux/util-linux-002-support-older-machines.patch new file mode 100644 index 0000000..5736a98 --- /dev/null +++ b/package/util-linux/util-linux-002-support-older-machines.patch @@ -0,0 +1,208 @@ +This patch was adopted from +http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/util-linux/util-linux/util-linux-native.patch + +Support older hosts with latest util-linux-native + +mkostemp is not defined on older machines. So we detect this and +provide a define that uses mkstemp instead. + +O_CLOEXEC is not defined on older machines. It is however defined +in the 'c.h' header. Fix up the users to include 'c.h'. + +fdisks/fdisksunlabel.c was modified to use qsort_r, however +this is not defined on older hosts. Revert: + commit c69bbca9c1f6645097bd20fe3a21f5a99a2a0698 + fdisk: (sun): use ask API, remove global variable + +Upstream-Status: Inappropriate [other] +Patches revert upstream changes in order to support older +machines. + +Signed-off-by: Mark Hatle + +--- a/configure.ac 2013-09-05 15:31:11.460864363 -0500 ++++ b/configure.ac 2013-09-05 15:31:21.590981268 -0500 +@@ -323,6 +323,7 @@ + llseek \ + lseek64 \ + mempcpy \ ++ mkostemp \ + nanosleep \ + personality \ + posix_fadvise \ +--- a/include/c.h 2013-07-30 03:39:26.200738180 -0500 ++++ b/include/c.h 2013-09-05 15:31:21.590981268 -0500 +@@ -236,6 +236,13 @@ + #endif + + /* ++ * mkostemp replacement ++ */ ++#ifndef HAVE_MKOSTEMP ++#define mkostemp(template, flags) mkstemp(template) ++#endif ++ ++/* + * MAXHOSTNAMELEN replacement + */ + static inline size_t get_hostname_max(void) +--- a/lib/randutils.c 2013-06-13 02:46:10.408650519 -0500 ++++ b/lib/randutils.c 2013-09-05 15:31:21.650099925 -0500 +@@ -16,6 +16,7 @@ + #include + + #include "randutils.h" ++#include "c.h" + + #ifdef HAVE_TLS + #define THREAD_LOCAL static __thread +--- a/lib/wholedisk.c 2013-06-13 02:46:10.411650545 -0500 ++++ b/lib/wholedisk.c 2013-09-05 15:31:21.650099925 -0500 +@@ -10,6 +10,7 @@ + + #include "blkdev.h" + #include "wholedisk.h" ++#include "c.h" + + int is_whole_disk_fd(int fd, const char *name) + { +--- a/fdisks/fdisksunlabel.c 2013-07-30 03:39:26.197738150 -0500 ++++ b/fdisks/fdisksunlabel.c 2013-09-05 15:31:21.650099925 -0500 +@@ -383,10 +383,10 @@ + } + } + +-static int verify_sun_cmp(int *a, int *b, void *data) +-{ +- unsigned int *verify_sun_starts = (unsigned int *) data; ++static unsigned int *verify_sun_starts; + ++static int verify_sun_cmp(int *a, int *b) ++{ + if (*a == -1) + return 1; + if (*b == -1) +@@ -401,7 +401,6 @@ + uint32_t starts[SUN_MAXPARTITIONS], lens[SUN_MAXPARTITIONS], start, stop; + uint32_t i,j,k,starto,endo; + int array[SUN_MAXPARTITIONS]; +- unsigned int *verify_sun_starts; + + assert(cxt); + assert(cxt->label); +@@ -442,16 +441,14 @@ + } + } + } +- + for (i = 0; i < SUN_MAXPARTITIONS; i++) { + if (lens[i]) + array[i] = i; + else + array[i] = -1; + } +- qsort_r(array,ARRAY_SIZE(array),sizeof(array[0]), +- (int (*)(const void *,const void *,void *)) verify_sun_cmp, +- verify_sun_starts); ++ qsort(array,ARRAY_SIZE(array),sizeof(array[0]), ++ (int (*)(const void *,const void *)) verify_sun_cmp); + + if (array[0] == -1) { + fdisk_info(cxt, _("No partitions defined")); +@@ -468,6 +465,7 @@ + start = (starts[array[i]] + lens[array[i]]); + if (start < stop) + fdisk_warnx(cxt, _("Unused gap - sectors %d-%d"), start, stop); ++ + return 0; + } + +@@ -746,18 +744,12 @@ + } + } + +- + void fdisk_sun_set_alt_cyl(struct fdisk_context *cxt) + { + struct sun_disklabel *sunlabel = self_disklabel(cxt); +- uintmax_t res; +- int rc = fdisk_ask_number(cxt, 0, /* low */ +- be16_to_cpu(sunlabel->acyl), /* default */ +- 65535, /* high */ +- _("Number of alternate cylinders"), /* query */ +- &res); /* result */ +- if (!rc) +- sunlabel->acyl = cpu_to_be16(res); ++ sunlabel->acyl = ++ cpu_to_be16(read_int(cxt, 0, be16_to_cpu(sunlabel->acyl), 65535, 0, ++ _("Number of alternate cylinders"))); + } + + void fdisk_sun_set_ncyl(struct fdisk_context *cxt, int cyl) +@@ -769,54 +761,33 @@ + void fdisk_sun_set_xcyl(struct fdisk_context *cxt) + { + struct sun_disklabel *sunlabel = self_disklabel(cxt); +- uintmax_t res; +- int rc = fdisk_ask_number(cxt, 0, /* low */ +- be16_to_cpu(sunlabel->apc), /* default */ +- cxt->geom.sectors, /* high */ +- _("Extra sectors per cylinder"), /* query */ +- &res); /* result */ +- if (!rc) +- sunlabel->apc = cpu_to_be16(res); ++ sunlabel->apc = ++ cpu_to_be16(read_int(cxt, 0, be16_to_cpu(sunlabel->apc), cxt->geom.sectors, 0, ++ _("Extra sectors per cylinder"))); + } + + void fdisk_sun_set_ilfact(struct fdisk_context *cxt) + { + struct sun_disklabel *sunlabel = self_disklabel(cxt); +- uintmax_t res; +- int rc = fdisk_ask_number(cxt, 1, /* low */ +- be16_to_cpu(sunlabel->intrlv), /* default */ +- 32, /* high */ +- _("Interleave factor"), /* query */ +- &res); /* result */ +- if (!rc) +- sunlabel->intrlv = cpu_to_be16(res); ++ sunlabel->intrlv = ++ cpu_to_be16(read_int(cxt, 1, be16_to_cpu(sunlabel->intrlv), 32, 0, ++ _("Interleave factor"))); + } + + void fdisk_sun_set_rspeed(struct fdisk_context *cxt) + { + struct sun_disklabel *sunlabel = self_disklabel(cxt); +- uintmax_t res; +- int rc = fdisk_ask_number(cxt, 1, /* low */ +- be16_to_cpu(sunlabel->rpm), /* default */ +- USHRT_MAX, /* high */ +- _("Rotation speed (rpm)"), /* query */ +- &res); /* result */ +- if (!rc) +- sunlabel->rpm = cpu_to_be16(res); +- ++ sunlabel->rpm = ++ cpu_to_be16(read_int(cxt, 1, be16_to_cpu(sunlabel->rpm), 100000, 0, ++ _("Rotation speed (rpm)"))); + } + + void fdisk_sun_set_pcylcount(struct fdisk_context *cxt) + { + struct sun_disklabel *sunlabel = self_disklabel(cxt); +- uintmax_t res; +- int rc = fdisk_ask_number(cxt, 0, /* low */ +- be16_to_cpu(sunlabel->pcyl), /* default */ +- USHRT_MAX, /* high */ +- _("Number of physical cylinders"), /* query */ +- &res); /* result */ +- if (!rc) +- sunlabel->pcyl = cpu_to_be16(res); ++ sunlabel->pcyl = ++ cpu_to_be16(read_int(cxt, 0, be16_to_cpu(sunlabel->pcyl), 65535, 0, ++ _("Number of physical cylinders"))); + } + + static int sun_write_disklabel(struct fdisk_context *cxt) diff --git a/package/util-linux/util-linux-003-program-invocation-short-name.patch b/package/util-linux/util-linux-003-program-invocation-short-name.patch index 5d04e35..95fea3f 100644 --- a/package/util-linux/util-linux-003-program-invocation-short-name.patch +++ b/package/util-linux/util-linux-003-program-invocation-short-name.patch @@ -1,6 +1,6 @@ ---- a/configure.ac 2013-07-30 03:39:26.188738061 -0500 -+++ b/configure.ac 2013-08-27 16:20:09.882953093 -0500 -@@ -386,7 +386,7 @@ +--- a/configure.ac 2013-09-05 15:31:21.590981268 -0500 ++++ b/configure.ac 2013-09-05 15:31:29.160981049 -0500 +@@ -387,7 +387,7 @@ AC_MSG_CHECKING([whether program_invocation_short_name is defined]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[