[Pkg-shadow-devel] Bug#816223: shadow: Allow crossbuilding

Samuel Thibault sthibault at debian.org
Sun Feb 28 21:10:46 UTC 2016


Source: shadow
Version: 1:4.2-3.1
Severity: normal
Tags: patch

Hello,

Cross-building shadow almost works, the only issue is that configure
uses a runtime test for the sizes of uid_t and gid_t. The attached patch
replaces that by a build-time test.

Samuel

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.0 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-- 
Samuel
Anyone who thinks UNIX is intuitive should be forced to write 5000 lines of 
code using nothing but vi or emacs. AAAAACK!
(Discussion in comp.os.linux.misc on the intuitiveness of commands, especially
Emacs.)
-------------- next part --------------
--- configure.in.original	2016-02-28 21:51:24.762395274 +0100
+++ configure.in	2016-02-28 22:05:07.217337130 +0100
@@ -332,19 +332,10 @@
 AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test "x$enable_man" != "xno")
 
 if test "$enable_subids" != "no"; then
-	dnl
-	dnl FIXME: check if 32 bit UIDs/GIDs are supported by libc
-	dnl
-	AC_RUN_IFELSE([AC_LANG_SOURCE([
-#include <sys/types.h>
-int main(void) {
-	uid_t u;
-	gid_t g;
-	return (sizeof u < 4) || (sizeof g < 4);
-}
-	])], [id32bit="yes"], [id32bit="no"])
+	AC_CHECK_SIZEOF(uid_t, ,)
+	AC_CHECK_SIZEOF(gid_t, ,)
 
-	if test "x$id32bit" = "xyes"; then
+	if test "$ac_cv_sizeof_uid_t" -ge 4 -o "$ac_cv_sizeof_gid_t" -ge 4; then
 		AC_DEFINE(ENABLE_SUBIDS, 1, [Define to support the subordinate IDs.])
 		enable_subids="yes"
 	else


More information about the Pkg-shadow-devel mailing list