summaryrefslogtreecommitdiffstats
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog8
-rw-r--r--debian/control13
-rw-r--r--debian/libuuid1.install (renamed from debian/libuuid1t64.install)0
-rw-r--r--debian/libuuid1.shlibs2
-rw-r--r--debian/libuuid1.symbols (renamed from debian/libuuid1t64.symbols)4
-rw-r--r--debian/libuuid1t64.lintian-overrides1
-rw-r--r--debian/libuuid1t64.shlibs2
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch129
9 files changed, 149 insertions, 11 deletions
diff --git a/debian/changelog b/debian/changelog
index bdc073f..cf24ebc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+util-linux (2.39.3-7) unstable; urgency=medium
+
+ * Run wrap-and-sort -kas
+ * Revert rename of libuuid1 to libuuid1t64
+ * Apply upstream patches for dual-time_t-ABI
+
+ -- Chris Hofstaedtler <zeha@debian.org> Fri, 01 Mar 2024 11:20:22 +0100
+
util-linux (2.39.3-6.1) unstable; urgency=medium
* Non-maintainer upload.
diff --git a/debian/control b/debian/control
index 5d27ee9..73a74d7 100644
--- a/debian/control
+++ b/debian/control
@@ -1,5 +1,5 @@
Source: util-linux
-Build-Depends: dpkg-dev (>= 1.22.5),
+Build-Depends:
asciidoctor <!stage1 !nodoc>,
bc <!stage1 !nocheck>,
bison,
@@ -406,10 +406,7 @@ Description: smart column output alignment library - headers
.
This package contains the development environment for the mount library.
-Package: libuuid1t64
-Provides: ${t64:Provides}
-Replaces: libuuid1
-Breaks: libuuid1 (<< ${source:Version})
+Package: libuuid1
Architecture: any
Section: libs
Priority: optional
@@ -418,6 +415,8 @@ Pre-Depends:
Depends:
${misc:Depends},
${shlibs:Depends}
+Provides:
+ libuuid1t64 [!armel !armhf !hppa !m68k !mips !mipsel !powerpc !sh4]
Recommends:
uuid-runtime
Multi-Arch: same
@@ -436,7 +435,7 @@ Build-Profiles: <!stage1>
Section: utils
Priority: optional
Pre-Depends:
- libuuid1t64,
+ libuuid1,
${misc:Pre-Depends}
Depends:
adduser,
@@ -480,7 +479,7 @@ Section: libdevel
Priority: optional
Depends:
libc6-dev | libc-dev,
- libuuid1t64 (= ${binary:Version}),
+ libuuid1 (= ${binary:Version}),
${misc:Depends}
Multi-Arch: same
Description: Universally Unique ID library - headers and static libraries
diff --git a/debian/libuuid1t64.install b/debian/libuuid1.install
index 76c1cf9..76c1cf9 100644
--- a/debian/libuuid1t64.install
+++ b/debian/libuuid1.install
diff --git a/debian/libuuid1.shlibs b/debian/libuuid1.shlibs
new file mode 100644
index 0000000..b050d60
--- /dev/null
+++ b/debian/libuuid1.shlibs
@@ -0,0 +1,2 @@
+libuuid 1 libuuid1 (>= 2.31)
+udeb: libuuid 1 libuuid1-udeb (>= 2.31)
diff --git a/debian/libuuid1t64.symbols b/debian/libuuid1.symbols
index d7d0f14..28eda2d 100644
--- a/debian/libuuid1t64.symbols
+++ b/debian/libuuid1.symbols
@@ -1,10 +1,11 @@
-libuuid.so.1 libuuid1t64 #MINVER#
+libuuid.so.1 libuuid1 #MINVER#
* Build-Depends-Package: uuid-dev
UUIDD_PRIVATE@UUIDD_PRIVATE 2.20.1
UUID_1.0@UUID_1.0 2.16
UUID_2.20@UUID_2.20 2.20.1
UUID_2.31@UUID_2.31 2.31.1
UUID_2.36@UUID_2.36 2.36
+ UUID_2.40@UUID_2.40 2.39.3-7~
__uuid_generate_random@UUIDD_PRIVATE 2.20.1
__uuid_generate_time@UUIDD_PRIVATE 2.20.1
__uuid_generate_time_cont@UUIDD_PRIVATE 2.38.1-2~
@@ -22,6 +23,7 @@ libuuid.so.1 libuuid1t64 #MINVER#
uuid_parse@UUID_1.0 2.16
uuid_parse_range@UUID_2.36 2.36
uuid_time@UUID_1.0 2.16
+ (arch=armel armhf hppa m68k mips mipsel powerpc sh4)uuid_time64@UUID_2.40 2.39.3-7~
uuid_type@UUID_1.0 2.16
uuid_unparse@UUID_1.0 2.16
uuid_unparse_lower@UUID_1.0 2.16
diff --git a/debian/libuuid1t64.lintian-overrides b/debian/libuuid1t64.lintian-overrides
deleted file mode 100644
index 624ce7b..0000000
--- a/debian/libuuid1t64.lintian-overrides
+++ /dev/null
@@ -1 +0,0 @@
-libuuid1t64: package-name-doesnt-match-sonames libuuid1
diff --git a/debian/libuuid1t64.shlibs b/debian/libuuid1t64.shlibs
deleted file mode 100644
index 30fc1ed..0000000
--- a/debian/libuuid1t64.shlibs
+++ /dev/null
@@ -1,2 +0,0 @@
-libuuid 1 libuuid1t64 (>= 2.31)
-udeb: libuuid 1 libuuid1t64-udeb (>= 2.31)
diff --git a/debian/patches/series b/debian/patches/series
index 79a5537..73a5741 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@ upstream/setarch-add-riscv64-riscv32-support.patch
upstream/cfdisk-fix-menu-behavior-after-writing-changes.patch
upstream/fincore-tests-also-use-nosize-error-file.patch
upstream/build-only-build-test_enosys-if-an-audit-arch-exists.patch
+upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch
diff --git a/debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch b/debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch
new file mode 100644
index 0000000..84a2a0e
--- /dev/null
+++ b/debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch
@@ -0,0 +1,129 @@
+From: Thorsten Kukuk <kukuk@suse.com>
+Date: Thu, 30 Nov 2023 16:28:53 +0100
+Subject: libuuid: Add uuid_time64 for 64bit time_t on 32bit
+
+Signed-off-by: Thorsten Kukuk <kukuk@suse.com>
+---
+ libuuid/src/libuuid.sym | 9 ++++++++
+ libuuid/src/uuid.h | 3 +++
+ libuuid/src/uuid_time.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 70 insertions(+), 1 deletion(-)
+
+diff --git a/libuuid/src/libuuid.sym b/libuuid/src/libuuid.sym
+index 96372a8..0f67ede 100644
+--- a/libuuid/src/libuuid.sym
++++ b/libuuid/src/libuuid.sym
+@@ -52,6 +52,15 @@ global:
+ uuid_parse_range;
+ } UUID_2.31;
+
++/*
++ * version(s) since util-linux.2.40
++ */
++UUID_2.40 {
++global:
++ uuid_time64; /* only on 32bit architectures with 64bit time_t */
++} UUID_2.36;
++
++
+
+ /*
+ * __uuid_* this is not part of the official API, this is
+diff --git a/libuuid/src/uuid.h b/libuuid/src/uuid.h
+index e791abf..2e3642c 100644
+--- a/libuuid/src/uuid.h
++++ b/libuuid/src/uuid.h
+@@ -109,6 +109,9 @@ extern void uuid_unparse_lower(const uuid_t uu, char *out);
+ extern void uuid_unparse_upper(const uuid_t uu, char *out);
+
+ /* uuid_time.c */
++#if defined(__USE_TIME_BITS64) && defined(__GLIBC__)
++# define uuid_time uuid_time64
++#endif
+ extern time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);
+ extern int uuid_type(const uuid_t uu);
+ extern int uuid_variant(const uuid_t uu);
+diff --git a/libuuid/src/uuid_time.c b/libuuid/src/uuid_time.c
+index 6f07d51..9b415b3 100644
+--- a/libuuid/src/uuid_time.c
++++ b/libuuid/src/uuid_time.c
+@@ -40,6 +40,7 @@
+ #define UUID MYUUID
+ #endif
+
++#include <errno.h>
+ #include <stdio.h>
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+@@ -53,7 +54,15 @@
+
+ #include "uuidP.h"
+
+-time_t uuid_time(const uuid_t uu, struct timeval *ret_tv)
++#undef uuid_time
++
++/* prototype to make compiler happy */
++time_t __uuid_time(const uuid_t uu, struct timeval *ret_tv);
++
++
++/* this function could be 32bit time_t and 32bit timeval or 64bit,
++ depending on compiler flags and architecture. */
++time_t __uuid_time(const uuid_t uu, struct timeval *ret_tv)
+ {
+ struct timeval tv;
+ struct uuid uuid;
+@@ -74,6 +83,54 @@ time_t uuid_time(const uuid_t uu, struct timeval *ret_tv)
+
+ return tv.tv_sec;
+ }
++#if defined(__USE_TIME_BITS64) && defined(__GLIBC__)
++extern time_t uuid_time64(const uuid_t uu, struct timeval *ret_tv) __attribute__((weak, alias("__uuid_time")));
++#else
++extern time_t uuid_time(const uuid_t uu, struct timeval *ret_tv) __attribute__((weak, alias("__uuid_time")));
++#endif
++
++#if defined(__USE_TIME_BITS64) && defined(__GLIBC__)
++struct timeval32
++{
++ int32_t tv_sec;
++ int32_t tv_usec;
++};
++
++/* prototype to make compiler happy */
++int32_t __uuid_time32(const uuid_t uu, struct timeval32 *ret_tv);
++
++/* Check whether time fits in 32bit time_t. */
++static inline int
++in_time32_t_range(time_t t)
++{
++ int32_t s;
++
++ s = t;
++
++ return s == t;
++}
++
++int32_t __uuid_time32(const uuid_t uu, struct timeval32 *ret_tv)
++{
++ struct timeval tv;
++ time_t ret_time = __uuid_time(uu, &tv);
++
++ if (! in_time32_t_range(ret_time)) {
++ ret_tv->tv_sec = -1;
++ ret_tv->tv_usec = -1;
++ errno = EOVERFLOW;
++ return -1;
++ }
++
++ if (ret_tv) {
++ ret_tv->tv_sec = tv.tv_sec;
++ ret_tv->tv_usec = tv.tv_usec;
++ }
++
++ return tv.tv_sec;
++}
++extern int32_t uuid_time(const uuid_t uu, struct timeval32 *ret_tv) __attribute__((weak, alias("__uuid_time32")));
++#endif
+
+ int uuid_type(const uuid_t uu)
+ {