Tue, 06 Jan 2009 23:42:49 +0100
Port miniperl and rpmio components to Solaris 11.
openpkg/HISTORY | file | annotate | diff | comparison | revisions | |
openpkg/openpkg.spec | file | annotate | diff | comparison | revisions | |
openpkg/perl.patch | file | annotate | diff | comparison | revisions | |
openpkg/rpm.patch.porting | file | annotate | diff | comparison | revisions |
1.1 --- a/openpkg/HISTORY Tue Jan 06 23:40:39 2009 +0100 1.2 +++ b/openpkg/HISTORY Tue Jan 06 23:42:49 2009 +0100 1.3 @@ -1,3 +1,12 @@ 1.4 +2009 1.5 +==== 1.6 + 1.7 +20090106 port miniperl and rpmio to Solaris 11 1.8 + 1.9 +2008 1.10 +==== 1.11 + 1.12 +20080101 closedpkg 1.13 1.14 2007 1.15 ====
2.1 --- a/openpkg/openpkg.spec Tue Jan 06 23:40:39 2009 +0100 2.2 +++ b/openpkg/openpkg.spec Tue Jan 06 23:42:49 2009 +0100 2.3 @@ -39,7 +39,7 @@ 2.4 # o any cc(1) 2.5 2.6 # the package version/release 2.7 -%define V_openpkg 20071227 2.8 +%define V_openpkg 20090106 2.9 2.10 # the used software versions 2.11 %define V_rpm 4.2.1
3.1 --- a/openpkg/perl.patch Tue Jan 06 23:40:39 2009 +0100 3.2 +++ b/openpkg/perl.patch Tue Jan 06 23:42:49 2009 +0100 3.3 @@ -15,7 +15,7 @@ 3.4 my $installman1dir = "$destdir$Config{installman1dir}"; 3.5 my $man1ext = $Config{man1ext}; 3.6 my $libperl = $Config{libperl}; 3.7 -@@ -403,6 +405,8 @@ 3.8 +@@ -372,6 +374,8 @@ 3.9 mkpath($installarchlib, $verbose, 0777); 3.10 mkpath($installsitelib, $verbose, 0777) if ($installsitelib); 3.11 mkpath($installsitearch, $verbose, 0777) if ($installsitearch); 3.12 @@ -38,7 +38,7 @@ 3.13 Index: perl.c 3.14 --- perl.c.orig 2006-08-15 14:37:41 +0200 3.15 +++ perl.c 2006-08-18 21:08:14 +0200 3.16 -@@ -4749,39 +4749,6 @@ 3.17 +@@ -4753,39 +4753,6 @@ 3.18 incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE); 3.19 #endif 3.20 3.21 @@ -78,7 +78,7 @@ 3.22 #ifdef SITEARCH_EXP 3.23 /* sitearch is always relative to sitelib on Windows for 3.24 * DLL-based path intuition to work correctly */ 3.25 -@@ -4824,6 +4791,39 @@ 3.26 +@@ -4828,6 +4795,39 @@ 3.27 incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE, TRUE); 3.28 #endif 3.29 3.30 @@ -160,7 +160,7 @@ 3.31 Index: perlio.c 3.32 --- perlio.c.orig 2006-08-15 14:37:41 +0200 3.33 +++ perlio.c 2006-08-18 21:05:05 +0200 3.34 -@@ -461,7 +461,14 @@ 3.35 +@@ -472,7 +472,14 @@ 3.36 #include <unistd.h> 3.37 #endif 3.38 #ifdef HAS_MMAP 3.39 @@ -211,9 +211,9 @@ 3.40 Index: Configure 3.41 --- Configure.orig 2006-08-15 14:37:40 +0200 3.42 +++ Configure 2006-08-18 21:05:05 +0200 3.43 -@@ -7787,7 +7787,7 @@ 3.44 - ;; 3.45 - linux|irix*|gnu*) dflt='-shared' ;; 3.46 +@@ -7871,7 +7871,7 @@ 3.47 + ;; 3.48 + linux|irix*|gnu*) dflt="-shared $optimize" ;; 3.49 next) dflt='none' ;; 3.50 - solaris) dflt='-G' ;; 3.51 + solaris) dflt='-shared' ;; 3.52 @@ -228,7 +228,7 @@ 3.53 Index: sv.c 3.54 --- sv.c.orig 2006-08-15 14:37:41 +0200 3.55 +++ sv.c 2006-08-18 21:05:05 +0200 3.56 -@@ -8595,7 +8595,10 @@ 3.57 +@@ -8667,7 +8667,10 @@ 3.58 if ( (width = expect_number(&q)) ) { 3.59 if (*q == '$') { 3.60 ++q; 3.61 @@ -241,3 +241,19 @@ 3.62 goto gotwidth; 3.63 } 3.64 3.65 +----------------------------------------------------------------------------- 3.66 + 3.67 +Corrections for Solaris 11: 3.68 + 3.69 +Index: perl.h 3.70 +diff -Nau perl.h.orig perl.h 3.71 +--- perl.h.orig 2007-12-18 11:47:08.000000000 +0100 3.72 ++++ perl.h 2009-01-06 15:28:45.843276063 +0100 3.73 +@@ -1393,6 +1393,7 @@ 3.74 + */ 3.75 + 3.76 + #if defined(I_SYSMODE) && !defined(PERL_MICRO) 3.77 ++#include <sys/vnode.h> 3.78 + #include <sys/mode.h> 3.79 + #endif 3.80 +
4.1 --- a/openpkg/rpm.patch.porting Tue Jan 06 23:40:39 2009 +0100 4.2 +++ b/openpkg/rpm.patch.porting Tue Jan 06 23:42:49 2009 +0100 4.3 @@ -1482,3 +1482,52 @@ 4.4 #include <ctype.h> 4.5 4.6 /* The code at the top of get_date which figures out the offset of the 4.7 + 4.8 ++--------------------------------------------------------------------------- 4.9 +| The following patch works around a general failure of RPM to 4.10 +| adhere to the ISO C standard, for which newer GCC releases claim 4.11 +| compile errors and fail. 4.12 ++--------------------------------------------------------------------------- 4.13 +Index: misc/err.h 4.14 +--- misc/err.h 2009-01-06 22:48:16.104430941 +0100 4.15 ++++ misc/err.h 2009-01-06 22:47:55.944312482 +0100 4.16 +@@ -29,31 +29,4 @@ 4.17 + # define __gnuc_va_list __ptr_t 4.18 + #endif 4.19 + 4.20 +-__BEGIN_DECLS 4.21 +- 4.22 +-/* Print "program: ", FORMAT, ": ", the standard error string for errno, 4.23 +- and a newline, on stderr. */ 4.24 +-extern void warn __P ((__const char *__format, ...)) 4.25 +- __attribute__ ((__format__ (__printf__, 1, 2))); 4.26 +-extern void vwarn __P ((__const char *__format, __gnuc_va_list)) 4.27 +- __attribute__ ((__format__ (__printf__, 1, 0))); 4.28 +- 4.29 +-/* Likewise, but without ": " and the standard error string. */ 4.30 +-extern void warnx __P ((__const char *__format, ...)) 4.31 +- __attribute__ ((__format__ (__printf__, 1, 2))); 4.32 +-extern void vwarnx __P ((__const char *__format, __gnuc_va_list)) 4.33 +- __attribute__ ((__format__ (__printf__, 1, 0))); 4.34 +- 4.35 +-/* Likewise, and then exit with STATUS. */ 4.36 +-extern void err __P ((int __status, __const char *__format, ...)) 4.37 +- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); 4.38 +-extern void verr __P ((int __status, __const char *__format, __gnuc_va_list)) 4.39 +- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); 4.40 +-extern void errx __P ((int __status, __const char *__format, ...)) 4.41 +- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); 4.42 +-extern void verrx __P ((int __status, __const char *, __gnuc_va_list)) 4.43 +- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); 4.44 +- 4.45 +-__END_DECLS 4.46 +- 4.47 + #endif /* err.h */ 4.48 + 4.49 ++--------------------------------------------------------------------------- 4.50 +| Due to either GCC enforcing ISO C or faulty references in the 4.51 +| rpmio component, Solaris 11 fails to build while compiling fts.c. 4.52 +| Hack a custom 'dirent.h' as found in /usr/include, remove the 4.53 +| line 104 'extern int dirfd(DIR *);' from the header file, and 4.54 +| place in directory openpkg-`date +%Y%m%d`/rpm-<version>/rpmio/. 4.55 ++---------------------------------------------------------------------------