Annotation of pkgsrc/pkgtools/pkg_install/Makefile, Revision 1.137
1.137 ! joerg 1: # $NetBSD: Makefile,v 1.136 2007/07/29 17:39:31 seb Exp $
1.4 hubertf 2:
1.58 schmonz 3: # Notes to package maintainers:
1.57 hubertf 4: #
1.58 schmonz 5: # To update this package, import from src/usr.sbin/pkg_install.
1.57 hubertf 6: #
1.58 schmonz 7: # Updating this package does not automatically necessitate bumping
8: # PKGTOOLS_REQD in bsd.pkg.mk. Do so if and only if there is a critical
9: # change in the pkg_* tools that pkgsrc relies on for proper operation.
1.57 hubertf 10:
1.58 schmonz 11: DISTNAME= pkg_install-${VERSION}
1.1 agc 12: CATEGORIES= pkgtools
1.58 schmonz 13: MASTER_SITES= # empty
14: DISTFILES= # empty
1.1 agc 15:
1.134 joerg 16: MAINTAINER= joerg@NetBSD.org
1.82 reed 17: HOMEPAGE= http://www.pkgsrc.org/
1.90 grant 18: COMMENT= Package management and administration tools for pkgsrc
1.60 schmonz 19:
1.133 joerg 20: PKG_DESTDIR_SUPPORT= user-destdir
21:
1.132 adrianp 22: CONFLICTS+= audit-packages-[0-9]*
23:
1.115 rillig 24: GNU_CONFIGURE= yes
1.122 rillig 25: CONFIGURE_ARGS+= --with-pkgdbdir=${PKG_DBDIR:Q}
1.110 uebayasi 26: CONFIGURE_ARGS+= --with-ftp="\"${FETCH_CMD}"\"
27: CONFIGURE_ARGS+= --with-pax="\"${PAX}"\"
28: CONFIGURE_ARGS+= --with-tar="\"${TAR}"\"
1.134 joerg 29: USE_TOOLS+= pax:run tar:run gzcat:run
1.58 schmonz 30:
1.113 jlam 31: # The following tools are needed by pkg_view and linkfarm.
1.114 jlam 32: USE_TOOLS+= chmod cmp cp env find grep ln mkdir rm rmdir \
1.113 jlam 33: sed sort touch
34:
1.121 erh 35: SKIP_AUDIT_PACKAGES= yes
1.122 rillig 36: NO_PKGTOOLS_REQD_CHECK= yes
1.115 rillig 37: NO_CHECKSUM= yes
38: NO_MTREE= yes
1.122 rillig 39: PKG_PRESERVE= yes
1.1 agc 40:
1.97 jlam 41: # These are needed to solve a chicken-and-egg problem where pkgsrc uses
1.96 jlam 42: # newer features of pkg_install, but older NetBSD installations won't
43: # support them. In this case, we explicitly use the native GCC
44: # compiler to avoid problems with depending on pkgsrc GCC for building
1.128 jlam 45: # pkg_install.
1.117 jlam 46: #
47: # We also use the newly built pkg_delete since upgrading from an older
48: # pkg_install might required features of the new program.
1.96 jlam 49: #
50: USE_NATIVE_GCC= yes
1.117 jlam 51: PKG_DELETE= ${WRKSRC}/delete/pkg_delete
1.89 grant 52:
1.100 tv 53: CPPFLAGS+= -DDEF_UMASK=${DEF_UMASK}
1.132 adrianp 54: CPPFLAGS+= -DPREFIX="\"${PREFIX}\""
55: CPPFLAGS+= -DSYSCONFDIR="\"${PKG_SYSCONFDIR}\""
1.100 tv 56:
1.122 rillig 57: MAKE_ENV+= MACHINE_ARCH=${MACHINE_ARCH:Q}
58: MAKE_ENV+= OPSYS=${OPSYS:Q}
1.91 grant 59:
1.92 jlam 60: PKG_DBDIR?= /var/db/pkg
1.136 seb 61: PKG_INFO= ${PKG_INFO_CMD} -K ${PKG_DBDIR:Q}
62: PKG_ADMIN= ${PKG_ADMIN_CMD} -K ${PKG_DBDIR:Q}
1.132 adrianp 63: EGDIR= ${PREFIX}/share/examples/pkg_install
1.92 jlam 64:
1.122 rillig 65: PLIST_SUBST+= PKG_DBDIR=${PKG_DBDIR:Q}
1.117 jlam 66:
1.125 jlam 67: DEINSTALL_SRC= # empty
1.124 jlam 68: INSTALL_SRC= ${PKGDIR}/INSTALL
69: FILES_SUBST+= PKG_DBDIR=${PKG_DBDIR:Q} \
70: PKG_TOOLS_BIN=${PKG_TOOLS_BIN:Q} \
71: MKDIR=${MKDIR:Q}
1.132 adrianp 72: MESSAGE_SUBST+= PKGVULNDIR=${PKG_DBDIR:Q} \
73: EGDIR=${EGDIR:Q}
1.124 jlam 74:
1.92 jlam 75: .include "../../mk/bsd.prefs.mk"
76:
1.58 schmonz 77: VERSION!= ${AWK} -F '"' '/PKGTOOLS_VERSION/ {print $$2}' \
78: ${FILESDIR}/lib/version.h
1.78 jlam 79:
1.135 adrianp 80: # Make sure the audit-packages files pick up the right tools in the right
81: # places.
1.132 adrianp 82: #
83: SUBST_CLASSES= paths
84: SUBST_STAGE.paths= pre-configure
85: SUBST_MESSAGE.paths= Fixing paths in scripts.
1.135 adrianp 86: SUBST_FILES.paths= audit-packages/Makefile.in
87: SUBST_SED.paths= -e 's,_gzcat_,${GZCAT},g'
1.132 adrianp 88:
1.137 ! joerg 89: .include "../../archivers/bzip2/builtin.mk"
! 90: .include "../../archivers/libarchive/builtin.mk"
! 91: .include "../../devel/zlib/builtin.mk"
! 92:
! 93: USE_BUILTIN.bzip2= no
! 94: USE_BUILTIN.zlib= no
! 95:
! 96: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS]) || \
! 97: empty(USE_BUILTIN.zlib:M[yY][eE][sS])
! 98: USE_BUILTIN.libarchive= no
! 99: .endif
! 100:
! 101: FILESDIR.bzip2?= ${.CURDIR}/../../archivers/bzip2/files
! 102: FILESDIR.libarchive?= ${.CURDIR}/../../archivers/libarchive/files
! 103: FILESDIR.zlib?= ${.CURDIR}/../../devel/zlib/files
! 104:
! 105: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
! 106: CPPFLAGS+= -I${WRKDIR}/bzip2
! 107: LDFLAGS+= -L${WRKDIR}/bzip2
! 108: .endif
! 109: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
! 110: CPPFLAGS+= -I${WRKDIR}/zlib
! 111: LDFLAGS+= -L${WRKDIR}/zlib
! 112: .endif
! 113: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
! 114: CPPFLAGS+= -I${WRKDIR}/libarchive/libarchive
! 115: LDFLAGS+= -L${WRKDIR}/libarchive/.libs
! 116: .endif
! 117:
1.58 schmonz 118: do-extract:
1.107 tv 119: @${CP} -R ${FILESDIR} ${WRKSRC}
1.137 ! joerg 120: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
! 121: @${CP} -R ${FILESDIR.bzip2} ${WRKDIR}/bzip2
! 122: .endif
! 123: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
! 124: @${CP} -R ${FILESDIR.zlib} ${WRKDIR}/zlib
! 125: .endif
! 126: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
! 127: @${CP} -R ${FILESDIR.libarchive} ${WRKDIR}/libarchive
! 128: .endif
! 129:
! 130: pre-configure:
! 131: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
! 132: cd ${WRKDIR}/bzip2 && ${BUILD_MAKE_CMD} libbz2.a
! 133: .endif
! 134: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
! 135: cd ${WRKDIR}/zlib && ${BUILD_MAKE_CMD} libz.a
! 136: .endif
! 137: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
! 138: cd ${WRKDIR}/libarchive && \
! 139: ${SETENV} ${_CONFIGURE_SCRIPT_ENV} \
! 140: ${CONFIG_SHELL} ${CONFIG_SHELL_FLAGS} \
! 141: ./configure --disable-shared --disable-bsdtar
! 142: cd ${WRKDIR}/libarchive && ${BUILD_MAKE_CMD}
! 143: .endif
1.12 hubertf 144:
1.106 erh 145: # XXX Reverse the order that update does things since
146: # XXX we need pkg_delete built before we can deinstall.
147: # XXX This should probably be the default order for all packages.
148: update:
149: ${MAKE}
1.127 jlam 150: ${MAKE} deinstall _UPDATE_RUNNING=YES
1.118 jlam 151: ${MAKE} ${UPDATE_TARGET}
1.108 jklos 152: ${MAKE} clean
1.106 erh 153:
1.103 jlam 154: .include "../../pkgtools/libnbcompat/inplace.mk"
1.1 agc 155: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>