소스 검색

add FreeBSD 5.0-CURRENT support

Ralf S. Engelschall 23 년 전
부모
커밋
66f046f5ee
4개의 변경된 파일88개의 추가작업 그리고 16개의 파일을 삭제
  1. 1 0
      openpkg/README
  2. 51 0
      openpkg/make.patch
  3. 21 16
      openpkg/openpkg.spec
  4. 15 0
      openpkg/rpm.patch.porting

+ 1 - 0
openpkg/README

@@ -16,6 +16,7 @@
 
   gzip-1.3.5.tar .......... untouched distribution tarball of the GNU gzip tool
   make-3.80.tar.gz ........ untouched distribution tarball of the GNU make tool
+  make.patch .............. patch for GNU make
   patch-2.5.4.tar.gz ...... untouched distribution tarball of the GNU patch tool
   bash-2.05b.tar.gz ....... untouched distribution tarball of the GNU bash tool
   tar-1.13.25.tar.gz ...... untouched distribution tarball of the GNU tar tool

+ 51 - 0
openpkg/make.patch

@@ -0,0 +1,51 @@
+--- glob/glob.c.orig	Wed Sep 25 03:11:43 2002
++++ glob/glob.c	Wed Sep 25 03:15:32 2002
+@@ -215,13 +215,13 @@
+ #  ifdef HAVE_ALLOCA_H
+ #   include <alloca.h>
+ #  else	/* Not HAVE_ALLOCA_H.  */
+-#   ifndef _AIX
++#   if !defined (_AIX) && !defined (__FreeBSD__)
+ #    ifdef WINDOWS32
+ #     include <malloc.h>
+ #    else
+ extern char *alloca ();
+ #    endif /* WINDOWS32 */
+-#   endif /* Not _AIX.  */
++#   endif /* Not _AIX && not __FreeBSD__.  */
+ #  endif /* sparc or HAVE_ALLOCA_H.  */
+ # endif	/* GCC.  */
+ 
+
+--- glob/glob.h.orig	Sat Jan 22 00:43:03 2000
++++ glob/glob.h	Fri Aug 23 02:37:03 2002
+@@ -47,6 +47,9 @@
+ 
+ /* We need `size_t' for the following definitions.  */
+ #ifndef __size_t
++#if defined __FreeBSD__
++#define __size_t size_t
++#else
+ # if defined __GNUC__ && __GNUC__ >= 2
+ typedef __SIZE_TYPE__ __size_t;
+ # else
+@@ -59,6 +62,7 @@
+  */
+ #if !(defined __DECC && defined __SIZE_T)
+ typedef unsigned long int __size_t;
++#endif
+ #endif
+ # endif
+ #else
+--- make.h.orig	Wed Sep 11 18:55:44 2002
++++ make.h	Mon Oct 21 22:05:11 2002
+@@ -33,7 +33,7 @@
+ #  ifdef _AIX
+  #pragma alloca
+ #  else
+-#   ifndef alloca /* predefined by HP cc +Olibcalls */
++#   if !defined (alloca) && !defined (__FreeBSD__) /* predefined by HP cc +Olibcalls, part of stdlib.h on FreeBSD */
+ char *alloca ();
+ #   endif
+ #  endif
+

+ 21 - 16
openpkg/openpkg.spec

@@ -39,8 +39,8 @@
 #   o any cc(1)
 
 #   the package version and release
-%define       V_openpkg 20030108
-%define       R_openpkg 20030108
+%define       V_openpkg 20030109
+%define       R_openpkg 20030109
 
 #   the used software versions
 %define       V_rpm     4.0.2
@@ -113,6 +113,7 @@ Source42:     aux.usrgrp.sh
 Source43:     mkproxyrpm.pl
 Source44:     ftp://ftp.gnu.org/gnu/config/config.guess
 Source45:     ftp://ftp.gnu.org/gnu/config/config.sub
+Source46:     make.patch
 
 #   build information
 Prefix:       %{l_prefix}
@@ -307,15 +308,6 @@ Provides:     OpenPKG
         cp `SOURCE config.sub`   $dir/
     done
 
-    #   bootstrap GNU make tool
-    ( cd make-%{V_make}
-      CC="${l_cc}" ./configure --disable-nls --disable-largefile
-      ${l_make}
-      (mv make ..; ${l_make} clean || true; mv ../make .)
-    )
-    l_make="`pwd`/make-%{V_make}/make"; export l_make
-    echo "l_make=\"$l_make\"; export l_make" >>.buildenv
-
     #   bootstrap GNU patch tool
     ( cd patch-%{V_patch}
       echo 'ac_cv_func_setmode=${ac_cv_func_setmode=no}' >config.cache
@@ -328,7 +320,7 @@ Provides:     OpenPKG
     l_patch="`pwd`/patch-%{V_patch}/patch"; export l_patch
     echo "l_patch=\"$l_patch\"; export l_patch" >>.buildenv
 
-    #   apply OpenPKG patches to RPM distribution tree
+    #   apply OpenPKG patches to distribution trees
     ( cd rpm-%{V_rpm}
       ${l_patch} -p0 <`SOURCE rpm.patch.bugfix`
       ${l_patch} -p0 <`SOURCE rpm.patch.feature`
@@ -336,11 +328,21 @@ Provides:     OpenPKG
       ${l_patch} -p0 <`SOURCE rpm.patch.regen`
       touch aclocal.m4 configure
     )
-
-    #   apply OpenPKG patches to DB distribution tree
     ( cd db-%{V_db}
       ${l_patch} -p0 <`SOURCE db.patch`
     )
+    ( cd make-%{V_make}
+      ${l_patch} -p0 <`SOURCE make.patch`
+    )
+
+    #   bootstrap GNU make tool
+    ( cd make-%{V_make}
+      CC="${l_cc}" ./configure --disable-nls --disable-largefile
+      ${l_make}
+      (mv make ..; ${l_make} clean || true; mv ../make .)
+    )
+    l_make="`pwd`/make-%{V_make}/make"; export l_make
+    echo "l_make=\"$l_make\"; export l_make" >>.buildenv
 
 %build
     #   skip in bootstrap phase 2 (see openpkg.boot)
@@ -456,10 +458,13 @@ Provides:     OpenPKG
       sed -e 's;BUFSIZ;8192;g' \
           <rpmio/macro.c >rpmio/macro.c.n && \
           mv rpmio/macro.c.n rpmio/macro.c
-      ( echo 'ac_cv_path_MSGFMT=${ac_cv_path_MSGFMT=no}' 
-        echo 'ac_cv_path_GMSGFMT=${ac_cv_path_GMSGFMT=no}' 
+      ( echo 'ac_cv_path_MSGFMT=${ac_cv_path_MSGFMT=no}'
+        echo 'ac_cv_path_GMSGFMT=${ac_cv_path_GMSGFMT=no}'
         echo "ac_cv_path_MKDIR=%{l_prefix}/lib/openpkg/shtool mkdir -f -p -m 755}"
         echo "ac_cv_path___MKDIR=%{l_prefix}/lib/openpkg/shtool mkdir -f -p -m 755}"
+        case `sh ./config.guess` in
+            *-*-freebsd5* ) echo "ac_cv_header_machine_types_h=no" ;;
+        esac
       ) >config.cache
       case `sh ./config.guess` in
           *-*-linux* ) nlsopt="--disable-nls" ;;

+ 15 - 0
openpkg/rpm.patch.porting

@@ -292,3 +292,18 @@ Index: rpmio/rpmio_internal.h
  
  #include <rpmio.h>
  #include <rpmurl.h>
++---------------------------------------------------------------------------
+| Fix for FreeBSD 5.0
++---------------------------------------------------------------------------
+Index: misc/glob.h
+--- misc/glob.h	2002/09/23 16:45:45	1.1
++++ misc/glob.h	2002/09/23 16:46:23
+@@ -46,7 +46,7 @@
+ #endif /* C++ or ANSI C.  */
+ 
+ /* We need `size_t' for the following definitions.  */
+-#ifndef __size_t
++#if !defined(__size_t) && !defined(_SIZE_T_DECLARED)
+ # if defined __GNUC__ && __GNUC__ >= 2
+ typedef __SIZE_TYPE__ __size_t;
+ #  ifdef _XOPEN_SOURCE