+++ /dev/null
-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 <mark.hatle@windriver.com>
-
---- 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 <sys/syscall.h>
-
- #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)