[Pkg-freeipa-devel] [Git][freeipa-team/389-ds-base][master] 3 commits: d/p/fix-32bit-largefile-build.diff: fix 32-bit Linux build by dropping legacy LFS libdb overrides

Timo Aaltonen (@tjaalton) gitlab at salsa.debian.org
Wed Sep 16 05:16:28 BST 2026



Timo Aaltonen pushed to branch master at FreeIPA packaging / 389-ds-base


Commits:
5d0c3d5d by Ujjwal Sarswat at 2026-09-16T07:31:22+05:30
d/p/fix-32bit-largefile-build.diff: fix 32-bit Linux build by dropping legacy LFS libdb overrides

- - - - -
49fcea46 by Ujjwal Sarswat at 2026-09-16T07:31:22+05:30
d/p/fix-dyncerts-ber-len-t-32bit.diff: fix 32-bit build failure in dyncerts (ber_len_t vs size_t)

- - - - -
4d2af3af by Ujjwal Sarswat at 2026-09-16T07:31:22+05:30
changelog

- - - - -


4 changed files:

- debian/changelog
- + debian/patches/fix-32bit-largefile-build.diff
- + debian/patches/fix-dyncerts-ber-len-t-32bit.diff
- debian/patches/series


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,12 @@
+389-ds-base (3.3.1-3) unstable; urgency=medium
+
+  * d/p/fix-32bit-largefile-build.diff: fix 32-bit Linux build by
+    dropping legacy LFS libdb overrides
+  * d/p/fix-dyncerts-ber-len-t-32bit.diff: fix 32-bit build failure
+    in dyncerts (ber_len_t vs size_t)
+
+ -- Ujjwal Sarswat <ujjwal.sarswat at canonical.com>  Fri, 11 Sep 2026 11:03:52 +0530
+
 389-ds-base (3.3.1-2) unstable; urgency=medium
 
   [ Ujjwal Sarswat ]


=====================================
debian/patches/fix-32bit-largefile-build.diff
=====================================
@@ -0,0 +1,32 @@
+Description: Fix 32-bit Linux build by dropping legacy LFS libdb overrides
+ Skip the DB_USE_64LFS libdb file-operation overrides on Linux: with
+ -D_FILE_OFFSET_BITS=64 the plain calls and off_t are already 64-bit, and
+ the legacy *64() transition API (open64, lseek64, fstat64, stat64)
+ clashes with the 64-bit time_t transition (-D_TIME_BITS=64), breaking
+ the armhf build with implicit-declaration errors on db_env_set_func_*.
+ No-op on 64-bit architectures, where DB_USE_64LFS was never defined.
+Author: Ujjwal Sarswat <ujjwal.sarswat at canonical.com>
+Forwarded: no
+Last-Update: 2026-09-09
+--- a/ldap/servers/slapd/back-ldbm/back-ldbm.h
++++ b/ldap/servers/slapd/back-ldbm/back-ldbm.h
+@@ -16,10 +16,16 @@
+ #ifndef _BACK_LDBM_H_
+ #define _BACK_LDBM_H_
+ 
+-#if defined(HPUX11) || defined(OS_solaris) || defined(linux)
+-/* built-in 64-bit file I/O support */
++#if defined(HPUX11) || defined(OS_solaris)
++/*
++ * Built-in 64-bit file I/O support.  Only enable the explicit *64()
++ * transition API (open64, lseek64, fstat64, stat64, ...) on platforms
++ * that may still need it.  On Linux, glibc >= 2.28 always provides the
++ * 64-bit interfaces, and building with -D_FILE_OFFSET_BITS=64 makes the
++ * plain calls 64-bit wide automatically, so no libdb function override
++ * is required on either 32-bit or 64-bit architectures.
++ */
+ #if ! defined(__LP64__)
+-/* But not on 64-bit arch: It is needless and build fails since gcc 13.2.1-4 */
+ #define DB_USE_64LFS
+ #endif
+ #endif


=====================================
debian/patches/fix-dyncerts-ber-len-t-32bit.diff
=====================================
@@ -0,0 +1,20 @@
+Description: Fix 32-bit build failure in dyncerts (ber_len_t vs size_t)
+ walk_subject_alt_names() passes a size_t * to ber_first_element() and
+ ber_next_element(), which take ber_len_t *. On 64-bit both types match,
+ but on 32-bit architectures ber_len_t is unsigned long while
+ size_t is unsigned int, so the build fails with incompatible-pointer-type
+ errors. Use ber_len_t like the rest of the codebase does.
+Author: Ujjwal Sarswat <ujjwal.sarswat at canonical.com>
+Forwarded: no
+Last-Update: 2026-09-09
+--- a/ldap/servers/slapd/dyncerts.c
++++ b/ldap/servers/slapd/dyncerts.c
+@@ -659,7 +659,7 @@ walk_subject_alt_names(BerValue *bv, gnw
+ {
+     BerElement *ber = ber_init(bv);
+     char *cookie = NULL;
+-    size_t len = 0;
++    ber_len_t len = 0;
+     ber_tag_t tag = 0;
+     /* The subject alternate name supported encoding table */
+     ber_tag_t (*sanset[])(BerElement*, general_name_value_t*) = {


=====================================
debian/patches/series
=====================================
@@ -3,3 +3,5 @@ fix-saslpath.diff
 #allow-newer-crates.diff
 #base64.diff
 dont-lock-cargo.diff
+fix-32bit-largefile-build.diff
+fix-dyncerts-ber-len-t-32bit.diff



View it on GitLab: https://salsa.debian.org/freeipa-team/389-ds-base/-/compare/413ea783a120e7740565c281b20b01dbf5931df1...4d2af3af9faed08bd71928e7281af4c19d776709

-- 
View it on GitLab: https://salsa.debian.org/freeipa-team/389-ds-base/-/compare/413ea783a120e7740565c281b20b01dbf5931df1...4d2af3af9faed08bd71928e7281af4c19d776709
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-freeipa-devel/attachments/20260916/73e13a2a/attachment-0001.htm>


More information about the Pkg-freeipa-devel mailing list