xref: /OK3568_Linux_fs/buildroot/package/zip/0005-unix-configure-remove-GID-UID-size-check.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFrom d8da4e5f0ebed000f880e60b6cca7c575f7ed1c7 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Romain Naour <romain.naour@openwide.fr>
3*4882a593SmuzhiyunDate: Fri, 23 Jan 2015 22:13:14 +0100
4*4882a593SmuzhiyunSubject: [PATCH 5/6] unix/configure: remove GID/UID size check
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunThis check can't work for cross-compilation since it
7*4882a593Smuzhiyuntry to run a target's binary on the host system.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunReported-by: Richard Genoud <richard.genoud@gmail.com>
10*4882a593SmuzhiyunSigned-off-by: Romain Naour <romain.naour@openwide.fr>
11*4882a593Smuzhiyun---
12*4882a593Smuzhiyun unix/configure | 57 ---------------------------------------------------------
13*4882a593Smuzhiyun 1 file changed, 57 deletions(-)
14*4882a593Smuzhiyun
15*4882a593Smuzhiyundiff --git a/unix/configure b/unix/configure
16*4882a593Smuzhiyunindex de9fd68..7bfc9eb 100644
17*4882a593Smuzhiyun--- a/unix/configure
18*4882a593Smuzhiyun+++ b/unix/configure
19*4882a593Smuzhiyun@@ -237,63 +237,6 @@ _EOF_
20*4882a593Smuzhiyun $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
21*4882a593Smuzhiyun [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_OFF_T"
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun-
24*4882a593Smuzhiyun-echo Check size of UIDs and GIDs
25*4882a593Smuzhiyun-echo "(Now zip stores variable size UIDs/GIDs using a new extra field.  This"
26*4882a593Smuzhiyun-echo " tests if this OS uses 16-bit UIDs/GIDs and so if the old 16-bit storage"
27*4882a593Smuzhiyun-echo " should also be used for backward compatibility.)"
28*4882a593Smuzhiyun-# Added 2008-04-15 CS
29*4882a593Smuzhiyun-cat > conftest.c << _EOF_
30*4882a593Smuzhiyun-# define _LARGEFILE_SOURCE          /* some OSes need this for fseeko */
31*4882a593Smuzhiyun-# define _LARGEFILE64_SOURCE
32*4882a593Smuzhiyun-# define _FILE_OFFSET_BITS 64       /* select default interface as 64 bit */
33*4882a593Smuzhiyun-# define _LARGE_FILES               /* some OSes need this for 64-bit off_t */
34*4882a593Smuzhiyun-#include <sys/types.h>
35*4882a593Smuzhiyun-#include <sys/stat.h>
36*4882a593Smuzhiyun-#include <unistd.h>
37*4882a593Smuzhiyun-#include <stdio.h>
38*4882a593Smuzhiyun-int main()
39*4882a593Smuzhiyun-{
40*4882a593Smuzhiyun-  struct stat s;
41*4882a593Smuzhiyun-
42*4882a593Smuzhiyun-  printf("  s.st_uid is %u bytes\n", sizeof(s.st_uid));
43*4882a593Smuzhiyun-  printf("  s.st_gid is %u bytes\n", sizeof(s.st_gid));
44*4882a593Smuzhiyun-
45*4882a593Smuzhiyun-  /* see if have 16-bit UID */
46*4882a593Smuzhiyun-  if (sizeof(s.st_uid) != 2) {
47*4882a593Smuzhiyun-    return 1;
48*4882a593Smuzhiyun-  }
49*4882a593Smuzhiyun-  /* see if have 16-bit GID */
50*4882a593Smuzhiyun-  if (sizeof(s.st_gid) != 2) {
51*4882a593Smuzhiyun-    return 2;
52*4882a593Smuzhiyun-  }
53*4882a593Smuzhiyun-  return 3;
54*4882a593Smuzhiyun-}
55*4882a593Smuzhiyun-_EOF_
56*4882a593Smuzhiyun-# compile it
57*4882a593Smuzhiyun-$CC -o conftest conftest.c >/dev/null 2>/dev/null
58*4882a593Smuzhiyun-if [ $? -ne 0 ]; then
59*4882a593Smuzhiyun-  echo -- UID/GID test failed on compile - disabling old 16-bit UID/GID support
60*4882a593Smuzhiyun-  CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
61*4882a593Smuzhiyun-else
62*4882a593Smuzhiyun-# run it
63*4882a593Smuzhiyun-  ./conftest
64*4882a593Smuzhiyun-  r=$?
65*4882a593Smuzhiyun-  if [ $r -eq 1 ]; then
66*4882a593Smuzhiyun-    echo -- UID not 2 bytes - disabling old 16-bit UID/GID support
67*4882a593Smuzhiyun-    CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
68*4882a593Smuzhiyun-  elif [ $r -eq 2 ]; then
69*4882a593Smuzhiyun-    echo -- GID not 2 bytes - disabling old 16-bit UID/GID support
70*4882a593Smuzhiyun-    CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
71*4882a593Smuzhiyun-  elif [ $r -eq 3 ]; then
72*4882a593Smuzhiyun-    echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
73*4882a593Smuzhiyun-  else
74*4882a593Smuzhiyun-    echo -- test failed - conftest returned $r - disabling old 16-bit UID/GID support
75*4882a593Smuzhiyun-    CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
76*4882a593Smuzhiyun-  fi
77*4882a593Smuzhiyun-fi
78*4882a593Smuzhiyun-
79*4882a593Smuzhiyun-
80*4882a593Smuzhiyun # Now we set the 64-bit file environment and check the size of off_t
81*4882a593Smuzhiyun # Added 11/4/2003 EG
82*4882a593Smuzhiyun # Revised 8/12/2004 EG
83*4882a593Smuzhiyun--
84*4882a593Smuzhiyun1.9.3
85*4882a593Smuzhiyun
86