diff options
author | jlam <jlam@pkgsrc.org> | 2005-11-06 22:15:44 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2005-11-06 22:15:44 +0000 |
commit | bd451df8323ef99efe87a1e382d34a7e3bcdeeac (patch) | |
tree | 868a337a175af90df4a8fdfc6c5353160d3cf10d | |
parent | eb1c26c0db887a97ff1a3b36761d596c4b5accd5 (diff) | |
download | pkgsrc-bd451df8323ef99efe87a1e382d34a7e3bcdeeac.tar.gz |
Remove @exec from PLIST and put the action into an INSTALL script instead.
Also, simplify the package by making use of the PKGMANDIR-handling in
pkgsrc to remove the custom MANDIR code from the package Makefile and
the PLIST.
Technically, this type of a change would require a PKGREVISION bump,
but as this is the pkg_* tools package and there were no changes to the
binaries, we refrain from doing so.
-rw-r--r-- | pkgtools/pkg_install/INSTALL | 19 | ||||
-rw-r--r-- | pkgtools/pkg_install/Makefile | 55 | ||||
-rw-r--r-- | pkgtools/pkg_install/PLIST | 31 |
3 files changed, 65 insertions, 40 deletions
diff --git a/pkgtools/pkg_install/INSTALL b/pkgtools/pkg_install/INSTALL new file mode 100644 index 00000000000..5726b2a11fe --- /dev/null +++ b/pkgtools/pkg_install/INSTALL @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $NetBSD: INSTALL,v 1.1 2005/11/06 22:15:44 jlam Exp $ + +PKGNAME="$1" +STAGE="$2" + +PKG_DBDIR="@PKG_DBDIR@" +MKDIR="@MKDIR@" + +case ${STAGE} in +PRE-INSTALL) + [ -d ${PKG_DBDIR} ] || ${MKDIR} ${PKG_DBDIR} + ;; + +POST-INSTALL) + [ -f ${PKG_DBDIR}/pkgdb.byfile.db ] || ${PKG_PREFIX}/bin/pkg_admin rebuild + ;; +esac diff --git a/pkgtools/pkg_install/Makefile b/pkgtools/pkg_install/Makefile index df60d9022d7..72bce9e6f4a 100644 --- a/pkgtools/pkg_install/Makefile +++ b/pkgtools/pkg_install/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.116 2005/10/07 18:05:07 reed Exp $ +# $NetBSD: Makefile,v 1.117 2005/11/06 22:15:44 jlam Exp $ # Notes to package maintainers: # @@ -33,6 +33,7 @@ NO_PKGTOOLS_REQD_CHECK= # defined NO_CHECKSUM= yes NO_MTREE= yes PKG_PRESERVE= # defined +INSTALL_FILE= ${PKG_DB_TMPDIR}/+INSTALL # These are needed to solve a chicken-and-egg problem where pkgsrc uses # newer features of pkg_install, but older NetBSD installations won't @@ -40,15 +41,13 @@ PKG_PRESERVE= # defined # compiler to avoid problems with depending on pkgsrc GCC for building # pkg_install. We also avoid building digest as that would involve # using the newer pkg_install tools. -# We also use the newly built pkg_delete since upgrading from -# an older pkg_install might required features of the new program. +# +# We also use the newly built pkg_delete since upgrading from an older +# pkg_install might required features of the new program. # USE_NATIVE_GCC= yes USE_DIGEST= no -PKG_DELETE= ${WRKSRC}/delete/pkg_delete - -PLIST_SUBST+= MANDIR=${MANDIR} -PLIST_SUBST+= PKG_TOOLS_BIN=${PKG_TOOLS_BIN} +PKG_DELETE= ${WRKSRC}/delete/pkg_delete CPPFLAGS+= -DDEF_UMASK=${DEF_UMASK} @@ -59,21 +58,37 @@ PKG_DBDIR?= /var/db/pkg PKG_INFO= PKG_DBDIR=${PKG_DBDIR} ${PKG_INFO_CMD} PKG_ADMIN= PKG_DBDIR=${PKG_DBDIR} ${PKG_ADMIN_CMD} +PLIST_SUBST+= PKG_DBDIR=${PKG_DBDIR} + .include "../../mk/bsd.prefs.mk" +PKG_TOOLS_PREFIX= ${PKG_TOOLS_BIN:C|/[^/]?bin$||} VERSION!= ${AWK} -F '"' '/PKGTOOLS_VERSION/ {print $$2}' \ ${FILESDIR}/lib/version.h +# XXX This breaks for those who set their own LOCALBASE to "/usr" and also +# XXX set PKGMANDIR to be other than "share/man". +# XXX +.if !empty(PKG_TOOLS_PREFIX:M/usr) +PKGMANDIR= share/man +.endif + do-extract: @${CP} -R ${FILESDIR} ${WRKSRC} -post-install: - if [ ! -f ${PKG_DBDIR}/pkgdb.byfile.db ]; then \ - if [ ! -d ${PKG_DBDIR} ]; then \ - ${INSTALL_DATA_DIR} ${PKG_DBDIR}; \ - fi; \ - ${PKG_ADMIN} rebuild; \ - fi +post-build: + ${SED} -e "s|@PKG_DBDIR@|${PKG_DBDIR}|g" \ + -e "s|@MKDIR@|${MKDIR}|g" \ + ${PKGDIR}/INSTALL > ${INSTALL_FILE} + ${CHMOD} +x ${INSTALL_FILE} + +pre-install-script: + cd ${PKG_DB_TMPDIR} && ${SETENV} ${INSTALL_SCRIPTS_ENV} \ + ${INSTALL_FILE} ${PKGNAME} PRE-INSTALL + +post-install-script: + cd ${PKG_DB_TMPDIR} && ${SETENV} ${INSTALL_SCRIPTS_ENV} \ + ${INSTALL_FILE} ${PKGNAME} POST-INSTALL # XXX Reverse the order that update does things since # XXX we need pkg_delete built before we can deinstall. @@ -81,18 +96,10 @@ post-install: update: ${MAKE} ${MAKE} deinstall UPDATE_RUNNING=YES - ${MAKE} install + ${MAKE} update ${MAKE} clean .include "../../pkgtools/libnbcompat/inplace.mk" .include "../../mk/bsd.pkg.mk" -PREFIX:= ${PKG_TOOLS_BIN:C|/[^/]?bin$||} -.if ${PREFIX} == "/usr" -# XXX This breaks for those who set their own LOCALBASE to /usr -# XXX and also define PKGMANDIR to different than share/man. -CONFIGURE_ARGS+= --mandir=${PREFIX}/share/man -MANDIR= share/ -.else -MANDIR= # empty -.endif +PREFIX:= ${PKG_TOOLS_PREFIX} diff --git a/pkgtools/pkg_install/PLIST b/pkgtools/pkg_install/PLIST index 61bd507b4b4..e343230eba3 100644 --- a/pkgtools/pkg_install/PLIST +++ b/pkgtools/pkg_install/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.5 2003/10/11 07:29:29 grant Exp $ +@comment $NetBSD: PLIST,v 1.6 2005/11/06 22:15:44 jlam Exp $ sbin/linkfarm sbin/pkg_add sbin/pkg_admin @@ -6,18 +6,17 @@ sbin/pkg_create sbin/pkg_delete sbin/pkg_info sbin/pkg_view -${MANDIR}man/cat1/linkfarm.0 -${MANDIR}man/cat1/pkg_add.0 -${MANDIR}man/cat1/pkg_admin.0 -${MANDIR}man/cat1/pkg_create.0 -${MANDIR}man/cat1/pkg_delete.0 -${MANDIR}man/cat1/pkg_info.0 -${MANDIR}man/cat1/pkg_view.0 -${MANDIR}man/man1/linkfarm.1 -${MANDIR}man/man1/pkg_add.1 -${MANDIR}man/man1/pkg_admin.1 -${MANDIR}man/man1/pkg_create.1 -${MANDIR}man/man1/pkg_delete.1 -${MANDIR}man/man1/pkg_info.1 -${MANDIR}man/man1/pkg_view.1 -@exec [ -f ${PKG_DBDIR:-/var/db/pkg}/pkgdb.byfile.db ] || ${PKG_TOOLS_BIN}/pkg_admin rebuild +man/cat1/linkfarm.0 +man/cat1/pkg_add.0 +man/cat1/pkg_admin.0 +man/cat1/pkg_create.0 +man/cat1/pkg_delete.0 +man/cat1/pkg_info.0 +man/cat1/pkg_view.0 +man/man1/linkfarm.1 +man/man1/pkg_add.1 +man/man1/pkg_admin.1 +man/man1/pkg_create.1 +man/man1/pkg_delete.1 +man/man1/pkg_info.1 +man/man1/pkg_view.1 |