openpkg/rpm.patch.porting

changeset 430
9b4bbbae3a98
parent 429
b363f8ef6dcb
child 431
127559aa0c5e
     1.1 --- a/openpkg/rpm.patch.porting	Tue Jul 31 12:27:54 2012 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,1539 +0,0 @@
     1.4 -##
     1.5 -##  rpm.patch.porting -- Annotated OpenPKG RPM Patch file
     1.6 -##  Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/>
     1.7 -##  Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/>
     1.8 -##
     1.9 -##  This file assembles changes to existing RPM source files between
    1.10 -##  the original RedHat RPM and the OpenPKG RPM variant. It can be
    1.11 -##  automatically applied to a vanilla RedHat RPM source tree with the
    1.12 -##  'patch' tool to upgrade those files. Each patch snippet is annotated
    1.13 -##  with a short description.
    1.14 -##
    1.15 -##  Created on: 13-Sep-2006
    1.16 -##
    1.17 -##  ATTENTION: THIS PATCH FILE WAS AUTO-GENERATED FROM AN OPENPKG
    1.18 -##             RPM CVS REPOSITORY, HENCE DO NOT EDIT THIS FILE.
    1.19 -##
    1.20 -
    1.21 -+---------------------------------------------------------------------------
    1.22 -| Evil hack to get GNU libtool working under NetBSD 1.6
    1.23 -| with the ugly way RPM currently has to use it.
    1.24 -+---------------------------------------------------------------------------
    1.25 -Index: ltconfig
    1.26 ---- ltconfig	17 Jan 2001 16:22:58 -0000	1.1.1.7
    1.27 -+++ ltconfig	29 Apr 2004 13:07:28 -0000	1.4
    1.28 -@@ -2017,6 +2017,7 @@
    1.29 -     dynamic_linker='NetBSD ld.elf_so'
    1.30 -   fi
    1.31 -   shlibpath_var=LD_LIBRARY_PATH
    1.32 -+  deplibs_check_method=pass_all
    1.33 -   ;;
    1.34 - 
    1.35 - openbsd*)
    1.36 -
    1.37 -+---------------------------------------------------------------------------
    1.38 -| Disable special RedHat NPTL handling.
    1.39 -+---------------------------------------------------------------------------
    1.40 -Index: configure.ac
    1.41 ---- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
    1.42 -+++ configure.ac	13 Sep 2006 13:40:20 -0000
    1.43 -@@ -151,10 +151,10 @@
    1.44 - dnl XXX Test for libpthread.a that is NPTL aware (static link only).
    1.45 - dnl
    1.46 - LDFLAGS_NPTL=
    1.47 --if test -f /usr/lib/nptl/libpthread.a ; then
    1.48 --    LDFLAGS_NPTL="-L/usr/lib/nptl"
    1.49 --#    INCPATH="$INCPATH -I/usr/include/nptl"
    1.50 --fi
    1.51 -+dnl if test -f /usr/lib/nptl/libpthread.a ; then
    1.52 -+dnl     LDFLAGS_NPTL="-L/usr/lib/nptl"
    1.53 -+dnl #    INCPATH="$INCPATH -I/usr/include/nptl"
    1.54 -+dnl fi
    1.55 - AC_SUBST(LDFLAGS_NPTL)
    1.56 - 
    1.57 - dnl
    1.58 -
    1.59 -+---------------------------------------------------------------------------
    1.60 -| Disable any POSIX Pthread stuff because in OpenPKG we use
    1.61 -| non-Pthread mutexes in Berkeley-DB.
    1.62 -+---------------------------------------------------------------------------
    1.63 -Index: configure.ac
    1.64 ---- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
    1.65 -+++ configure.ac	13 Sep 2006 13:40:21 -0000
    1.66 -@@ -447,14 +447,17 @@
    1.67 -     AC_CHECK_LIB(socket, socket)
    1.68 - ])
    1.69 - 
    1.70 --AC_CHECK_HEADERS(thread.h pthread.h synch.h semaphore.h)
    1.71 -+dnl # required for HP-UX because of RPC stuff in DB
    1.72 -+AC_CHECK_LIB(nsl, svc_run)
    1.73 - 
    1.74 --AC_CHECK_LIB(pthread, pthread_mutex_trylock, [], [
    1.75 --  dnl OSF 5.0 has the the symbols prefixed with __ in libpthread.
    1.76 --  AC_CHECK_LIB(pthread, __pthread_mutex_trylock, [], [
    1.77 --    AC_CHECK_LIB(thread, mutex_lock)
    1.78 --  ])
    1.79 --])
    1.80 -+dnl AC_CHECK_HEADERS(thread.h pthread.h synch.h semaphore.h)
    1.81 -+dnl 
    1.82 -+dnl AC_CHECK_LIB(pthread, pthread_mutex_trylock, [], [
    1.83 -+dnl   dnl OSF 5.0 has the the symbols prefixed with __ in libpthread.
    1.84 -+dnl   AC_CHECK_LIB(pthread, __pthread_mutex_trylock, [], [
    1.85 -+dnl     AC_CHECK_LIB(thread, mutex_lock)
    1.86 -+dnl   ])
    1.87 -+dnl ])
    1.88 - 
    1.89 - AC_CHECK_HEADERS(aio.h)
    1.90 - AC_SEARCH_LIBS(aio_read, [c rt aio posix4])
    1.91 -
    1.92 -+---------------------------------------------------------------------------
    1.93 -| Add support for BSD getmntinfo(3).
    1.94 -+---------------------------------------------------------------------------
    1.95 -Index: configure.ac
    1.96 ---- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
    1.97 -+++ configure.ac	13 Sep 2006 13:40:23 -0000
    1.98 -@@ -967,12 +967,13 @@
    1.99 - AC_CHECK_FUNCS(getpassphrase)
   1.100 - 
   1.101 - AC_CHECK_FUNC(getmntent, AC_DEFINE(HAVE_GETMNTENT, 1, [Define if you have the getmntent() function]), [
   1.102 -+ AC_CHECK_FUNC(getmntinfo, AC_DEFINE(HAVE_GETMNTINFO, 1, [Define as 1 if you have the getmntinfo() function]), [
   1.103 -   AC_CHECK_FUNC(mntctl, AC_DEFINE(HAVE_MNTCTL, 1, [Define as 1 if you have mntctl() (only aix?)]),[
   1.104 -     AC_CHECK_FUNC(getmntinfo_r, AC_DEFINE(HAVE_GETMNTINFO_R, 1, [Define as 1 if you have getmntinfo_r() (only osf?)]), [
   1.105 -       AC_CHECK_LIB(c_r, getmntinfo_r, [LIBS="$LIBS -lc_r"; 
   1.106 - 					AC_DEFINE(HAVE_GETMNTINFO_R, 1, [Define as 1 if you have getmntinfo_r() (only osf?)])], [
   1.107 - 		 AC_DEFINE([USE_GETMNTENT], 1, [Defined if getmntent replacement is used])
   1.108 --                 AC_LIBOBJ(getmntent)])])])])
   1.109 -+                 AC_LIBOBJ(getmntent)])])])])])
   1.110 - 
   1.111 - AC_CHECK_FUNC(lchown,
   1.112 -    [__CHOWN_RHF="%{__chown} -Rhf"
   1.113 -
   1.114 -+---------------------------------------------------------------------------
   1.115 -| Remove RPM's "lib64" hack because we do not install
   1.116 -| into any system locations at all.
   1.117 -+---------------------------------------------------------------------------
   1.118 -Index: configure.ac
   1.119 ---- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
   1.120 -+++ configure.ac	13 Sep 2006 13:40:25 -0000
   1.121 -@@ -1146,9 +1146,6 @@
   1.122 - 
   1.123 - dnl XXX Choose /usr/lib or /usr/lib64 for library installs.
   1.124 - MARK64=
   1.125 --case "${target_cpu}" in
   1.126 --x86_64*|ppc64*|powerpc64*|sparc64*|s390x*)	MARK64=64 ;;
   1.127 --esac
   1.128 - AC_SUBST(MARK64)
   1.129 - 
   1.130 - dnl Determine the canonical arch-vendor-os for the build machine
   1.131 -
   1.132 -+---------------------------------------------------------------------------
   1.133 -| Provide fallback definitions for uintX_t stuff, which is used by
   1.134 -| build/rpmfile.h and not available on all platforms. We do this by
   1.135 -| adding the same Autoconf checks file/configure already used for its
   1.136 -| original file.h.
   1.137 -| Additionally, do not try to configure in an internal
   1.138 -| beecrypt subdirectory.
   1.139 -+---------------------------------------------------------------------------
   1.140 -Index: configure.ac
   1.141 ---- configure.ac	2 Jul 2003 19:20:52 -0000	1.1.1.4
   1.142 -+++ configure.ac	13 Sep 2006 13:40:29 -0000
   1.143 -@@ -1251,11 +1251,40 @@
   1.144 - 
   1.145 - AC_SUBST(OBJDUMP)
   1.146 - 
   1.147 -+dnl OpenPKG: rpmfile.h (used in RPM) from file(1) needs additional checks
   1.148 -+dnl for its use of uintXX_t (which are available in file/config.h, but which
   1.149 -+dnl we cannot include into RPM because of conflicts with RPM's config.h)
   1.150 -+AC_DEFUN([AC_CHECK_TYPE_STDC],
   1.151 -+[AC_REQUIRE([AC_HEADER_STDC])dnl
   1.152 -+AC_MSG_CHECKING(for $1)
   1.153 -+AC_CACHE_VAL(ac_cv_type_$1,
   1.154 -+[AC_EGREP_CPP(dnl
   1.155 -+[(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]],
   1.156 -+[#if HAVE_STDINT_H
   1.157 -+#include <stdint.h>
   1.158 -+#endif
   1.159 -+#include <sys/types.h>
   1.160 -+#if STDC_HEADERS
   1.161 -+#include <stdlib.h>
   1.162 -+#include <stddef.h>
   1.163 -+#endif], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
   1.164 -+AC_MSG_RESULT($ac_cv_type_$1)
   1.165 -+if test $ac_cv_type_$1 = no; then
   1.166 -+  AC_DEFINE($1, $2, $1)
   1.167 -+fi])
   1.168 -+AC_CHECK_TYPE_STDC(uint8_t,  unsigned char)
   1.169 -+AC_CHECK_TYPE_STDC(uint16_t, unsigned short)
   1.170 -+AC_CHECK_TYPE_STDC(uint32_t, unsigned int)
   1.171 -+
   1.172 -+dnl OpenPKG: some strange platforms (like Unixware) really have MADV_XXX
   1.173 -+dnl but no madvise(2) function itself, so check for madvise explicitly.
   1.174 -+AC_CHECK_FUNC(madvise)
   1.175 -+
   1.176 - dnl XXX this causes popt to depend on zlib et al
   1.177 - dnl # XXX Propagate -lucb to popt ...
   1.178 - dnl export LIBS INCPATH CONFIG_SITE
   1.179 - 
   1.180 --AC_CONFIG_SUBDIRS(popt beecrypt zlib elfutils file db3)
   1.181 -+AC_CONFIG_SUBDIRS(popt zlib elfutils file db3)
   1.182 - 
   1.183 - AC_OUTPUT([ Doxyfile Makefile rpmrc macros platform rpmpopt rpm.spec
   1.184 - 	rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
   1.185 -
   1.186 -+---------------------------------------------------------------------------
   1.187 -| Remove RPM's "lib64" hack because we do not install
   1.188 -| into any system locations at all.
   1.189 -+---------------------------------------------------------------------------
   1.190 -Index: popt/configure.ac
   1.191 ---- popt/configure.ac	27 Mar 2003 17:23:18 -0000	1.1.1.3
   1.192 -+++ popt/configure.ac	12 May 2004 14:34:35 -0000	1.2
   1.193 -@@ -53,9 +53,6 @@
   1.194 - 
   1.195 - dnl XXX Choose /usr/lib or /usr/lib64 for library installs.
   1.196 - MARK64=
   1.197 --case "${target_cpu}" in
   1.198 --x86_64*|powerpc64*|ppc64*|sparc64*|s390x*)        MARK64=64 ;;
   1.199 --esac
   1.200 - AC_SUBST(MARK64)
   1.201 - 
   1.202 - AC_CHECK_HEADERS(alloca.h float.h libintl.h mcheck.h unistd.h)
   1.203 -
   1.204 -+---------------------------------------------------------------------------
   1.205 -| Prevent (at least NetBSD's) gcc 2.95 from optimizing (at least sha1.c)
   1.206 -| and this way run into a resource (virtual memory) exhaustion situation.
   1.207 -| Not all Bourne-Shells support embedded TAB characters in
   1.208 -| here-document style constructs. Insert the TAB character indirectly
   1.209 -| to workaround problems.
   1.210 -| Additionally, there is no need to build a shared library version of
   1.211 -| Berkeley-DB.
   1.212 -| Finally, enforce the use of the standard UNIX/fcntl mutex type for
   1.213 -| full portability and to get rid of Pthread library dependencies
   1.214 -| (which especially are nasty for the external RPM API users).
   1.215 -+---------------------------------------------------------------------------
   1.216 -Index: db3/configure
   1.217 ---- db3/configure	18 Jan 2003 14:04:22 -0000	1.1.1.4
   1.218 -+++ db3/configure	6 Jun 2005 15:53:05 -0000	1.3
   1.219 -@@ -7,19 +7,29 @@
   1.220 - # XXX edit CFLAGS= ... out of invocation args ???
   1.221 - ARGS="`echo $* | sed -e 's% [^ ]*CFLAGS=[^ ]*%%' -e 's% -[^-][^ ]*%%g' -e 's%--cache-file=.*$%%'`"
   1.222 - 
   1.223 -+# prevent gcc 2.95 from optimizing (at least sha1.c)
   1.224 -+# and this way get into a resource exhaustion situation
   1.225 -+if [ ".`($CC -v; $CC --version) </dev/null 2>&1 | grep -i 'gcc'`" != . ]; then
   1.226 -+    case "`$CC -dumpversion 2>/dev/null`" in
   1.227 -+        3.* ) ;;
   1.228 -+        *   ) CFLAGS=`echo " $CFLAGS -O0" | sed -e 's; -O[0-9]* ; ;g' -e 's;^  *;;'` ;;
   1.229 -+    esac
   1.230 -+fi
   1.231 -+
   1.232 - CC="$CC" CFLAGS="$CFLAGS" $db_dist/configure $ARGS \
   1.233 --	--enable-shared --enable-static --enable-rpc \
   1.234 --	--with-uniquename=_rpmdb --srcdir=$db_dist
   1.235 -+	--disable-shared --enable-static --enable-rpc \
   1.236 -+	--with-uniquename=_rpmdb --srcdir=$db_dist \
   1.237 -+	--with-mutex="UNIX/fcntl" --disable-largefile
   1.238 - 
   1.239 - mv Makefile Makefile.orig
   1.240 - cat Makefile.orig | sed -e '/^install[:-]/c\
   1.241 - .PHONY: listobjs\
   1.242 - listobjs:\
   1.243 --	@echo $(OBJS) $(C_OBJS) \
   1.244 -+~@echo $(OBJS) $(C_OBJS) \
   1.245 - \
   1.246 - distdir install check:\
   1.247 - \
   1.248 --db4_install: all install_setip' > Makefile
   1.249 -+db4_install: all install_setip' | tr '~' '	' > Makefile
   1.250 - 
   1.251 - mv db.h db.h.orig
   1.252 - cat db.h.orig | sed \
   1.253 -
   1.254 -+---------------------------------------------------------------------------
   1.255 -| Add support for BSD getmntinfo(3).
   1.256 -+---------------------------------------------------------------------------
   1.257 -Index: lib/fs.c
   1.258 ---- lib/fs.c	4 Jun 2003 18:09:43 -0000	1.1.1.13
   1.259 -+++ lib/fs.c	25 Nov 2004 09:32:16 -0000	1.3
   1.260 -@@ -164,6 +164,15 @@
   1.261 -     int nextMount = 0;
   1.262 - 
   1.263 - 	getmntinfo_r(&mounts, flags, &mntCount, &bufSize);
   1.264 -+#   elif HAVE_GETMNTINFO
   1.265 -+#   if defined(__NetBSD__) && (__NetBSD_Version__ > 200030000)
   1.266 -+#   define statfs statvfs
   1.267 -+#   endif
   1.268 -+    struct statfs * mounts = NULL;
   1.269 -+    int mntCount, flags = MNT_NOWAIT;
   1.270 -+    int nextMount = 0;
   1.271 -+
   1.272 -+	mntCount = getmntinfo(&mounts, flags);
   1.273 - #   endif
   1.274 - 
   1.275 -     filesystems = xcalloc((numAlloced + 1), sizeof(*filesystems));	/* XXX memory leak */
   1.276 -@@ -193,6 +202,9 @@
   1.277 - #	elif HAVE_GETMNTINFO_R
   1.278 - 	    if (nextMount == mntCount) break;
   1.279 - 	    mntdir = mounts[nextMount++].f_mntonname;
   1.280 -+#	elif HAVE_GETMNTINFO
   1.281 -+	    if (nextMount == mntCount) break;
   1.282 -+	    mntdir = mounts[nextMount++].f_mntonname;
   1.283 - #	endif
   1.284 - 
   1.285 - 	if (stat(mntdir, &sb)) {
   1.286 -
   1.287 -+---------------------------------------------------------------------------
   1.288 -| Add support for Compaq/HP OSF1/Tru64.
   1.289 -+---------------------------------------------------------------------------
   1.290 -Index: misc/fnmatch.h
   1.291 ---- misc/fnmatch.h	22 Feb 2002 17:12:15 -0000	1.1.1.3
   1.292 -+++ misc/fnmatch.h	22 Jan 2004 21:42:26 -0000	1.2
   1.293 -@@ -55,7 +55,7 @@
   1.294 - #define	FNM_NOESCAPE	(1 << 1) /* Backslashes don't quote special chars.  */
   1.295 - #define	FNM_PERIOD	(1 << 2) /* Leading `.' is matched only explicitly.  */
   1.296 - 
   1.297 --#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
   1.298 -+#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE || defined __osf__
   1.299 - # define FNM_FILE_NAME	 FNM_PATHNAME	/* Preferred GNU name.  */
   1.300 - # define FNM_LEADING_DIR (1 << 3)	/* Ignore `/...' after a match.  */
   1.301 - # define FNM_CASEFOLD	 (1 << 4)	/* Compare without regard to case.  */
   1.302 -
   1.303 -+---------------------------------------------------------------------------
   1.304 -| Use more correct Autoconf based size_t check.
   1.305 -| Add support for Compaq/HP OSF1/Tru64 and SCO UnixWare.
   1.306 -+---------------------------------------------------------------------------
   1.307 -Index: misc/glob.h
   1.308 ---- misc/glob.h	11 Mar 2000 20:59:30 -0000	1.1.1.3
   1.309 -+++ misc/glob.h	22 Jan 2004 21:42:27 -0000	1.2
   1.310 -@@ -46,7 +46,7 @@
   1.311 - #endif /* C++ or ANSI C.  */
   1.312 - 
   1.313 - /* We need `size_t' for the following definitions.  */
   1.314 --#ifndef __size_t
   1.315 -+#if !defined(__size_t) && !defined(_SIZE_T_DECLARED)
   1.316 - # if defined __GNUC__ && __GNUC__ >= 2
   1.317 - typedef __SIZE_TYPE__ __size_t;
   1.318 - #  ifdef _XOPEN_SOURCE
   1.319 -@@ -74,7 +74,7 @@
   1.320 - #define	GLOB_PERIOD	(1 << 7)/* Leading `.' can be matched by metachars.  */
   1.321 - 
   1.322 - #if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE \
   1.323 --     || defined _GNU_SOURCE)
   1.324 -+     || defined _GNU_SOURCE || defined __osf__ )
   1.325 - # define GLOB_MAGCHAR	 (1 << 8)/* Set in gl_flags if any metachars seen.  */
   1.326 - # define GLOB_ALTDIRFUNC (1 << 9)/* Use gl_opendir et al functions.  */
   1.327 - # define GLOB_BRACE	 (1 << 10)/* Expand "{a,b}" to "a" "b".  */
   1.328 -@@ -151,7 +151,8 @@
   1.329 -    `glob' returns GLOB_ABEND; if it returns zero, the error is ignored.
   1.330 -    If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
   1.331 -    Otherwise, `glob' returns zero.  */
   1.332 --#if _FILE_OFFSET_BITS != 64
   1.333 -+/* #if _FILE_OFFSET_BITS != 64 || defined(OPENPKG_UNIXWARE) */
   1.334 -+#if !defined(__linux__)
   1.335 - extern int glob __P ((__const char *__pattern, int __flags,
   1.336 - 		      int (*__errfunc) (__const char *, int),
   1.337 - 		      glob_t *__pglob));
   1.338 -
   1.339 -+---------------------------------------------------------------------------
   1.340 -| Better portability.
   1.341 -+---------------------------------------------------------------------------
   1.342 -Index: misc/glob.c
   1.343 ---- misc/glob.c	11 Mar 2000 21:13:18 -0000	1.1.1.4
   1.344 -+++ misc/glob.c	22 Jan 2004 21:42:26 -0000	1.2
   1.345 -@@ -813,6 +813,7 @@
   1.346 - 
   1.347 - 
   1.348 - /* Free storage allocated in PGLOB by a previous `glob' call.  */
   1.349 -+#if !defined(__linux__) || (defined(__linux__) && (_FILE_OFFSET_BITS != 64) || (__GNUC__ >= 2))
   1.350 - void
   1.351 - globfree (pglob)
   1.352 -      register glob_t *pglob;
   1.353 -@@ -826,7 +827,7 @@
   1.354 -       free ((__ptr_t) pglob->gl_pathv);
   1.355 -     }
   1.356 - }
   1.357 --
   1.358 -+#endif
   1.359 - 
   1.360 - /* Do a collated comparison of A and B.  */
   1.361 - static int
   1.362 -
   1.363 -+---------------------------------------------------------------------------
   1.364 -| Add libmisc.a for platform portability.
   1.365 -+---------------------------------------------------------------------------
   1.366 -Index: tools/Makefile.am
   1.367 ---- tools/Makefile.am	29 May 2003 17:40:17 -0000	1.1.1.14
   1.368 -+++ tools/Makefile.am	22 Jan 2004 21:42:34 -0000	1.2
   1.369 -@@ -22,7 +22,7 @@
   1.370 - 
   1.371 - LDADD = \
   1.372 - 	$(top_builddir)/lib/librpm.la \
   1.373 --	@INTLLIBS@
   1.374 -+	@INTLLIBS@ @LIBMISC@
   1.375 - 
   1.376 - staticLDFLAGS = @LDFLAGS_STATIC@ @LDFLAGS_NPTL@
   1.377 - 
   1.378 -
   1.379 -+---------------------------------------------------------------------------
   1.380 -| Add libmisc.a for platform portability.
   1.381 -+---------------------------------------------------------------------------
   1.382 -Index: tools/Makefile.in
   1.383 ---- tools/Makefile.in	16 Jul 2003 17:05:51 -0000	1.1.1.20
   1.384 -+++ tools/Makefile.in	22 Jan 2004 21:42:35 -0000	1.2
   1.385 -@@ -275,7 +275,7 @@
   1.386 - 
   1.387 - LDADD = \
   1.388 - 	$(top_builddir)/lib/librpm.la \
   1.389 --	@INTLLIBS@
   1.390 -+	@INTLLIBS@ @LIBMISC@
   1.391 - 
   1.392 - 
   1.393 - staticLDFLAGS = @LDFLAGS_STATIC@ @LDFLAGS_NPTL@
   1.394 -
   1.395 -+---------------------------------------------------------------------------
   1.396 -| Drop GCC "inline" attribute if not compiling with GCC.
   1.397 -| Workaround some other GCC'isms, too.
   1.398 -| Do not take over "const" replacements from Zlib.
   1.399 -+---------------------------------------------------------------------------
   1.400 -Index: file/system.h
   1.401 ---- file/system.h	24 Jan 2003 19:41:56 -0000	1.1.1.1
   1.402 -+++ file/system.h	6 Jun 2005 15:53:05 -0000	1.4
   1.403 -@@ -13,6 +13,9 @@
   1.404 - #endif
   1.405 - 
   1.406 - #include <sys/types.h>
   1.407 -+#ifdef HAVE_INTTYPES_H
   1.408 -+#include <inttypes.h>
   1.409 -+#endif
   1.410 - 
   1.411 - #include <sys/stat.h>
   1.412 - #include <stdio.h>
   1.413 -@@ -53,6 +56,8 @@
   1.414 - #else
   1.415 - #if HAVE_ERROR && HAVE_ERROR_H
   1.416 - #include <error.h>
   1.417 -+#else
   1.418 -+extern void error(int status, int errnum, const char *format, ...);
   1.419 - #endif
   1.420 - #endif
   1.421 - 
   1.422 -@@ -194,6 +199,7 @@
   1.423 - 
   1.424 - #ifdef HAVE_LIBZ
   1.425 - #include <zlib.h>
   1.426 -+#undef const
   1.427 - #endif
   1.428 - 
   1.429 - #ifndef HAVE_STRERROR
   1.430 -@@ -246,7 +252,11 @@
   1.431 -  */
   1.432 - /*@-shadow@*/
   1.433 - /*@unused@*/ /*@exits@*/ /*@only@*/
   1.434 -+#if defined(__GNUC__)
   1.435 - static inline void * vmefail(/*@unused@*/ size_t nb)
   1.436 -+#else
   1.437 -+static void * vmefail(/*@unused@*/ size_t nb)
   1.438 -+#endif
   1.439 - 	/*@globals fileSystem @*/
   1.440 - 	/*@modifies fileSystem @*/
   1.441 - {
   1.442 -@@ -286,9 +296,33 @@
   1.443 - 
   1.444 - #if !defined(__LCLINT__)
   1.445 - /* Memory allocation via macro defs to get meaningful locations from mtrace() */
   1.446 -+#if defined(__GNUC__)
   1.447 - #define	xmalloc(_size) 		(malloc(_size) ? : vmefail(0))
   1.448 - #define	xcalloc(_nmemb, _size)	(calloc((_nmemb), (_size)) ? : vmefail(0))
   1.449 - #define	xrealloc(_ptr, _size)	(realloc((_ptr), (_size)) ? : vmefail(0))
   1.450 -+#else
   1.451 -+static void *xmalloc(size_t size)
   1.452 -+{
   1.453 -+    void *vp = malloc(size);
   1.454 -+    if (vp == NULL)
   1.455 -+        vmefail(0);
   1.456 -+    return vp;
   1.457 -+}
   1.458 -+static void *xcalloc(size_t number, size_t size)
   1.459 -+{
   1.460 -+    void *vp = calloc(number, size);
   1.461 -+    if (vp == NULL)
   1.462 -+        vmefail(0);
   1.463 -+    return vp;
   1.464 -+}
   1.465 -+static void *xrealloc(void *ptr, size_t size)
   1.466 -+{
   1.467 -+    void *vp = realloc(ptr, size);
   1.468 -+    if (vp == NULL)
   1.469 -+        vmefail(0);
   1.470 -+    return vp;
   1.471 -+}
   1.472 -+#endif
   1.473 - #define	xstrdup(_str)	(strcpy(xmalloc(strlen(_str)+1), (_str)))
   1.474 - #endif
   1.475 - 
   1.476 -@@ -314,9 +348,14 @@
   1.477 - 
   1.478 - #if defined(__LCLINT__)
   1.479 - #define FILE_RCSID(id)
   1.480 --#else
   1.481 -+#elif defined(__GNUC__)
   1.482 - #define FILE_RCSID(id) \
   1.483 - static inline const char *rcsid(const char *p) { \
   1.484 -+        return rcsid(p = id); \
   1.485 -+}
   1.486 -+#else
   1.487 -+#define FILE_RCSID(id) \
   1.488 -+static const char *rcsid(const char *p) { \
   1.489 - 	return rcsid(p = id); \
   1.490 - }
   1.491 - #endif
   1.492 -
   1.493 -+---------------------------------------------------------------------------
   1.494 -| Use GCC extensional features only if compiled with GCC.
   1.495 -+---------------------------------------------------------------------------
   1.496 -Index: file/file.h
   1.497 ---- file/file.h	24 Jan 2003 19:41:56 -0000	1.1.1.1
   1.498 -+++ file/file.h	22 Jan 2004 21:42:22 -0000	1.2
   1.499 -@@ -95,7 +95,11 @@
   1.500 - 	} value;		/* either number or string */
   1.501 - 	uint32_t mask;	/* mask before comparison with value */
   1.502 - 	char desc[MAXDESC];	/* description */
   1.503 -+#if defined(__GNUC__)
   1.504 - } __attribute__((__packed__));
   1.505 -+#else
   1.506 -+};
   1.507 -+#endif
   1.508 - 
   1.509 - #define BIT(A)   (1 << (A))
   1.510 - #define STRING_IGNORE_LOWERCASE		BIT(0)
   1.511 -
   1.512 -+---------------------------------------------------------------------------
   1.513 -| Add int32_t detection and automatic fallback support.
   1.514 -+---------------------------------------------------------------------------
   1.515 -Index: file/config.h.in
   1.516 ---- file/config.h.in	7 Mar 2003 19:39:18 -0000	1.1.1.1
   1.517 -+++ file/config.h.in	13 Sep 2006 13:40:49 -0000
   1.518 -@@ -106,6 +106,9 @@
   1.519 - /* Define to 1 if you have the <unistd.h> header file. */
   1.520 - #undef HAVE_UNISTD_H
   1.521 - 
   1.522 -+/* Define to 1 if you have the `vsnprintf' function. */
   1.523 -+#undef HAVE_VSNPRINTF
   1.524 -+
   1.525 - /* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
   1.526 -    */
   1.527 - #undef MAJOR_IN_MKDEV
   1.528 -@@ -162,12 +165,16 @@
   1.529 - /* Define to empty if `const' does not conform to ANSI C. */
   1.530 - #undef const
   1.531 - 
   1.532 -+/* int32_t */
   1.533 -+#undef int32_t
   1.534 -+
   1.535 - /* Define to `long' if <sys/types.h> does not define. */
   1.536 - #undef off_t
   1.537 - 
   1.538 - /* Define to `unsigned' if <sys/types.h> does not define. */
   1.539 - #undef size_t
   1.540 - 
   1.541 -+#ifndef HAVE_STDINT_H
   1.542 - /* uint16_t */
   1.543 - #undef uint16_t
   1.544 - 
   1.545 -@@ -179,3 +186,4 @@
   1.546 - 
   1.547 - /* uint8_t */
   1.548 - #undef uint8_t
   1.549 -+#endif
   1.550 -
   1.551 -+---------------------------------------------------------------------------
   1.552 -| Add int32_t detection and automatic fallback support.
   1.553 -+---------------------------------------------------------------------------
   1.554 -Index: file/configure.ac
   1.555 ---- file/configure.ac	1 Dec 2002 21:34:06 -0000	1.1.1.1
   1.556 -+++ file/configure.ac	6 Jun 2005 15:53:05 -0000	1.2
   1.557 -@@ -92,6 +92,7 @@
   1.558 - AC_CHECK_TYPE_STDC(uint8_t, unsigned char)
   1.559 - AC_CHECK_TYPE_STDC(uint16_t, unsigned short)
   1.560 - AC_CHECK_TYPE_STDC(uint32_t, unsigned int)
   1.561 -+AC_CHECK_TYPE_STDC(int32_t, int)
   1.562 - AC_C_LONG_LONG
   1.563 - if test $ac_cv_c_long_long = yes; then
   1.564 -   long64='unsigned long long';
   1.565 -@@ -107,7 +108,7 @@
   1.566 - AC_CHECK_SIZEOF_STDC_HEADERS(uint64_t, 0)
   1.567 - 
   1.568 - dnl Checks for functions
   1.569 --AC_CHECK_FUNCS(error mtrace mkstemp mmap strdup strerror strtoul)
   1.570 -+AC_CHECK_FUNCS(error mtrace mkstemp mmap strdup strerror strtoul vsnprintf)
   1.571 - 
   1.572 - dnl Checks for libraries
   1.573 - AC_CHECK_LIB(z, gzopen)
   1.574 -
   1.575 -+---------------------------------------------------------------------------
   1.576 -| Add int32_t detection and automatic fallback support.
   1.577 -+---------------------------------------------------------------------------
   1.578 -Index: file/configure
   1.579 ---- file/configure	16 Jul 2003 17:05:25 -0000	1.1.1.2
   1.580 -+++ file/configure	6 Jun 2005 15:53:05 -0000	1.2
   1.581 -@@ -10847,6 +10847,46 @@
   1.582 - 
   1.583 - fi
   1.584 - 
   1.585 -+echo "$as_me:$LINENO: checking for int32_t" >&5
   1.586 -+echo $ECHO_N "checking for int32_t... $ECHO_C" >&6
   1.587 -+if test "${ac_cv_type_int32_t+set}" = set; then
   1.588 -+  echo $ECHO_N "(cached) $ECHO_C" >&6
   1.589 -+else
   1.590 -+  cat >conftest.$ac_ext <<_ACEOF
   1.591 -+#line $LINENO "configure"
   1.592 -+/* confdefs.h.  */
   1.593 -+_ACEOF
   1.594 -+cat confdefs.h >>conftest.$ac_ext
   1.595 -+cat >>conftest.$ac_ext <<_ACEOF
   1.596 -+/* end confdefs.h.  */
   1.597 -+#if HAVE_STDINT_H
   1.598 -+#include <stdint.h>
   1.599 -+#endif
   1.600 -+#include <sys/types.h>
   1.601 -+#if STDC_HEADERS
   1.602 -+#include <stdlib.h>
   1.603 -+#include <stddef.h>
   1.604 -+#endif
   1.605 -+_ACEOF
   1.606 -+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   1.607 -+  $EGREP "(^|[^a-zA-Z_0-9])int32_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
   1.608 -+  ac_cv_type_int32_t=yes
   1.609 -+else
   1.610 -+  ac_cv_type_int32_t=no
   1.611 -+fi
   1.612 -+rm -f conftest*
   1.613 -+
   1.614 -+fi
   1.615 -+echo "$as_me:$LINENO: result: $ac_cv_type_int32_t" >&5
   1.616 -+echo "${ECHO_T}$ac_cv_type_int32_t" >&6
   1.617 -+if test $ac_cv_type_int32_t = no; then
   1.618 -+
   1.619 -+cat >>confdefs.h <<\_ACEOF
   1.620 -+#define int32_t int
   1.621 -+_ACEOF
   1.622 -+
   1.623 -+fi
   1.624 -+
   1.625 - echo "$as_me:$LINENO: checking for long long" >&5
   1.626 - echo $ECHO_N "checking for long long... $ECHO_C" >&6
   1.627 - if test "${ac_cv_c_long_long+set}" = set; then
   1.628 -@@ -11220,7 +11260,8 @@
   1.629 - 
   1.630 - 
   1.631 - 
   1.632 --for ac_func in error mtrace mkstemp mmap strdup strerror strtoul
   1.633 -+
   1.634 -+for ac_func in error mtrace mkstemp mmap strdup strerror strtoul vsnprintf
   1.635 - do
   1.636 - as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
   1.637 - echo "$as_me:$LINENO: checking for $ac_func" >&5
   1.638 -
   1.639 -+---------------------------------------------------------------------------
   1.640 -| Fallback to vsprintf(3) if vsnprintf(3) does not exist.
   1.641 -+---------------------------------------------------------------------------
   1.642 -Index: file/print.c
   1.643 ---- file/print.c	24 Jan 2003 19:41:56 -0000	1.1.1.1
   1.644 -+++ file/print.c	6 Jun 2005 15:53:05 -0000	1.2
   1.645 -@@ -187,7 +187,11 @@
   1.646 - 
   1.647 - 	va_start(va, f);
   1.648 - /*@-boundswrite@*/
   1.649 -+#ifdef HAVE_VSNPRINTF
   1.650 - 	rc = vsnprintf(fm->obp, fm->nob, f, va);
   1.651 -+#else
   1.652 -+	rc = vsprintf(fm->obp, f, va);
   1.653 -+#endif
   1.654 - /*@=boundswrite@*/
   1.655 - 	va_end(va);
   1.656 - 
   1.657 -
   1.658 -+---------------------------------------------------------------------------
   1.659 -| Use GNU libtool's weaker -static (link with own static libraries)
   1.660 -| instead of the strong -all-static (link even with static libc, etc),
   1.661 -| because OpenPKG does not need to be fully static.
   1.662 -+---------------------------------------------------------------------------
   1.663 -Index: rpmdb/Makefile.am
   1.664 ---- rpmdb/Makefile.am	2 Jul 2003 20:14:07 -0000	1.1.1.7
   1.665 -+++ rpmdb/Makefile.am	22 Jan 2004 21:42:29 -0000	1.2
   1.666 -@@ -18,7 +18,7 @@
   1.667 - EXTRA_PROGRAMS = tjfn
   1.668 - 
   1.669 - tjfn_SOURCES = tjfn.c
   1.670 --tjfn_LDFLAGS = -all-static
   1.671 -+tjfn_LDFLAGS = -static
   1.672 - tjfn_LDADD = librpmdb.la
   1.673 - 
   1.674 - pkgincdir = $(pkgincludedir)
   1.675 -@@ -180,4 +180,4 @@
   1.676 - 	$(LINT) $(DEFS) $(INCLUDES) $(librpmdb_la_SOURCES)
   1.677 - 
   1.678 - tdbi: librpmdb.la tdbi.o
   1.679 --	$(LINK) -all-static $@.o $< $(mylibpaths) $(mylibs) $(LIBS)
   1.680 -+	$(LINK) -static $@.o $< $(mylibpaths) $(mylibs) $(LIBS)
   1.681 -
   1.682 -+---------------------------------------------------------------------------
   1.683 -| Use GNU libtool's weaker -static (link with own static libraries)
   1.684 -| instead of the strong -all-static (link even with static libc, etc),
   1.685 -| because OpenPKG does not need to be fully static.
   1.686 -+---------------------------------------------------------------------------
   1.687 -Index: rpmdb/Makefile.in
   1.688 ---- rpmdb/Makefile.in	16 Jul 2003 17:05:48 -0000	1.1.1.7
   1.689 -+++ rpmdb/Makefile.in	22 Jan 2004 21:42:29 -0000	1.2
   1.690 -@@ -273,7 +273,7 @@
   1.691 - EXTRA_PROGRAMS = tjfn
   1.692 - 
   1.693 - tjfn_SOURCES = tjfn.c
   1.694 --tjfn_LDFLAGS = -all-static
   1.695 -+tjfn_LDFLAGS = -static
   1.696 - tjfn_LDADD = librpmdb.la
   1.697 - 
   1.698 - pkgincdir = $(pkgincludedir)
   1.699 -@@ -952,7 +952,7 @@
   1.700 - 	$(LINT) $(DEFS) $(INCLUDES) $(librpmdb_la_SOURCES)
   1.701 - 
   1.702 - tdbi: librpmdb.la tdbi.o
   1.703 --	$(LINK) -all-static $@.o $< $(mylibpaths) $(mylibs) $(LIBS)
   1.704 -+	$(LINK) -static $@.o $< $(mylibpaths) $(mylibs) $(LIBS)
   1.705 - # Tell versions [3.59,3.63) of GNU make to not export all variables.
   1.706 - # Otherwise a system limit (for SysV at least) may be exceeded.
   1.707 - .NOEXPORT:
   1.708 -
   1.709 -+---------------------------------------------------------------------------
   1.710 -| Use GNU libtool's weaker -static (link with own static libraries)
   1.711 -| instead of the strong -all-static (link even with static libc, etc),
   1.712 -| because OpenPKG does not need to be fully static.
   1.713 -+---------------------------------------------------------------------------
   1.714 -Index: rpmio/Makefile.am
   1.715 ---- rpmio/Makefile.am	5 Jun 2003 12:05:23 -0000	1.1.1.9
   1.716 -+++ rpmio/Makefile.am	22 Jan 2004 21:42:31 -0000	1.2
   1.717 -@@ -68,27 +68,27 @@
   1.718 - tdigest_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.719 - 
   1.720 - tdir_SOURCES = tdir.c
   1.721 --tdir_LDFLAGS = -all-static
   1.722 -+tdir_LDFLAGS = -static
   1.723 - tdir_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.724 - 
   1.725 - tfts_SOURCES = tfts.c
   1.726 --tfts_LDFLAGS = -all-static
   1.727 -+tfts_LDFLAGS = -static
   1.728 - tfts_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.729 - 
   1.730 - tglob_SOURCES = tglob.c
   1.731 --tglob_LDFLAGS = -all-static
   1.732 -+tglob_LDFLAGS = -static
   1.733 - tglob_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.734 - 
   1.735 - tinv_SOURCES = tinv.c
   1.736 --tinv_LDFLAGS = -all-static
   1.737 -+tinv_LDFLAGS = -static
   1.738 - tinv_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.739 - 
   1.740 - tkey_SOURCES = tkey.c
   1.741 --tkey_LDFLAGS = -all-static
   1.742 -+tkey_LDFLAGS = -static
   1.743 - tkey_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.744 - 
   1.745 - tring_SOURCES = tring.c
   1.746 --tring_LDFLAGS = -all-static
   1.747 -+tring_LDFLAGS = -static
   1.748 - tring_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.749 - 
   1.750 - trpmio_SOURCES = trpmio.c
   1.751 -
   1.752 -+---------------------------------------------------------------------------
   1.753 -| Use GNU libtool's weaker -static (link with own static libraries)
   1.754 -| instead of the strong -all-static (link even with static libc, etc),
   1.755 -| because OpenPKG does not need to be fully static.
   1.756 -| Additionally, remove hard-coded Linux'ism of linking against POSIX
   1.757 -| rt/pthread libraries (is not needed even under Linux itself) and
   1.758 -| make sure the build does not break by an empty argument list when
   1.759 -| iterating over (the not existing) BeeCrypt objects.
   1.760 -+---------------------------------------------------------------------------
   1.761 -Index: rpmio/Makefile.in
   1.762 ---- rpmio/Makefile.in	16 Jul 2003 17:05:49 -0000	1.1.1.9
   1.763 -+++ rpmio/Makefile.in	22 Jan 2004 21:42:31 -0000	1.2
   1.764 -@@ -288,8 +288,7 @@
   1.765 - librpmio_la_LDFLAGS = -release 4.2 \
   1.766 - 	@WITH_BEECRYPT_LIB@ \
   1.767 - 	$(top_builddir)/file/libfmagic.la \
   1.768 --	@WITH_ZLIB_LIB@ \
   1.769 --	-lrt -lpthread
   1.770 -+	@WITH_ZLIB_LIB@
   1.771 - 
   1.772 - librpmio_la_LIBADD = $(BEECRYPTLOBJS)
   1.773 - librpmio_la_DEPENDENCIES = .created
   1.774 -@@ -298,27 +297,27 @@
   1.775 - tdigest_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.776 - 
   1.777 - tdir_SOURCES = tdir.c
   1.778 --tdir_LDFLAGS = -all-static
   1.779 -+tdir_LDFLAGS = -static
   1.780 - tdir_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.781 - 
   1.782 - tfts_SOURCES = tfts.c
   1.783 --tfts_LDFLAGS = -all-static
   1.784 -+tfts_LDFLAGS = -static
   1.785 - tfts_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.786 - 
   1.787 - tglob_SOURCES = tglob.c
   1.788 --tglob_LDFLAGS = -all-static
   1.789 -+tglob_LDFLAGS = -static
   1.790 - tglob_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.791 - 
   1.792 - tinv_SOURCES = tinv.c
   1.793 --tinv_LDFLAGS = -all-static
   1.794 -+tinv_LDFLAGS = -static
   1.795 - tinv_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.796 - 
   1.797 - tkey_SOURCES = tkey.c
   1.798 --tkey_LDFLAGS = -all-static
   1.799 -+tkey_LDFLAGS = -static
   1.800 - tkey_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.801 - 
   1.802 - tring_SOURCES = tring.c
   1.803 --tring_LDFLAGS = -all-static
   1.804 -+tring_LDFLAGS = -static
   1.805 - tring_LDADD = librpmio.la $(top_builddir)/popt/libpopt.la
   1.806 - 
   1.807 - trpmio_SOURCES = trpmio.c
   1.808 -@@ -743,8 +742,8 @@
   1.809 - .created:
   1.810 - 	if test X"@WITH_BEECRYPT_SUBDIR@" != X; then \
   1.811 - 	${MAKE} -C $(top_builddir)/@WITH_BEECRYPT_SUBDIR@ listobjs ; \
   1.812 --	for lo in $(BEECRYPTLOBJS); do \
   1.813 --	  [ -f $$lo ] || $(LN_S) $(top_builddir)/@WITH_BEECRYPT_SUBDIR@/$$lo $$lo ; \
   1.814 -+	for lo in $(BEECRYPTLOBJS) ''; do \
   1.815 -+	  [ ".$$lo" = . ] || [ -f $$lo ] || $(LN_S) $(top_builddir)/@WITH_BEECRYPT_SUBDIR@/$$lo $$lo ; \
   1.816 - 	done \
   1.817 - 	fi
   1.818 - 	touch $@
   1.819 -
   1.820 -+---------------------------------------------------------------------------
   1.821 -| Add Unixware support.
   1.822 -+---------------------------------------------------------------------------
   1.823 -Index: rpmio/fts.h
   1.824 ---- rpmio/fts.h	18 Jan 2003 16:13:17 -0000	1.1.1.3
   1.825 -+++ rpmio/fts.h	22 Jan 2004 21:42:32 -0000	1.2
   1.826 -@@ -51,7 +51,7 @@
   1.827 - # define	_LARGEFILE64_SOURCE
   1.828 - #endif
   1.829 - 
   1.830 --#if defined(sun)
   1.831 -+#if defined(sun) || defined(OPENPKG_UNIXWARE)
   1.832 - # define _D_EXACT_NAMLEN(d) ((d)->d_reclen)
   1.833 - #endif
   1.834 - 
   1.835 -
   1.836 -+---------------------------------------------------------------------------
   1.837 -| Add FreeBSD/NetBSD/OpenBSD support.
   1.838 -| Workaround some GCC'isms.
   1.839 -+---------------------------------------------------------------------------
   1.840 -Index: rpmio/fts.c
   1.841 ---- rpmio/fts.c	18 Jan 2003 16:13:17 -0000	1.1.1.3
   1.842 -+++ rpmio/fts.c	8 Jun 2005 13:16:25 -0000	1.5
   1.843 -@@ -34,6 +34,8 @@
   1.844 - static char sccsid[] = "@(#)fts.c	8.6 (Berkeley) 8/14/94";
   1.845 - #endif /* LIBC_SCCS and not lint */
   1.846 - 
   1.847 -+#include <limits.h>
   1.848 -+
   1.849 - #if defined(_LIBC)
   1.850 - #include <sys/param.h>
   1.851 - #include <include/sys/stat.h>
   1.852 -@@ -45,20 +47,52 @@
   1.853 - #include <string.h>
   1.854 - #include <unistd.h>
   1.855 - #else
   1.856 --#if defined(hpux)
   1.857 -+#if defined(OPENPKG_HPUX)
   1.858 - # define        _INCLUDE_POSIX_SOURCE
   1.859 - #   define __errno_location() 	(&errno)
   1.860 --#   define dirfd(dirp)		-1
   1.861 -+#   define locdirfd(dirp)		-1
   1.862 - #   define stat64		stat
   1.863 - #   define _STAT_VER		0
   1.864 - #   define __fxstat64(_stat_ver, _fd, _sbp)	fstat((_fd), (_sbp))
   1.865 -+#   define _D_EXACT_NAMLEN(d) ((d)->d_namlen)
   1.866 - #endif
   1.867 --#if defined(sun)
   1.868 -+#if defined(sun) || defined(OPENPKG_UNIXWARE)
   1.869 - #   define __errno_location()	(&errno)
   1.870 --#   define dirfd(dirp)		-1
   1.871 -+#   define locdirfd(dirp)		-1
   1.872 - #   define _STAT_VER		0
   1.873 - #   define __fxstat64(_stat_ver, _fd, _sbp)	fstat((_fd), (_sbp))
   1.874 - #endif
   1.875 -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(OPENPKG_DARWIN)
   1.876 -+#   define __errno_location()	(&errno)
   1.877 -+#   define stat64 stat
   1.878 -+#   define _STAT_VER		0
   1.879 -+#   define __fxstat64(_stat_ver, _fd, _sbp)	fstat((_fd), (_sbp))
   1.880 -+#   define _D_EXACT_NAMLEN(d) ((d)->d_namlen)
   1.881 -+#endif
   1.882 -+#if defined(__osf__)
   1.883 -+#   define __errno_location()   (&errno)
   1.884 -+#   define locdirfd(dirp)       -1
   1.885 -+#   define stat64               stat
   1.886 -+#   define _STAT_VER            0
   1.887 -+#   define __fxstat64(_stat_ver, _fd, _sbp)     fstat((_fd), (_sbp))
   1.888 -+#   define _D_EXACT_NAMLEN(d) ((d)->d_namlen)
   1.889 -+#endif
   1.890 -+#if defined(OPENPKG_IRIX64)
   1.891 -+#   define __errno_location()   (&errno)
   1.892 -+#   define locdirfd(dirp)       -1
   1.893 -+#   define __fxstat64(_stat_ver, _fd, _sbp)     fstat((_fd), (_sbp))
   1.894 -+#   define _D_EXACT_NAMLEN(d) ((d)->d_reclen)
   1.895 -+#endif
   1.896 -+#if defined(OPENPKG_AIX)
   1.897 -+#   define __errno_location()   (&errno)
   1.898 -+#   define _STAT_VER            0
   1.899 -+#   define locdirfd(dirp)       ((dirp)->dd_fd)
   1.900 -+#   define __fxstat64(_stat_ver, _fd, _sbp)     fstat((_fd), (_sbp))
   1.901 -+#   define _D_EXACT_NAMLEN(d) ((d)->d_namlen)
   1.902 -+#endif
   1.903 -+#if !defined(locdirfd)
   1.904 -+#   define locdirfd(dirp)  dirfd(dirp)
   1.905 -+#endif
   1.906 - #include "system.h"
   1.907 - #include "fts.h"
   1.908 - #include "rpmio.h"
   1.909 -@@ -73,7 +107,12 @@
   1.910 - /* Largest alignment size needed, minus one.
   1.911 -    Usually long double is the worst case.  */
   1.912 - #ifndef ALIGNBYTES
   1.913 -+#if defined(__GNUC__)
   1.914 - #define ALIGNBYTES	(__alignof__ (long double) - 1)
   1.915 -+#else
   1.916 -+/* not accurate enough (usually too large), but sufficient (and this way equal safe) */
   1.917 -+#define ALIGNBYTES	(sizeof (long double) - 1)
   1.918 -+#endif
   1.919 - #endif
   1.920 - /* Align P to that size.  */
   1.921 - #ifndef ALIGN
   1.922 -@@ -107,9 +146,13 @@
   1.923 - 	/*@modifies fileSystem, internalState @*/;
   1.924 - 
   1.925 - #ifndef MAX
   1.926 -+#if defined(__GNUC__)
   1.927 - #define MAX(a, b)	({ __typeof__ (a) _a = (a); \
   1.928 - 			   __typeof__ (b) _b = (b); \
   1.929 - 			   _a > _b ? _a : _b; })
   1.930 -+#else
   1.931 -+#define MAX(a, b)   ((a) > (b) ? (a) : (b))
   1.932 -+#endif
   1.933 - #endif
   1.934 - 
   1.935 - #define	ISDOT(a)	(a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2])))
   1.936 -@@ -719,7 +762,7 @@
   1.937 - 	 */
   1.938 - 	cderrno = 0;
   1.939 - 	if (nlinks || type == BREAD) {
   1.940 --		if (fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) {
   1.941 -+		if (fts_safe_changedir(sp, cur, locdirfd(dirp), NULL)) {
   1.942 - 			if (nlinks && type == BREAD)
   1.943 - 				cur->fts_errno = errno;
   1.944 - 			cur->fts_flags |= FTS_DONTCHDIR;
   1.945 -
   1.946 -+---------------------------------------------------------------------------
   1.947 -| Remove inclusion of system <glob.h> because RPM uses its own glob(3)
   1.948 -| implementation and this can conflict with the system one.
   1.949 -+---------------------------------------------------------------------------
   1.950 -Index: rpmio/rpmio.h
   1.951 ---- rpmio/rpmio.h	12 Jun 2003 18:22:18 -0000	1.1.1.7
   1.952 -+++ rpmio/rpmio.h	22 Jan 2004 21:42:33 -0000	1.2
   1.953 -@@ -9,9 +9,6 @@
   1.954 - #include <sys/types.h>
   1.955 - #include <sys/stat.h>
   1.956 - #include <dirent.h>
   1.957 --/*@-noparams@*/
   1.958 --#include <glob.h>
   1.959 --/*@=noparams@*/
   1.960 - #include <stdio.h>
   1.961 - #include <stdlib.h>
   1.962 - #include <unistd.h>
   1.963 -
   1.964 -+---------------------------------------------------------------------------
   1.965 -| Make this whole "dirent" fiddling at least working on
   1.966 -| FreeBSD/NetBSD/OpenBSD, Solaris, HPUX and Unixware. This certainly
   1.967 -| is a bad corner of RPM which inherently leads to portability
   1.968 -| problems.
   1.969 -+---------------------------------------------------------------------------
   1.970 -Index: rpmio/rpmrpc.c
   1.971 ---- rpmio/rpmrpc.c	29 May 2003 22:14:04 -0000	1.1.1.8
   1.972 -+++ rpmio/rpmrpc.c	8 Jun 2005 13:16:26 -0000	1.5
   1.973 -@@ -1079,6 +1079,8 @@
   1.974 -     return rc;
   1.975 - }
   1.976 - 
   1.977 -+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) && !defined(OPENPKG_DARWIN)
   1.978 -+
   1.979 - struct __dirstream {
   1.980 -     int fd;			/* File descriptor.  */
   1.981 -     char * data;		/* Directory block.  */
   1.982 -@@ -1091,6 +1093,8 @@
   1.983 - #endif
   1.984 - };
   1.985 - 
   1.986 -+#endif
   1.987 -+
   1.988 - #if !defined(DT_DIR)
   1.989 - # define DT_UNKNOWN	0
   1.990 - # define DT_FIFO	1
   1.991 -@@ -1101,14 +1105,30 @@
   1.992 - # define DT_LNK		10
   1.993 - # define DT_SOCK	12
   1.994 - # define DT_WHT		14
   1.995 --typedef struct __dirstream *	FTPDIR;
   1.996 --#else
   1.997 --typedef DIR *			FTPDIR;
   1.998 - #endif
   1.999 - 
  1.1000 -+struct mydirstreament {
  1.1001 -+    unsigned char type;
  1.1002 -+    char *name;
  1.1003 -+};
  1.1004 -+struct mydirstream {
  1.1005 -+    DIR dir;
  1.1006 -+    struct dirent ent;
  1.1007 -+    unsigned int offset;
  1.1008 -+    unsigned int size;
  1.1009 -+    struct mydirstreament av[1];
  1.1010 -+};
  1.1011 -+typedef struct mydirstream *FTPDIR;
  1.1012 -+
  1.1013 - /*@unchecked@*/
  1.1014 - static int ftpmagicdir = 0x8440291;
  1.1015 --#define	ISFTPMAGIC(_dir) (!memcmp((_dir), &ftpmagicdir, sizeof(ftpmagicdir)))
  1.1016 -+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) && !defined(OPENPKG_UNIXWARE) && !defined(OPENPKG_DARWIN) && !defined(__osf__) && !defined(OPENPKG_IRIX64) && !defined(OPENPKG_HPUX) && !defined(OPENPKG_AIX)
  1.1017 -+#define SETFTPMAGIC(_dir) ((_dir)->fd) = ftpmagicdir
  1.1018 -+#define ISFTPMAGIC(_dir) ((_dir)->fd == ftpmagicdir)
  1.1019 -+#else
  1.1020 -+#define SETFTPMAGIC(_dir) ((_dir)->dd_fd) = ftpmagicdir
  1.1021 -+#define ISFTPMAGIC(_dir) ((_dir)->dd_fd == ftpmagicdir)
  1.1022 -+#endif
  1.1023 - 
  1.1024 - /*@-boundswrite@*/
  1.1025 - /*@-type@*/ /* FIX: abstract DIR */
  1.1026 -@@ -1121,8 +1141,7 @@
  1.1027 -     struct dirent * dp;
  1.1028 -     size_t nb;
  1.1029 -     const char * s, * sb, * se;
  1.1030 --    const char ** av;
  1.1031 --    unsigned char * dt;
  1.1032 -+    struct mydirstreament * av;
  1.1033 -     char * t;
  1.1034 -     int ac;
  1.1035 -     int c;
  1.1036 -@@ -1165,28 +1184,22 @@
  1.1037 - 	}
  1.1038 -     }
  1.1039 - 
  1.1040 --    nb += sizeof(*mydir) + sizeof(*dp) + ((ac + 1) * sizeof(*av)) + (ac + 1);
  1.1041 -+    nb = sizeof(*mydir) + (ac * sizeof(*av)) + nb;
  1.1042 -     mydir = xcalloc(1, nb);
  1.1043 -     /*@-abstract@*/
  1.1044 --    dp = (struct dirent *) (mydir + 1);
  1.1045 --    av = (const char **) (dp + 1);
  1.1046 --    dt = (char *) (av + (ac + 1));
  1.1047 --    t = (char *) (dt + ac + 1);
  1.1048 -+    dp = &mydir->ent;
  1.1049 -+    av = &mydir->av[0];
  1.1050 -+    t  = (char *)&mydir->av[ac+1];
  1.1051 -     /*@=abstract@*/
  1.1052 - 
  1.1053 --    mydir->fd = ftpmagicdir;
  1.1054 --/*@-usereleased@*/
  1.1055 --    mydir->data = (char *) dp;
  1.1056 --/*@=usereleased@*/
  1.1057 --    mydir->allocation = nb;
  1.1058 --    mydir->size = ac;
  1.1059 --    mydir->offset = -1;
  1.1060 --    mydir->filepos = 0;
  1.1061 -+    SETFTPMAGIC((DIR *)mydir);
  1.1062 -+    mydir->size   = ac;
  1.1063 -+    mydir->offset = 0;
  1.1064 - 
  1.1065 -     ac = 0;
  1.1066 -     /*@-dependenttrans -unrecog@*/
  1.1067 --    dt[ac] = DT_DIR;	av[ac++] = t;	t = stpcpy(t, ".");	t++;
  1.1068 --    dt[ac] = DT_DIR;	av[ac++] = t;	t = stpcpy(t, "..");	t++;
  1.1069 -+    av[ac].type = DT_DIR; av[ac].name = t; t = stpcpy(t, ".");  ++ac;
  1.1070 -+    av[ac].type = DT_DIR; av[ac].name = t; t = stpcpy(t, ".."); ++ac;
  1.1071 -     /*@=dependenttrans =unrecog@*/
  1.1072 -     sb = NULL;
  1.1073 -     s = se = ftpBuf;
  1.1074 -@@ -1198,34 +1211,34 @@
  1.1075 - 	    /*@switchbreak@*/ break;
  1.1076 - 	case '\r':
  1.1077 - 	    /*@-dependenttrans@*/
  1.1078 --	    av[ac] = t;
  1.1079 -+	    av[ac].name = t;
  1.1080 - 	    /*@=dependenttrans@*/
  1.1081 - 	    if (sb == NULL) {
  1.1082 - 		/*@-unrecog@*/
  1.1083 - 		switch(*s) {
  1.1084 - 		case 'p':
  1.1085 --		    dt[ac] = DT_FIFO;
  1.1086 -+		    av[ac].type = DT_FIFO;
  1.1087 - 		    /*@innerbreak@*/ break;
  1.1088 - 		case 'c':
  1.1089 --		    dt[ac] = DT_CHR;
  1.1090 -+		    av[ac].type = DT_CHR;
  1.1091 - 		    /*@innerbreak@*/ break;
  1.1092 - 		case 'd':
  1.1093 --		    dt[ac] = DT_DIR;
  1.1094 -+		    av[ac].type = DT_DIR;
  1.1095 - 		    /*@innerbreak@*/ break;
  1.1096 - 		case 'b':
  1.1097 --		    dt[ac] = DT_BLK;
  1.1098 -+		    av[ac].type = DT_BLK;
  1.1099 - 		    /*@innerbreak@*/ break;
  1.1100 - 		case '-':
  1.1101 --		    dt[ac] = DT_REG;
  1.1102 -+		    av[ac].type = DT_REG;
  1.1103 - 		    /*@innerbreak@*/ break;
  1.1104 - 		case 'l':
  1.1105 --		    dt[ac] = DT_LNK;
  1.1106 -+		    av[ac].type = DT_LNK;
  1.1107 - 		    /*@innerbreak@*/ break;
  1.1108 - 		case 's':
  1.1109 --		    dt[ac] = DT_SOCK;
  1.1110 -+		    av[ac].type = DT_SOCK;
  1.1111 - 		    /*@innerbreak@*/ break;
  1.1112 - 		default:
  1.1113 --		    dt[ac] = DT_UNKNOWN;
  1.1114 -+		    av[ac].type = DT_UNKNOWN;
  1.1115 - 		    /*@innerbreak@*/ break;
  1.1116 - 		}
  1.1117 - 		/*@=unrecog@*/
  1.1118 -@@ -1243,7 +1256,7 @@
  1.1119 - 	    /*@switchbreak@*/ break;
  1.1120 - 	}
  1.1121 -     }
  1.1122 --    av[ac] = NULL;
  1.1123 -+    av[ac].name = NULL;
  1.1124 - 
  1.1125 - /*@-kepttrans@*/
  1.1126 -     return (DIR *) mydir;
  1.1127 -@@ -1258,43 +1271,50 @@
  1.1128 - {
  1.1129 -     FTPDIR mydir = (FTPDIR)dir;
  1.1130 -     struct dirent * dp;
  1.1131 --    const char ** av;
  1.1132 --    unsigned char * dt;
  1.1133 -+    struct mydirstreament * av;
  1.1134 -     int ac;
  1.1135 -     int i;
  1.1136 - 
  1.1137 -     /*@+voidabstract@*/
  1.1138 --    if (mydir == NULL || !ISFTPMAGIC(mydir) || mydir->data == NULL) {
  1.1139 -+    if (dir == NULL || !ISFTPMAGIC(dir)) {
  1.1140 - 	/* XXX TODO: EBADF errno. */
  1.1141 - 	return NULL;
  1.1142 -     }
  1.1143 -     /*@=voidabstract@*/
  1.1144 - 
  1.1145 --    dp = (struct dirent *) mydir->data;
  1.1146 --    av = (const char **) (dp + 1);
  1.1147 -+    dp = &mydir->ent;
  1.1148 -+    av = &mydir->av[0];
  1.1149 -     ac = mydir->size;
  1.1150 --    dt = (char *) (av + (ac + 1));
  1.1151 --    i = mydir->offset + 1;
  1.1152 -+    i  = mydir->offset + 1;
  1.1153 - 
  1.1154 - /*@-boundsread@*/
  1.1155 --    if (i < 0 || i >= ac || av[i] == NULL)
  1.1156 -+    if (i < 0 || i >= ac || av[i].name == NULL)
  1.1157 - 	return NULL;
  1.1158 - /*@=boundsread@*/
  1.1159 - 
  1.1160 -     mydir->offset = i;
  1.1161 - 
  1.1162 -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(OPENPKG_DARWIN)
  1.1163 -+    dp->d_ino = i + 1;
  1.1164 -+    dp->d_reclen = 0;
  1.1165 -+    dp->d_type = av[i].type;
  1.1166 -+    strncpy(dp->d_name, av[i].name, sizeof(dp->d_name) - 1);
  1.1167 -+    dp->d_name[sizeof(dp->d_name)-1] = '\0';
  1.1168 -+    dp->d_namlen = strlen(dp->d_name);
  1.1169 -+#elif defined(OPENPKG_HPUX) || defined(sun) || defined(OPENPKG_UNIXWARE) || defined(__osf__) || defined(OPENPKG_IRIX64) || defined(OPENPKG_AIX)
  1.1170 -+    /* XXX glob(3) uses REAL_DIR_ENTRY(dp) test on d_ino */
  1.1171 -+    dp->d_ino = i + 1;		/* W2DO? */
  1.1172 -+    dp->d_reclen = 0;		/* W2DO? */
  1.1173 -+    strncpy(dp->d_name, av[i].name, sizeof(dp->d_name));
  1.1174 -+#else
  1.1175 -     /* XXX glob(3) uses REAL_DIR_ENTRY(dp) test on d_ino */
  1.1176 -     dp->d_ino = i + 1;		/* W2DO? */
  1.1177 -     dp->d_reclen = 0;		/* W2DO? */
  1.1178 --
  1.1179 --#if !defined(hpux) && !defined(sun)
  1.1180 -     dp->d_off = 0;		/* W2DO? */
  1.1181 --/*@-boundsread@*/
  1.1182 --    dp->d_type = dt[i];
  1.1183 --/*@=boundsread@*/
  1.1184 -+    dp->d_type = av[i].type;
  1.1185 -+    strncpy(dp->d_name, av[i].name, sizeof(dp->d_name));
  1.1186 - #endif
  1.1187 - 
  1.1188 --    strncpy(dp->d_name, av[i], sizeof(dp->d_name));
  1.1189 - /*@+voidabstract@*/
  1.1190 - if (_ftp_debug)
  1.1191 - fprintf(stderr, "*** ftpReaddir(%p) %p \"%s\"\n", (void *)mydir, dp, dp->d_name);
  1.1192 -@@ -1313,7 +1333,7 @@
  1.1193 -     /*@+voidabstract@*/
  1.1194 - if (_ftp_debug)
  1.1195 - fprintf(stderr, "*** ftpClosedir(%p)\n", (void *)mydir);
  1.1196 --    if (mydir == NULL || !ISFTPMAGIC(mydir)) {
  1.1197 -+    if (dir == NULL || !ISFTPMAGIC(dir)) {
  1.1198 - 	/* XXX TODO: EBADF errno. */
  1.1199 - 	return -1;
  1.1200 -     }
  1.1201 -
  1.1202 -+---------------------------------------------------------------------------
  1.1203 -| Remove inclusion of ancient (and since years deprecated) <malloc.h>
  1.1204 -| header. This especially makes sure RPM build does not break on
  1.1205 -| strict platforms like FreeBSD 5.
  1.1206 -+---------------------------------------------------------------------------
  1.1207 -Index: system.h
  1.1208 ---- system.h	1 Mar 2003 19:53:08 -0000	1.1.1.10
  1.1209 -+++ system.h	8 Jun 2005 13:15:16 -0000	1.4
  1.1210 -@@ -256,10 +256,6 @@
  1.1211 - #include <err.h>
  1.1212 - #endif
  1.1213 - 
  1.1214 --#if HAVE_MALLOC_H && !defined(__LCLINT__)
  1.1215 --#include <malloc.h>
  1.1216 --#endif
  1.1217 --
  1.1218 - /*@-declundef -incondefs @*/ /* FIX: these are macros */
  1.1219 - /**
  1.1220 -  */
  1.1221 -
  1.1222 -+---------------------------------------------------------------------------
  1.1223 -| Add support for BSD getmntinfo(3).
  1.1224 -+---------------------------------------------------------------------------
  1.1225 -Index: system.h
  1.1226 ---- system.h	1 Mar 2003 19:53:08 -0000	1.1.1.10
  1.1227 -+++ system.h	8 Jun 2005 13:15:16 -0000	1.4
  1.1228 -@@ -546,7 +546,7 @@
  1.1229 - #define lchown chown
  1.1230 - #endif
  1.1231 - 
  1.1232 --#if HAVE_GETMNTINFO_R || HAVE_MNTCTL
  1.1233 -+#if HAVE_GETMNTINFO_R || HAVE_GETMNTINFO || HAVE_MNTCTL
  1.1234 - # define GETMNTENT_ONE 0
  1.1235 - # define GETMNTENT_TWO 0
  1.1236 - # if HAVE_SYS_MNTCTL_H
  1.1237 -
  1.1238 -+---------------------------------------------------------------------------
  1.1239 -| Drop GCC "inline" attribute if not compiling with GCC.
  1.1240 -+---------------------------------------------------------------------------
  1.1241 -Index: system.h
  1.1242 ---- system.h	1 Mar 2003 19:53:08 -0000	1.1.1.10
  1.1243 -+++ system.h	8 Jun 2005 13:15:16 -0000	1.4
  1.1244 -@@ -599,11 +599,24 @@
  1.1245 - 
  1.1246 - #if defined(__LCLINT__)
  1.1247 - #define FILE_RCSID(id)
  1.1248 --#else
  1.1249 -+#elif defined(__GNUC__)
  1.1250 - #define FILE_RCSID(id) \
  1.1251 - static inline const char *rcsid(const char *p) { \
  1.1252 -         return rcsid(p = id); \
  1.1253 - }
  1.1254 -+#else
  1.1255 -+#define FILE_RCSID(id) \
  1.1256 -+static const char *rcsid(const char *p) { \
  1.1257 -+        return rcsid(p = id); \
  1.1258 -+}
  1.1259 -+#endif
  1.1260 -+
  1.1261 -+/* for basename(3) and dirname(3) */
  1.1262 -+#if !defined(OPENPKG_AIX)
  1.1263 -+#include <libgen.h>
  1.1264 -+#endif
  1.1265 -+#if defined(OPENPKG_AIX)
  1.1266 -+#define unsetenv(x) /* unsetenv() is used in RPM just for malloc debugging purposes */
  1.1267 - #endif
  1.1268 - 
  1.1269 - #endif	/* H_SYSTEM */
  1.1270 -
  1.1271 -+---------------------------------------------------------------------------
  1.1272 -| Remove GCC'ism.
  1.1273 -+---------------------------------------------------------------------------
  1.1274 -Index: build/rpmfile.h
  1.1275 ---- build/rpmfile.h	24 Jan 2003 19:41:56 -0000	1.1.1.1
  1.1276 -+++ build/rpmfile.h	22 Jan 2004 21:42:14 -0000	1.2
  1.1277 -@@ -95,7 +95,11 @@
  1.1278 - 	} value;		/* either number or string */
  1.1279 - 	uint32_t mask;	/* mask before comparison with value */
  1.1280 - 	char desc[MAXDESC];	/* description */
  1.1281 -+#if defined(__GNUC__)
  1.1282 - } __attribute__((__packed__));
  1.1283 -+#else
  1.1284 -+};
  1.1285 -+#endif
  1.1286 - 
  1.1287 - #define BIT(A)   (1 << (A))
  1.1288 - #define STRING_IGNORE_LOWERCASE		BIT(0)
  1.1289 -
  1.1290 -+---------------------------------------------------------------------------
  1.1291 -| Better portability for madvise(2) usage.
  1.1292 -+---------------------------------------------------------------------------
  1.1293 -Index: rpmdb/legacy.c
  1.1294 ---- rpmdb/legacy.c	18 Dec 2002 22:40:19 -0000	1.1.1.4
  1.1295 -+++ rpmdb/legacy.c	22 Jan 2004 21:42:30 -0000	1.2
  1.1296 -@@ -182,7 +182,7 @@
  1.1297 - 	    break;
  1.1298 - 	}
  1.1299 - 
  1.1300 --#ifdef	MADV_SEQUENTIAL
  1.1301 -+#if defined(HAVE_MADVISE) && defined(MADV_SEQUENTIAL)
  1.1302 -         xx = madvise(mapped, fsize, MADV_SEQUENTIAL);
  1.1303 - #endif
  1.1304 - 
  1.1305 -
  1.1306 -+---------------------------------------------------------------------------
  1.1307 -| Better portability for madvise(2) usage.
  1.1308 -+---------------------------------------------------------------------------
  1.1309 -Index: lib/fsm.c
  1.1310 ---- lib/fsm.c	3 Mar 2003 21:28:12 -0000	1.1.1.5
  1.1311 -+++ lib/fsm.c	22 Jan 2004 21:42:23 -0000	1.2
  1.1312 -@@ -879,7 +879,7 @@
  1.1313 - 	    rdbuf = fsm->rdbuf;
  1.1314 - 	    fsm->rdbuf = (char *) mapped;
  1.1315 - 	    fsm->rdlen = nmapped = st->st_size;
  1.1316 --#if defined(MADV_DONTNEED)
  1.1317 -+#if defined(HAVE_MADVISE) && defined(MADV_DONTNEED)
  1.1318 - 	    xx = madvise(mapped, nmapped, MADV_DONTNEED);
  1.1319 - #endif
  1.1320 - 	}
  1.1321 -@@ -909,7 +909,7 @@
  1.1322 - #if HAVE_MMAP
  1.1323 - 	if (mapped != (void *)-1) {
  1.1324 - 	    xx = msync(mapped, nmapped, MS_ASYNC);
  1.1325 --#if defined(MADV_DONTNEED)
  1.1326 -+#if defined(HAVE_MADVISE) && defined(MADV_DONTNEED)
  1.1327 - 	    xx = madvise(mapped, nmapped, MADV_DONTNEED);
  1.1328 - #endif
  1.1329 - 	    /*@-noeffect@*/ xx = munmap(mapped, nmapped) /*@=noeffect@*/;
  1.1330 -
  1.1331 -+---------------------------------------------------------------------------
  1.1332 -| Support UnixWare 7.1.3 and OpenDarwin 6.6.2, too.
  1.1333 -+---------------------------------------------------------------------------
  1.1334 -Index: aclocal.m4
  1.1335 ---- aclocal.m4	16 Jul 2003 17:05:28 -0000	1.1.1.10
  1.1336 -+++ aclocal.m4	6 Jun 2005 15:53:03 -0000	1.4
  1.1337 -@@ -2838,7 +2838,7 @@
  1.1338 -     runpath_var=LD_RUN_PATH
  1.1339 -     ;;
  1.1340 - 
  1.1341 --  sysv5uw7* | unixware7*)
  1.1342 -+  sysv5uw7* | unixware7* | sysv5UnixWare7* )
  1.1343 -     no_undefined_flag='${wl}-z ${wl}text'
  1.1344 -     if test "$GCC" = yes; then
  1.1345 -       archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
  1.1346 -@@ -4311,6 +4311,7 @@
  1.1347 -     ;;
  1.1348 -   *) # Darwin 1.3 on
  1.1349 -     lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
  1.1350 -+    lt_cv_deplibs_check_method=pass_all
  1.1351 -     ;;
  1.1352 -   esac
  1.1353 -   ;;
  1.1354 -@@ -4336,7 +4337,7 @@
  1.1355 -   ;;
  1.1356 - 
  1.1357 - hpux10.20*|hpux11*)
  1.1358 --  lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
  1.1359 -+  lt_cv_deplibs_check_method='pass_all'
  1.1360 -   lt_cv_file_magic_cmd=/usr/bin/file
  1.1361 -   lt_cv_file_magic_test_file=/usr/lib/libc.sl
  1.1362 -   ;;
  1.1363 -@@ -4375,11 +4376,7 @@
  1.1364 -   ;;
  1.1365 - 
  1.1366 - netbsd*)
  1.1367 --  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  1.1368 --    lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
  1.1369 --  else
  1.1370 --    lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
  1.1371 --  fi
  1.1372 -+  lt_cv_deplibs_check_method='pass_all'
  1.1373 -   ;;
  1.1374 - 
  1.1375 - newos6*)
  1.1376 -@@ -4414,7 +4411,7 @@
  1.1377 -   lt_cv_file_magic_test_file=/lib/libc.so
  1.1378 -   ;;
  1.1379 - 
  1.1380 --sysv5uw[[78]]* | sysv4*uw2*)
  1.1381 -+sysv5uw[[78]]* | sysv4*uw2* | sysv5UnixWare7* )
  1.1382 -   lt_cv_deplibs_check_method=pass_all
  1.1383 -   ;;
  1.1384 - 
  1.1385 -
  1.1386 -+---------------------------------------------------------------------------
  1.1387 -| Use Linux i386 assembly specific stuff on Linux only.
  1.1388 -+---------------------------------------------------------------------------
  1.1389 -Index: rpmio/rpmsw.c
  1.1390 ---- rpmio/rpmsw.c	5 Jun 2003 12:04:05 -0000	1.1.1.1
  1.1391 -+++ rpmio/rpmsw.c	22 Jan 2004 21:42:33 -0000	1.2
  1.1392 -@@ -27,7 +27,7 @@
  1.1393 - /*@unchecked@*/
  1.1394 - static int rpmsw_initialized = 0;
  1.1395 - 
  1.1396 --#if defined(__i386__)
  1.1397 -+#if defined(__linux__) && defined(__i386__)
  1.1398 - /* Swiped from glibc-2.3.2 sysdeps/i386/i686/hp-timing.h */
  1.1399 - 
  1.1400 - #define	HP_TIMING_ZERO(Var)	(Var) = (0)
  1.1401 -
  1.1402 -+---------------------------------------------------------------------------
  1.1403 -| Fix "environ" declaration.
  1.1404 -+---------------------------------------------------------------------------
  1.1405 -Index: lib/signature.c
  1.1406 ---- lib/signature.c	29 May 2003 18:42:23 -0000	1.1.1.23
  1.1407 -+++ lib/signature.c	22 Jan 2004 21:42:25 -0000	1.2
  1.1408 -@@ -27,7 +27,7 @@
  1.1409 - /*@access pgpDigParams@*/
  1.1410 - 
  1.1411 - #if !defined(__GLIBC__)
  1.1412 --char ** environ = NULL;
  1.1413 -+extern char ** environ;
  1.1414 - #endif
  1.1415 - 
  1.1416 - int rpmLookupSignatureType(int action)
  1.1417 -
  1.1418 -+---------------------------------------------------------------------------
  1.1419 -| Rename own mergesort(3) implementation to avoid conflicts
  1.1420 -| with a possibly existing vendor version.
  1.1421 -+---------------------------------------------------------------------------
  1.1422 -Index: rpmdb/merge.c
  1.1423 ---- rpmdb/merge.c	22 Jun 2002 18:51:58 -0000	1.1.1.2
  1.1424 -+++ rpmdb/merge.c	22 Jan 2004 21:42:30 -0000	1.2
  1.1425 -@@ -204,7 +204,7 @@
  1.1426 -  * Arguments are as for qsort.
  1.1427 -  */
  1.1428 - int
  1.1429 --mergesort(void *base, size_t nmemb, size_t size,
  1.1430 -+rpmdb_mergesort(void *base, size_t nmemb, size_t size,
  1.1431 - 		int (*cmp) (const void *, const void *))
  1.1432 - {
  1.1433 - 	register int i, sense;
  1.1434 -
  1.1435 -+---------------------------------------------------------------------------
  1.1436 -| Rename own mergesort(3) implementation to avoid conflicts
  1.1437 -| with a possibly existing vendor version.
  1.1438 -+---------------------------------------------------------------------------
  1.1439 -Index: rpmdb/rpmdb.h
  1.1440 ---- rpmdb/rpmdb.h	18 Jan 2003 14:04:35 -0000	1.1.1.5
  1.1441 -+++ rpmdb/rpmdb.h	22 Jan 2004 21:42:31 -0000	1.2
  1.1442 -@@ -1080,7 +1080,7 @@
  1.1443 -  * Mergesort, same arguments as qsort(2).
  1.1444 -  */
  1.1445 - /*@unused@*/
  1.1446 --int mergesort(void *base, size_t nmemb, size_t size,
  1.1447 -+int rpmdb_mergesort(void *base, size_t nmemb, size_t size,
  1.1448 -                 int (*cmp) (const void *, const void *))
  1.1449 - 	/*@globals errno @*/
  1.1450 - 	/*@modifies base, errno @*/;
  1.1451 -
  1.1452 -+---------------------------------------------------------------------------
  1.1453 -| Rename own mergesort(3) implementation to avoid conflicts
  1.1454 -| with a possibly existing vendor version.
  1.1455 -+---------------------------------------------------------------------------
  1.1456 -Index: rpmdb/rpmdb.c
  1.1457 ---- rpmdb/rpmdb.c	2 Jul 2003 19:21:54 -0000	1.1.1.6
  1.1458 -+++ rpmdb/rpmdb.c	22 Jan 2004 21:42:30 -0000	1.2
  1.1459 -@@ -2361,7 +2361,7 @@
  1.1460 - 		sizeof(*mi->mi_set->recs), hdrNumCmp);
  1.1461 - /*@=boundsread@*/
  1.1462 - #else
  1.1463 --	mergesort(mi->mi_set->recs, mi->mi_set->count,
  1.1464 -+	rpmdb_mergesort(mi->mi_set->recs, mi->mi_set->count,
  1.1465 - 		sizeof(*mi->mi_set->recs), hdrNumCmp);
  1.1466 - #endif
  1.1467 - 	mi->mi_sorted = 1;
  1.1468 -
  1.1469 -+---------------------------------------------------------------------------
  1.1470 -| Workaround a double-inclusion problem under AIX.
  1.1471 -+---------------------------------------------------------------------------
  1.1472 -Index: lib/getdate.y
  1.1473 ---- lib/getdate.y	24 Sep 2001 21:53:15 -0000	1.1.1.2
  1.1474 -+++ lib/getdate.y	8 Jun 2005 13:16:22 -0000	1.2
  1.1475 -@@ -30,7 +30,9 @@
  1.1476 - #undef static
  1.1477 - #endif
  1.1478 - 
  1.1479 -+#ifndef OPENPKG_AIX
  1.1480 - #include <stdio.h>
  1.1481 -+#endif
  1.1482 - #include <ctype.h>
  1.1483 - 
  1.1484 - /* The code at the top of get_date which figures out the offset of the
  1.1485 -
  1.1486 -+---------------------------------------------------------------------------
  1.1487 -| Workaround a double-inclusion problem under AIX.
  1.1488 -+---------------------------------------------------------------------------
  1.1489 -Index: lib/getdate.c
  1.1490 ---- lib/getdate.c	2 Jul 2003 19:21:45 -0000	1.1.1.4
  1.1491 -+++ lib/getdate.c	8 Jun 2005 13:16:21 -0000	1.2
  1.1492 -@@ -50,7 +50,9 @@
  1.1493 - #undef static
  1.1494 - #endif
  1.1495 - 
  1.1496 -+#ifndef OPENPKG_AIX
  1.1497 - #include <stdio.h>
  1.1498 -+#endif
  1.1499 - #include <ctype.h>
  1.1500 - 
  1.1501 - /* The code at the top of get_date which figures out the offset of the
  1.1502 -
  1.1503 -+---------------------------------------------------------------------------
  1.1504 -| The following patch works around a general failure of RPM to
  1.1505 -| adhere to the ISO C standard, for which newer GCC releases claim
  1.1506 -| compile errors and fail.
  1.1507 -+---------------------------------------------------------------------------
  1.1508 -Index: misc/err.h
  1.1509 ---- misc/err.h	2009-01-06 22:48:16.104430941 +0100
  1.1510 -+++ misc/err.h	2009-01-06 22:47:55.944312482 +0100
  1.1511 -@@ -29,31 +29,4 @@
  1.1512 - # define __gnuc_va_list	__ptr_t
  1.1513 - #endif
  1.1514 - 
  1.1515 --__BEGIN_DECLS
  1.1516 --
  1.1517 --/* Print "program: ", FORMAT, ": ", the standard error string for errno,
  1.1518 --   and a newline, on stderr.  */
  1.1519 --extern void warn __P ((__const char *__format, ...))
  1.1520 --     __attribute__ ((__format__ (__printf__, 1, 2)));
  1.1521 --extern void vwarn __P ((__const char *__format, __gnuc_va_list))
  1.1522 --     __attribute__ ((__format__ (__printf__, 1, 0)));
  1.1523 --
  1.1524 --/* Likewise, but without ": " and the standard error string.  */
  1.1525 --extern void warnx __P ((__const char *__format, ...))
  1.1526 --     __attribute__ ((__format__ (__printf__, 1, 2)));
  1.1527 --extern void vwarnx __P ((__const char *__format, __gnuc_va_list))
  1.1528 --     __attribute__ ((__format__ (__printf__, 1, 0)));
  1.1529 --
  1.1530 --/* Likewise, and then exit with STATUS.  */
  1.1531 --extern void err __P ((int __status, __const char *__format, ...))
  1.1532 --     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
  1.1533 --extern void verr __P ((int __status, __const char *__format, __gnuc_va_list))
  1.1534 --     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
  1.1535 --extern void errx __P ((int __status, __const char *__format, ...))
  1.1536 --     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
  1.1537 --extern void verrx __P ((int __status, __const char *, __gnuc_va_list))
  1.1538 --     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
  1.1539 --
  1.1540 --__END_DECLS
  1.1541 --
  1.1542 - #endif	/* err.h */

mercurial