# HG changeset patch # User Michael Schloh von Bennewitz # Date 1301157052 -3600 # Node ID 51aab9414a864abfcbd006e2f49c0cee81e3e7b3 # Parent b3f28ff84793d01df9d53b8a7acd305e3f4e8e4a Solve function declaration signature mismatch by redefining locally. diff -r b3f28ff84793 -r 51aab9414a86 openpkg/rpm.patch.porting --- a/openpkg/rpm.patch.porting Sat Mar 26 13:26:07 2011 +0100 +++ b/openpkg/rpm.patch.porting Sat Mar 26 17:30:52 2011 +0100 @@ -846,7 +846,7 @@ #if defined(_LIBC) #include #include -@@ -45,20 +47,49 @@ +@@ -45,20 +47,52 @@ #include #include #else @@ -854,7 +854,8 @@ +#if defined(OPENPKG_HPUX) # define _INCLUDE_POSIX_SOURCE # define __errno_location() (&errno) - # define dirfd(dirp) -1 +-# define dirfd(dirp) -1 ++# define locdirfd(dirp) -1 # define stat64 stat # define _STAT_VER 0 # define __fxstat64(_stat_ver, _fd, _sbp) fstat((_fd), (_sbp)) @@ -863,7 +864,8 @@ -#if defined(sun) +#if defined(sun) || defined(OPENPKG_UNIXWARE) # define __errno_location() (&errno) - # define dirfd(dirp) -1 +-# define dirfd(dirp) -1 ++# define locdirfd(dirp) -1 # define _STAT_VER 0 # define __fxstat64(_stat_ver, _fd, _sbp) fstat((_fd), (_sbp)) #endif @@ -876,7 +878,7 @@ +#endif +#if defined(__osf__) +# define __errno_location() (&errno) -+# define dirfd(dirp) -1 ++# define locdirfd(dirp) -1 +# define stat64 stat +# define _STAT_VER 0 +# define __fxstat64(_stat_ver, _fd, _sbp) fstat((_fd), (_sbp)) @@ -884,21 +886,24 @@ +#endif +#if defined(OPENPKG_IRIX64) +# define __errno_location() (&errno) -+# define dirfd(dirp) -1 ++# define locdirfd(dirp) -1 +# define __fxstat64(_stat_ver, _fd, _sbp) fstat((_fd), (_sbp)) +# define _D_EXACT_NAMLEN(d) ((d)->d_reclen) +#endif +#if defined(OPENPKG_AIX) +# define __errno_location() (&errno) +# define _STAT_VER 0 -+# define dirfd(dirp) ((dirp)->dd_fd) ++# define locdirfd(dirp) ((dirp)->dd_fd) +# define __fxstat64(_stat_ver, _fd, _sbp) fstat((_fd), (_sbp)) +# define _D_EXACT_NAMLEN(d) ((d)->d_namlen) +#endif ++#if !defined(locdirfd) ++# define locdirfd(dirp) dirfd(dirp) ++#endif #include "system.h" #include "fts.h" #include "rpmio.h" -@@ -73,7 +104,12 @@ +@@ -73,7 +107,12 @@ /* Largest alignment size needed, minus one. Usually long double is the worst case. */ #ifndef ALIGNBYTES @@ -911,7 +916,7 @@ #endif /* Align P to that size. */ #ifndef ALIGN -@@ -107,9 +143,13 @@ +@@ -107,9 +146,13 @@ /*@modifies fileSystem, internalState @*/; #ifndef MAX @@ -925,6 +930,15 @@ #endif #define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) +@@ -719,7 +762,7 @@ + */ + cderrno = 0; + if (nlinks || type == BREAD) { +- if (fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) { ++ if (fts_safe_changedir(sp, cur, locdirfd(dirp), NULL)) { + if (nlinks && type == BREAD) + cur->fts_errno = errno; + cur->fts_flags |= FTS_DONTCHDIR; +--------------------------------------------------------------------------- | Remove inclusion of system because RPM uses its own glob(3) @@ -1524,10 +1538,3 @@ - #endif /* err.h */ -+--------------------------------------------------------------------------- -| Due to either GCC enforcing ISO C or faulty references in the -| rpmio component, Solaris 11 fails to build while compiling fts.c. -| Hack a custom 'dirent.h' as found in /usr/include, remove the -| line 104 'extern int dirfd(DIR *);' from the header file, and -| place in directory openpkg-`date +%Y%m%d`/rpm-/rpmio/. -+---------------------------------------------------------------------------