Annotation of pkgsrc/pkgtools/pkg_install/Makefile, Revision 1.152
1.152 ! joerg 1: # $NetBSD: Makefile,v 1.151 2008/04/08 11:50:46 joerg Exp $
1.4 hubertf 2:
1.58 schmonz 3: # Notes to package maintainers:
1.57 hubertf 4: #
1.58 schmonz 5: # Updating this package does not automatically necessitate bumping
6: # PKGTOOLS_REQD in bsd.pkg.mk. Do so if and only if there is a critical
7: # change in the pkg_* tools that pkgsrc relies on for proper operation.
1.57 hubertf 8:
1.58 schmonz 9: DISTNAME= pkg_install-${VERSION}
1.1 agc 10: CATEGORIES= pkgtools
1.58 schmonz 11: MASTER_SITES= # empty
12: DISTFILES= # empty
1.1 agc 13:
1.134 joerg 14: MAINTAINER= joerg@NetBSD.org
1.82 reed 15: HOMEPAGE= http://www.pkgsrc.org/
1.90 grant 16: COMMENT= Package management and administration tools for pkgsrc
1.145 martti 17: #LICENSE= modified-bsd
1.60 schmonz 18:
1.133 joerg 19: PKG_DESTDIR_SUPPORT= user-destdir
20:
1.132 adrianp 21: CONFLICTS+= audit-packages-[0-9]*
22:
1.115 rillig 23: GNU_CONFIGURE= yes
1.141 jlam 24: CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q}
1.122 rillig 25: CONFIGURE_ARGS+= --with-pkgdbdir=${PKG_DBDIR:Q}
1.141 jlam 26: CONFIGURE_ARGS+= --with-ftp=${FETCH_CMD:Q}
27: CONFIGURE_ARGS+= --with-pax=${PAX:Q}
28: CONFIGURE_ARGS+= --with-tar=${TAR:Q}
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.142 jlam 35: USE_FEATURES= nbcompat
36:
1.148 joerg 37: NBCOMPAT_CONFIGURE_ARGS+= --enable-bsd-getopt
38:
1.121 erh 39: SKIP_AUDIT_PACKAGES= yes
1.122 rillig 40: NO_PKGTOOLS_REQD_CHECK= yes
1.115 rillig 41: NO_CHECKSUM= yes
42: NO_MTREE= yes
1.122 rillig 43: PKG_PRESERVE= yes
1.144 joerg 44: CHECK_PERMS= no
1.1 agc 45:
1.97 jlam 46: # These are needed to solve a chicken-and-egg problem where pkgsrc uses
1.96 jlam 47: # newer features of pkg_install, but older NetBSD installations won't
48: # support them. In this case, we explicitly use the native GCC
49: # compiler to avoid problems with depending on pkgsrc GCC for building
1.128 jlam 50: # pkg_install.
1.117 jlam 51: #
1.147 joerg 52: # We also use the newly built pkg_{add,create,delete} since upgrading
53: # from an older pkg_install might required features of the new program.
1.96 jlam 54: #
55: USE_NATIVE_GCC= yes
1.147 joerg 56: PKG_ADD_CMD= ${WRKSRC}/add/pkg_add
57: PKG_CREATE_CMD= ${WRKSRC}/create/pkg_create
58: PKG_DELETE_CMD= ${WRKSRC}/delete/pkg_delete
1.149 jlam 59: PKG_INFO_CMD= ${WRKSRC}/info/pkg_info
1.89 grant 60:
1.139 joerg 61: CPPFLAGS+= -D_LARGEFILE_SOURCE -D_LARGE_FILES
62: CPPFLAGS+= -D_FILE_OFFSET_BITS=64
63:
1.100 tv 64: CPPFLAGS+= -DDEF_UMASK=${DEF_UMASK}
65:
1.122 rillig 66: MAKE_ENV+= MACHINE_ARCH=${MACHINE_ARCH:Q}
67: MAKE_ENV+= OPSYS=${OPSYS:Q}
1.91 grant 68:
1.92 jlam 69: PKG_DBDIR?= /var/db/pkg
1.132 adrianp 70: EGDIR= ${PREFIX}/share/examples/pkg_install
1.92 jlam 71:
1.122 rillig 72: PLIST_SUBST+= PKG_DBDIR=${PKG_DBDIR:Q}
1.117 jlam 73:
1.125 jlam 74: DEINSTALL_SRC= # empty
1.124 jlam 75: INSTALL_SRC= ${PKGDIR}/INSTALL
76: FILES_SUBST+= PKG_DBDIR=${PKG_DBDIR:Q} \
77: PKG_TOOLS_BIN=${PKG_TOOLS_BIN:Q} \
78: MKDIR=${MKDIR:Q}
1.132 adrianp 79: MESSAGE_SUBST+= PKGVULNDIR=${PKG_DBDIR:Q} \
80: EGDIR=${EGDIR:Q}
1.124 jlam 81:
1.92 jlam 82: .include "../../mk/bsd.prefs.mk"
83:
1.58 schmonz 84: VERSION!= ${AWK} -F '"' '/PKGTOOLS_VERSION/ {print $$2}' \
85: ${FILESDIR}/lib/version.h
1.78 jlam 86:
1.135 adrianp 87: # Make sure the audit-packages files pick up the right tools in the right
88: # places.
1.132 adrianp 89: #
90: SUBST_CLASSES= paths
91: SUBST_STAGE.paths= pre-configure
92: SUBST_MESSAGE.paths= Fixing paths in scripts.
1.135 adrianp 93: SUBST_FILES.paths= audit-packages/Makefile.in
94: SUBST_SED.paths= -e 's,_gzcat_,${GZCAT},g'
1.132 adrianp 95:
1.152 ! joerg 96: # linkresolver interface appeared in libarchive 2.5.
! 97: BUILDLINK_API_DEPENDS.libarchive+= libarchive>=2.5
! 98:
1.137 joerg 99: .include "../../archivers/bzip2/builtin.mk"
100: .include "../../archivers/libarchive/builtin.mk"
101: .include "../../devel/zlib/builtin.mk"
102:
103: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS]) || \
104: empty(USE_BUILTIN.zlib:M[yY][eE][sS])
105: USE_BUILTIN.libarchive= no
106: .endif
107:
108: FILESDIR.bzip2?= ${.CURDIR}/../../archivers/bzip2/files
109: FILESDIR.libarchive?= ${.CURDIR}/../../archivers/libarchive/files
110: FILESDIR.zlib?= ${.CURDIR}/../../devel/zlib/files
1.150 joerg 111: FILESDIR.libfetch?= ${.CURDIR}/../../net/libfetch/files
1.137 joerg 112:
113: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
114: CPPFLAGS+= -I${WRKDIR}/bzip2
115: LDFLAGS+= -L${WRKDIR}/bzip2
116: .endif
117: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
118: CPPFLAGS+= -I${WRKDIR}/zlib
119: LDFLAGS+= -L${WRKDIR}/zlib
120: .endif
121: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
122: CPPFLAGS+= -I${WRKDIR}/libarchive/libarchive
123: LDFLAGS+= -L${WRKDIR}/libarchive/.libs
124: .endif
1.150 joerg 125: CPPFLAGS+= -I${WRKDIR}/libfetch
126: LDFLAGS+= -L${WRKDIR}/libfetch
1.137 joerg 127:
1.58 schmonz 128: do-extract:
1.107 tv 129: @${CP} -R ${FILESDIR} ${WRKSRC}
1.137 joerg 130: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
131: @${CP} -R ${FILESDIR.bzip2} ${WRKDIR}/bzip2
132: .endif
133: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
134: @${CP} -R ${FILESDIR.zlib} ${WRKDIR}/zlib
135: .endif
136: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
137: @${CP} -R ${FILESDIR.libarchive} ${WRKDIR}/libarchive
138: .endif
1.150 joerg 139: @${CP} -R ${FILESDIR.libfetch} ${WRKDIR}/libfetch
1.137 joerg 140:
141: pre-configure:
142: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
143: cd ${WRKDIR}/bzip2 && ${BUILD_MAKE_CMD} libbz2.a
144: .endif
145: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
146: cd ${WRKDIR}/zlib && ${BUILD_MAKE_CMD} libz.a
147: .endif
148: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
149: cd ${WRKDIR}/libarchive && \
150: ${SETENV} ${_CONFIGURE_SCRIPT_ENV} \
151: ${CONFIG_SHELL} ${CONFIG_SHELL_FLAGS} \
1.143 joerg 152: ./configure --disable-shared --disable-bsdtar \
153: --disable-dependency-tracking
1.137 joerg 154: cd ${WRKDIR}/libarchive && ${BUILD_MAKE_CMD}
155: .endif
1.151 joerg 156: cd ${WRKDIR}/libfetch && ${SETENV} ${MAKE_ENV} \
157: ${MAKE_PROGRAM} ${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} \
158: -f ${MAKE_FILE} depend all
159:
1.12 hubertf 160:
1.106 erh 161: # XXX Reverse the order that update does things since
162: # XXX we need pkg_delete built before we can deinstall.
163: # XXX This should probably be the default order for all packages.
164: update:
165: ${MAKE}
1.127 jlam 166: ${MAKE} deinstall _UPDATE_RUNNING=YES
1.118 jlam 167: ${MAKE} ${UPDATE_TARGET}
1.108 jklos 168: ${MAKE} clean
1.106 erh 169:
1.1 agc 170: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>