aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/util-linux/patches/002-mkostemp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/utils/util-linux/patches/002-mkostemp.patch')
-rw-r--r--package/utils/util-linux/patches/002-mkostemp.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/package/utils/util-linux/patches/002-mkostemp.patch b/package/utils/util-linux/patches/002-mkostemp.patch
new file mode 100644
index 0000000000..0ad84722d2
--- /dev/null
+++ b/package/utils/util-linux/patches/002-mkostemp.patch
@@ -0,0 +1,65 @@
+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
++++ b/configure.ac
+@@ -299,6 +299,7 @@ AC_CHECK_FUNCS([ \
+ llseek \
+ lseek64 \
+ mempcpy \
++ mkostemp \
+ nanosleep \
+ personality \
+ posix_fadvise \
+--- a/include/c.h
++++ b/include/c.h
+@@ -236,6 +236,13 @@ static inline int dirfd(DIR *d)
+ #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
++++ b/lib/randutils.c
+@@ -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
++++ b/lib/wholedisk.c
+@@ -10,6 +10,7 @@
+
+ #include "blkdev.h"
+ #include "wholedisk.h"
++#include "c.h"
+
+ int is_whole_disk_fd(int fd, const char *name)
+ {