diff options
author | abs <abs> | 2002-07-03 22:43:39 +0000 |
---|---|---|
committer | abs <abs> | 2002-07-03 22:43:39 +0000 |
commit | 95a51c8a3f27b646e6bc6aaaa94969d18dd6964f (patch) | |
tree | 01d34b1d366ef21489df0d717c70c90a56fc5712 /pkgtools/pkg_install | |
parent | ebd54968e27ac7e986e4849d6e3b9a8d37dfb249 (diff) | |
download | pkgsrc-95a51c8a3f27b646e6bc6aaaa94969d18dd6964f.tar.gz |
Compile and run under Linux. We're still missing pax and mtree, but using the
Darwin bootstrap kit everything else now works.
Diffstat (limited to 'pkgtools/pkg_install')
-rw-r--r-- | pkgtools/pkg_install/Makefile | 12 | ||||
-rw-r--r-- | pkgtools/pkg_install/distinfo | 13 | ||||
-rw-r--r-- | pkgtools/pkg_install/patches/patch-aa | 49 | ||||
-rw-r--r-- | pkgtools/pkg_install/patches/patch-ab | 37 | ||||
-rw-r--r-- | pkgtools/pkg_install/patches/patch-ac | 46 | ||||
-rw-r--r-- | pkgtools/pkg_install/patches/patch-ad | 36 | ||||
-rw-r--r-- | pkgtools/pkg_install/patches/patch-ae | 15 | ||||
-rw-r--r-- | pkgtools/pkg_install/patches/patch-af | 14 | ||||
-rw-r--r-- | pkgtools/pkg_install/patches/patch-ag | 16 | ||||
-rw-r--r-- | pkgtools/pkg_install/patches/patch-ah | 77 |
10 files changed, 242 insertions, 73 deletions
diff --git a/pkgtools/pkg_install/Makefile b/pkgtools/pkg_install/Makefile index 4ecdf53c019..f2865f01fd1 100644 --- a/pkgtools/pkg_install/Makefile +++ b/pkgtools/pkg_install/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.48 2002/06/10 05:51:05 martti Exp $ +# $NetBSD: Makefile,v 1.49 2002/07/03 22:43:39 abs Exp $ # Note to package maintainers: # To update the distfile of this pkg, cd to /usr/src/usr.sbin, @@ -45,6 +45,16 @@ MAKE_ENV+= MANINSTALL= MKMAN=no NOMAN=YES MAKE_ENV+= ZOULARISBASE=${ZOULARISBASE} .endif +.if ${OPSYS} == "Linux" +MAKE_ENV+= DIGESTDIR=${.CURDIR}/../digest/files +CPPFLAGS+= -I${DIGESTDIR} -I${DIGESTDIR} +CPPFLAGS+= -D__COPYRIGHT\(x\)=\; -D__RCSID\(x\)=\; +MAKE_ENV+= LORDER=echo TSORT=tsort +MAKE_ENV+= BINGRP=${BINGRP} BINOWN=${BINOWN} +MAKE_ENV+= BINDIR=${PKG_TOOLS_BIN} +MAKE_ENV+= MANDIR=${PKG_TOOLS_BIN}/../man +.endif + .if ${OPSYS} == "Darwin" MAKE_ENV+= DIGESTDIR=${.CURDIR}/../digest/files CPPFLAGS+= -I${DIGESTDIR} -I${DIGESTDIR} diff --git a/pkgtools/pkg_install/distinfo b/pkgtools/pkg_install/distinfo index b82c22294f2..cf5e3039a6f 100644 --- a/pkgtools/pkg_install/distinfo +++ b/pkgtools/pkg_install/distinfo @@ -1,7 +1,12 @@ -$NetBSD: distinfo,v 1.8 2002/06/10 05:51:05 martti Exp $ +$NetBSD: distinfo,v 1.9 2002/07/03 22:43:39 abs Exp $ SHA1 (pkg_install-20020402.tar.gz) = 36094d2e056207a9cfd7ccc63a1e8bdfa7b88c33 Size (pkg_install-20020402.tar.gz) = 81920 bytes -SHA1 (patch-aa) = a82a64f574401661f05aed6e617ca7c2d6365446 -SHA1 (patch-ab) = 9b0f1697fd2c800c4a862e5b26fa033c615e5f8b -SHA1 (patch-ac) = fff98679f4d9d5fd5ed6be06fa236dd74bb9181e +SHA1 (patch-aa) = 0b2297284a506167cadb417d0d6fe74bf10fca89 +SHA1 (patch-ab) = 0b5effbb41b34f96877d3f9494d6cf5054795414 +SHA1 (patch-ac) = c3ed2bd2cbe33d8bc0ea1d2de34aa44da0f4716b +SHA1 (patch-ad) = 4adf3b44a81ce34bedf74530cccdca0b8a4f066d +SHA1 (patch-ae) = 021db3f24f483c3eb10c966eeb8cde4b3b5baf2d +SHA1 (patch-af) = b1d9ce8d3c3e592a67db7ac9676a72317a1485c5 +SHA1 (patch-ag) = e30435f0a626a893934c725c605486a145e27690 +SHA1 (patch-ah) = 8775f272bc3fcc422d5ec5a92d1cf10163a857ca diff --git a/pkgtools/pkg_install/patches/patch-aa b/pkgtools/pkg_install/patches/patch-aa index 8d26755d6a9..f66811ca050 100644 --- a/pkgtools/pkg_install/patches/patch-aa +++ b/pkgtools/pkg_install/patches/patch-aa @@ -1,13 +1,42 @@ -$NetBSD: patch-aa,v 1.5 2002/03/04 13:48:31 seb Exp $ +$NetBSD: patch-aa,v 1.6 2002/07/03 22:43:40 abs Exp $ ---- Makefile.orig Fri Feb 8 19:18:50 2002 -+++ Makefile -@@ -2,5 +2,7 @@ - # Original from FreeBSD, no rcs id. +--- Makefile.inc.orig Sun Apr 8 15:11:48 2001 ++++ Makefile.inc +@@ -3,6 +3,9 @@ --SUBDIR=lib .WAIT add admin create delete info -+SUBDIR=lib add admin create delete info -+ -+all-add all-admin all-create all-delete all-info: all-lib + .include <bsd.own.mk> - .include <bsd.subdir.mk> ++.if !defined(PRINTOBJDIR) ++PRINTOBJDIR= printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}\n" | ${MAKE} -B -s -f- ++.endif + LIBINSTALL != cd ${.CURDIR}/../lib && ${PRINTOBJDIR} + CPPFLAGS+=-I${.CURDIR}/../lib ${DEBUG} -DBINDIR='"${BINDIR}"' + +@@ -32,9 +35,27 @@ + CHGRP?= /usr/bin/chgrp + WARNS=0 + .elif ${OPSYS} == "Linux" ++LOCALBASE?= /usr/pkg + CHMOD?= /bin/chmod + CHOWN?= /bin/chown + CHGRP?= /bin/chgrp ++LDADD+= -ldb1 ++.PATH: ${DIGESTDIR} ++CPPFLAGS+= -I${DIGESTDIR} ++MKCATPAGES= no ++TAR_CMD?= tar ++TAR_FULLPATHNAME?= /bin/${TAR_CMD} ++CPPFLAGS+=-DTAR_CMD='"${TAR_CMD}"' -DTAR_FULLPATHNAME='"${TAR_FULLPATHNAME}"' ++CPPFLAGS+=-DTAR_MISSING_FAST_READ -DFGETLN_MISSING ++.elif ${OPSYS} == "Darwin" ++CHMOD?= /bin/chmod ++CHOWN?= /usr/sbin/chown ++CHGRP?= /usr/bin/chgrp ++TAR_CMD?= gnutar ++TAR_FULLPATHNAME?= /usr/bin/${TAR_CMD} ++CPPFLAGS+=-DTAR_CMD='"${TAR_CMD}"' -DTAR_FULLPATHNAME='"${TAR_FULLPATHNAME}"' ++.PATH: ${DIGESTDIR} ++CPPFLAGS+= -I${DIGESTDIR} + .endif + + CPPFLAGS+= -DCHMOD='"${CHMOD}"' -DCHOWN='"${CHOWN}"' -DCHGRP='"${CHGRP}"' diff --git a/pkgtools/pkg_install/patches/patch-ab b/pkgtools/pkg_install/patches/patch-ab index 5fb9a40310c..00b6baf6d32 100644 --- a/pkgtools/pkg_install/patches/patch-ab +++ b/pkgtools/pkg_install/patches/patch-ab @@ -1,30 +1,13 @@ -$NetBSD: patch-ab,v 1.5 2002/06/08 16:45:48 schmonz Exp $ +$NetBSD: patch-ab,v 1.6 2002/07/03 22:43:40 abs Exp $ ---- Makefile.inc 2001/12/17 21:10:41 1.1 -+++ Makefile.inc 2001/12/17 21:13:54 -@@ -3,6 +3,9 @@ +--- Makefile.orig Tue Jan 9 03:13:43 2001 ++++ Makefile +@@ -2,5 +2,7 @@ + # Original from FreeBSD, no rcs id. - .include <bsd.own.mk> +-SUBDIR=lib .WAIT add admin create delete info ++SUBDIR=lib add admin create delete info ++ ++all-add all-admin all-create all-delete all-info: all-lib -+.if !defined(PRINTOBJDIR) -+PRINTOBJDIR= printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}\n" | ${MAKE} -B -s -f- -+.endif - LIBINSTALL != cd ${.CURDIR}/../lib && ${PRINTOBJDIR} - CPPFLAGS+=-I${.CURDIR}/../lib ${DEBUG} -DBINDIR='"${BINDIR}"' - -@@ -35,6 +38,15 @@ - CHMOD?= /bin/chmod - CHOWN?= /bin/chown - CHGRP?= /bin/chgrp -+.elif ${OPSYS} == "Darwin" -+CHMOD?= /bin/chmod -+CHOWN?= /usr/sbin/chown -+CHGRP?= /usr/bin/chgrp -+TAR_CMD?= gnutar -+TAR_FULLPATHNAME?= /usr/bin/${TAR_CMD} -+CPPFLAGS+=-DTAR_CMD='"${TAR_CMD}"' -DTAR_FULLPATHNAME='"${TAR_FULLPATHNAME}"' -+.PATH: ${DIGESTDIR} -+CPPFLAGS+= -I${DIGESTDIR} - .endif - - CPPFLAGS+= -DCHMOD='"${CHMOD}"' -DCHOWN='"${CHOWN}"' -DCHGRP='"${CHGRP}"' + .include <bsd.subdir.mk> diff --git a/pkgtools/pkg_install/patches/patch-ac b/pkgtools/pkg_install/patches/patch-ac index 80bf79996ee..ae33c185d88 100644 --- a/pkgtools/pkg_install/patches/patch-ac +++ b/pkgtools/pkg_install/patches/patch-ac @@ -1,32 +1,16 @@ -$NetBSD: patch-ac,v 1.3 2002/03/04 13:48:31 seb Exp $ +$NetBSD: patch-ac,v 1.4 2002/07/03 22:43:40 abs Exp $ ---- lib/Makefile.orig Sat Jan 5 17:36:57 2002 -+++ lib/Makefile -@@ -5,13 +5,27 @@ - SRCS+= exec.c file.c ftpio.c global.c lpkg.c pen.c pkgdb.c \ - plist.c str.c version.c - -+OPSYS!= uname -s -+ -+.if ${OPSYS} == "Darwin" -+SRCS+= md5c.c md5hl.c -+.endif -+ - NOLINT= # defined - NOMAN= # defined - NOPIC= # defined - NOPROFILE= # defined -+MKLINT= no -+MKMAN= no -+MKPIC= no -+MKPROFILE= no - - # only needed during build - prevent installation of library -+.if ${OPSYS} == "Darwin" -+install:: -+.else - libinstall:: -+.endif - - version.o: version.h version.c - +--- add/perform.c.orig Tue Apr 2 16:08:33 2002 ++++ add/perform.c +@@ -347,7 +347,11 @@ + goto bomb; + } + } ++#ifdef TAR_MISSING_FAST_READ ++ (void) snprintf(extract_contents, sizeof(extract_contents), "%s", CONTENTS_FNAME); ++#else + (void) snprintf(extract_contents, sizeof(extract_contents), "--fast-read %s", CONTENTS_FNAME); ++#endif + extract = extract_contents; + } else { + /* some values for stdin */ diff --git a/pkgtools/pkg_install/patches/patch-ad b/pkgtools/pkg_install/patches/patch-ad new file mode 100644 index 00000000000..8c1dd4231b7 --- /dev/null +++ b/pkgtools/pkg_install/patches/patch-ad @@ -0,0 +1,36 @@ +$NetBSD: patch-ad,v 1.1 2002/07/03 22:43:40 abs Exp $ + +--- lib/Makefile.orig Wed Dec 12 01:48:54 2001 ++++ lib/Makefile +@@ -5,13 +5,31 @@ + SRCS+= exec.c file.c ftpio.c global.c lpkg.c pen.c pkgdb.c \ + plist.c str.c version.c + ++OPSYS!= uname -s ++ ++.if ${OPSYS} == "Darwin" ++SRCS+= md5c.c md5hl.c ++.endif ++ ++.if ${OPSYS} == "Linux" ++SRCS+= fgetln.c md5c.c md5hl.c ++.endif ++ + NOLINT= # defined + NOMAN= # defined + NOPIC= # defined + NOPROFILE= # defined ++MKLINT= no ++MKMAN= no ++MKPIC= no ++MKPROFILE= no + + # only needed during build - prevent installation of library ++.if ${OPSYS} == "Darwin" ++install:: ++.else + libinstall:: ++.endif + + version.o: version.h version.c + diff --git a/pkgtools/pkg_install/patches/patch-ae b/pkgtools/pkg_install/patches/patch-ae new file mode 100644 index 00000000000..11150cb8493 --- /dev/null +++ b/pkgtools/pkg_install/patches/patch-ae @@ -0,0 +1,15 @@ +$NetBSD: patch-ae,v 1.1 2002/07/03 22:43:40 abs Exp $ + +--- lib/lib.h.orig Fri May 10 14:17:57 2002 ++++ lib/lib.h +@@ -257,6 +257,10 @@ + /* For all */ + int pkg_perform(lpkg_head_t *); + ++#ifdef FGETLN_MISSING ++char *fgetln(FILE *, size_t *); ++#endif ++ + /* Externs */ + extern Boolean Verbose; + extern Boolean Fake; diff --git a/pkgtools/pkg_install/patches/patch-af b/pkgtools/pkg_install/patches/patch-af new file mode 100644 index 00000000000..75340c8ebf1 --- /dev/null +++ b/pkgtools/pkg_install/patches/patch-af @@ -0,0 +1,14 @@ +$NetBSD: patch-af,v 1.1 2002/07/03 22:43:41 abs Exp $ + +--- lib/pen.c.orig Fri Jan 5 03:27:28 2001 ++++ lib/pen.c +@@ -34,6 +34,9 @@ + #include <sys/signal.h> + #include <sys/param.h> + #include <sys/mount.h> ++#ifdef __linux__ ++#include <sys/vfs.h> ++#endif + + /* For keeping track of where we are */ + static char Current[FILENAME_MAX]; diff --git a/pkgtools/pkg_install/patches/patch-ag b/pkgtools/pkg_install/patches/patch-ag new file mode 100644 index 00000000000..8096c065eb0 --- /dev/null +++ b/pkgtools/pkg_install/patches/patch-ag @@ -0,0 +1,16 @@ +$NetBSD: patch-ag,v 1.1 2002/07/03 22:43:41 abs Exp $ + +--- lib/pkgdb.c.orig Sun Sep 16 17:34:45 2001 ++++ lib/pkgdb.c +@@ -35,7 +35,11 @@ + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#ifdef __linux__ ++#include <db1/db.h> ++#else + #include <db.h> ++#endif + #include <err.h> + #include <errno.h> + #include <fcntl.h> diff --git a/pkgtools/pkg_install/patches/patch-ah b/pkgtools/pkg_install/patches/patch-ah new file mode 100644 index 00000000000..3e3aa23b5a8 --- /dev/null +++ b/pkgtools/pkg_install/patches/patch-ah @@ -0,0 +1,77 @@ +*** /dev/null Wed Apr 10 16:37:55 2002 +--- lib/fgetln.c Fri Jun 21 17:18:19 2002 +*************** +*** 0 **** +--- 1,72 ---- ++ /* $Id: patch-ah,v 1.1 2002/07/03 22:43:41 abs Exp $ */ ++ ++ /* ++ * Copyright 1999 Luke Mewburn <lukem@netbsd.org>. ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. The name of the author may not be used to endorse or promote products ++ * derived from this software without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS ++ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ++ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR ++ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE ++ * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++ #include "lib.h" ++ #include <err.h> ++ ++ #define BUFCHUNKS BUFSIZ ++ ++ char * ++ fgetln(FILE *fp, size_t *len) ++ { ++ static char *buf; ++ static size_t bufsize; ++ size_t buflen; ++ char curbuf[BUFCHUNKS]; ++ char *p; ++ ++ if (buf == NULL) { ++ bufsize = BUFCHUNKS; ++ buf = (char *)malloc(bufsize); ++ if (buf == NULL) ++ err(1, "Unable to allocate buffer for fgetln()"); ++ } ++ ++ *buf = '\0'; ++ buflen = 0; ++ while ((p = fgets(curbuf, sizeof(curbuf), fp)) != NULL) { ++ size_t l; ++ ++ l = strlen(p); ++ if (bufsize < buflen + l) { ++ bufsize += BUFCHUNKS; ++ if ((buf = (char *)realloc(buf, bufsize)) == NULL) ++ err(1, "Unable to allocate %ld bytes of memory", ++ (long)bufsize); ++ } ++ strcpy(buf + buflen, p); ++ buflen += l; ++ if (p[l - 1] == '\n') ++ break; ++ } ++ if (p == NULL && *buf == '\0') ++ return (NULL); ++ *len = strlen(buf); ++ return (buf); ++ } |