1.1 --- a/openpkg/rpm.patch.porting Tue Jan 06 23:40:39 2009 +0100 1.2 +++ b/openpkg/rpm.patch.porting Tue Jan 06 23:42:49 2009 +0100 1.3 @@ -1482,3 +1482,52 @@ 1.4 #include <ctype.h> 1.5 1.6 /* The code at the top of get_date which figures out the offset of the 1.7 + 1.8 ++--------------------------------------------------------------------------- 1.9 +| The following patch works around a general failure of RPM to 1.10 +| adhere to the ISO C standard, for which newer GCC releases claim 1.11 +| compile errors and fail. 1.12 ++--------------------------------------------------------------------------- 1.13 +Index: misc/err.h 1.14 +--- misc/err.h 2009-01-06 22:48:16.104430941 +0100 1.15 ++++ misc/err.h 2009-01-06 22:47:55.944312482 +0100 1.16 +@@ -29,31 +29,4 @@ 1.17 + # define __gnuc_va_list __ptr_t 1.18 + #endif 1.19 + 1.20 +-__BEGIN_DECLS 1.21 +- 1.22 +-/* Print "program: ", FORMAT, ": ", the standard error string for errno, 1.23 +- and a newline, on stderr. */ 1.24 +-extern void warn __P ((__const char *__format, ...)) 1.25 +- __attribute__ ((__format__ (__printf__, 1, 2))); 1.26 +-extern void vwarn __P ((__const char *__format, __gnuc_va_list)) 1.27 +- __attribute__ ((__format__ (__printf__, 1, 0))); 1.28 +- 1.29 +-/* Likewise, but without ": " and the standard error string. */ 1.30 +-extern void warnx __P ((__const char *__format, ...)) 1.31 +- __attribute__ ((__format__ (__printf__, 1, 2))); 1.32 +-extern void vwarnx __P ((__const char *__format, __gnuc_va_list)) 1.33 +- __attribute__ ((__format__ (__printf__, 1, 0))); 1.34 +- 1.35 +-/* Likewise, and then exit with STATUS. */ 1.36 +-extern void err __P ((int __status, __const char *__format, ...)) 1.37 +- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); 1.38 +-extern void verr __P ((int __status, __const char *__format, __gnuc_va_list)) 1.39 +- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); 1.40 +-extern void errx __P ((int __status, __const char *__format, ...)) 1.41 +- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); 1.42 +-extern void verrx __P ((int __status, __const char *, __gnuc_va_list)) 1.43 +- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); 1.44 +- 1.45 +-__END_DECLS 1.46 +- 1.47 + #endif /* err.h */ 1.48 + 1.49 ++--------------------------------------------------------------------------- 1.50 +| Due to either GCC enforcing ISO C or faulty references in the 1.51 +| rpmio component, Solaris 11 fails to build while compiling fts.c. 1.52 +| Hack a custom 'dirent.h' as found in /usr/include, remove the 1.53 +| line 104 'extern int dirfd(DIR *);' from the header file, and 1.54 +| place in directory openpkg-`date +%Y%m%d`/rpm-<version>/rpmio/. 1.55 ++---------------------------------------------------------------------------