Annotation of pkgsrc/pkgtools/pkg_install/Makefile, Revision 1.192
1.192 ! obache 1: # $NetBSD: Makefile,v 1.191 2013/02/10 12:43:19 obache 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.190 jperkin 10: PKGREVISION= 1
1.1 agc 11: CATEGORIES= pkgtools
1.58 schmonz 12: MASTER_SITES= # empty
13: DISTFILES= # empty
1.1 agc 14:
1.182 agc 15: MAINTAINER= agc@NetBSD.org
1.82 reed 16: HOMEPAGE= http://www.pkgsrc.org/
1.90 grant 17: COMMENT= Package management and administration tools for pkgsrc
1.163 wiz 18: LICENSE= modified-bsd
1.60 schmonz 19:
1.155 joerg 20: BOOTSTRAP_PKG= yes
1.164 joerg 21: SKIP_LICENSE_CHECK= yes
1.133 joerg 22:
1.132 adrianp 23: CONFLICTS+= audit-packages-[0-9]*
24:
1.115 rillig 25: GNU_CONFIGURE= yes
1.141 jlam 26: CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q}
1.168 jmmv 27: CONFIGURE_ARGS+= --with-pkgdbdir=${PKG_DBDIR:Q}
1.113 jlam 28:
1.142 jlam 29: USE_FEATURES= nbcompat
30:
1.159 joerg 31: NBCOMPAT_CONFIGURE_ARGS+= --enable-bsd-getopt --enable-db
1.148 joerg 32:
1.121 erh 33: SKIP_AUDIT_PACKAGES= yes
1.122 rillig 34: NO_PKGTOOLS_REQD_CHECK= yes
35: PKG_PRESERVE= yes
1.144 joerg 36: CHECK_PERMS= no
1.1 agc 37:
1.97 jlam 38: # These are needed to solve a chicken-and-egg problem where pkgsrc uses
1.96 jlam 39: # newer features of pkg_install, but older NetBSD installations won't
40: # support them. In this case, we explicitly use the native GCC
41: # compiler to avoid problems with depending on pkgsrc GCC for building
1.128 jlam 42: # pkg_install.
1.117 jlam 43: #
1.147 joerg 44: # We also use the newly built pkg_{add,create,delete} since upgrading
45: # from an older pkg_install might required features of the new program.
1.159 joerg 46: #
1.156 joerg 47: # Note that the definitions are only overriden for the phases that are
48: # supposed to use them. pkg_admin pmatch might be used when looking for
49: # dependencies. If that is ever changed in a incompatible way, this has to
50: # be rethought.
1.96 jlam 51: USE_NATIVE_GCC= yes
1.156 joerg 52:
53: .if defined(_PKGSRC_BARRIER)
1.147 joerg 54: PKG_ADD_CMD= ${WRKSRC}/add/pkg_add
55: PKG_CREATE_CMD= ${WRKSRC}/create/pkg_create
56: PKG_DELETE_CMD= ${WRKSRC}/delete/pkg_delete
1.149 jlam 57: PKG_INFO_CMD= ${WRKSRC}/info/pkg_info
1.154 he 58: .endif
1.89 grant 59:
1.139 joerg 60: CPPFLAGS+= -D_LARGEFILE_SOURCE -D_LARGE_FILES
61: CPPFLAGS+= -D_FILE_OFFSET_BITS=64
62:
1.100 tv 63: CPPFLAGS+= -DDEF_UMASK=${DEF_UMASK}
64:
1.122 rillig 65: MAKE_ENV+= MACHINE_ARCH=${MACHINE_ARCH:Q}
66: MAKE_ENV+= OPSYS=${OPSYS:Q}
1.185 joerg 67: MAKE_ENV+= MANINSTALL=${MANINSTALL: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.172 joerg 84: VERSION!= ${AWK} '/PKGTOOLS_VERSION/ {print $$3}' \
1.58 schmonz 85: ${FILESDIR}/lib/version.h
1.78 jlam 86:
1.177 joerg 87: # raw format appeared in libarchive 2.8.
88: BUILDLINK_API_DEPENDS.libarchive+= libarchive>=2.8.0
1.152 joerg 89:
1.137 joerg 90: .include "../../archivers/bzip2/builtin.mk"
91: .include "../../archivers/libarchive/builtin.mk"
92: .include "../../devel/zlib/builtin.mk"
1.159 joerg 93: .include "../../security/openssl/builtin.mk"
94:
1.171 joerg 95: .include "options.mk"
96:
1.159 joerg 97: .if !empty(USE_BUILTIN.openssl:M[yY][eE][sS])
98: CONFIGURE_ARGS+= --with-ssl
99:
100: .include "../../security/openssl/buildlink3.mk"
101: .endif
1.137 joerg 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
1.174 joerg 124:
1.186 jperkin 125: # Until we support pkgsrc openssl at bootstrap time, disable it completely
126: # if asked to avoid the builtin.
127: .if empty(USE_BUILTIN.openssl:M[Yy][Ee][Ss])
128: LIBARCHIVE_CONFIGURE_ARGS= --without-openssl
129: .endif
130:
1.179 joerg 131: LIBARCHIVE_LIBS= ${SED} -n -e 's/^Libs://p' -e 's/^Libs.private://p' \
132: ${WRKDIR}/libarchive/build/pkgconfig/libarchive.pc 2>/dev/null || echo
133: LIBS+= ${LIBARCHIVE_LIBS:sh}
134:
1.174 joerg 135: CONFIG_GUESS_OVERRIDE+= ${WRKDIR}/libarchive/build/autoconf/config.guess
1.175 obache 136: CONFIG_SUB_OVERRIDE+= ${WRKDIR}/libarchive/build/autoconf/config.sub
1.174 joerg 137:
1.192 ! obache 138: . if ${OPSYS} == "Cygwin"
1.191 obache 139: CPPFLAGS+= -DLIBARCHIVE_STATIC
140: . endif
141:
1.178 tron 142: . if ${OPSYS} == "Darwin"
143: # Make sure that the linker used our static library instead of the
144: # (outdated) dynamic library "/usr/lib/libarchive.dylib".
145: LDFLAGS+= -Wl,-search_paths_first
146: . endif
147:
1.184 cheusov 148: .if ${OPSYS} == SunOS
149: # workaround for pkg/45491
150: CONFIGURE_ENV+= ac_cv_header_ext2fs_ext2_fs_h=no
151: .endif
152:
1.174 joerg 153: # Hack to make sure that the libarchive version is replaced
1.175 obache 154: pre-configure: config-guess-override config-sub-override
1.179 joerg 155: .else
156: LIBS+= -larchive
1.137 joerg 157: .endif
1.150 joerg 158: CPPFLAGS+= -I${WRKDIR}/libfetch
159: LDFLAGS+= -L${WRKDIR}/libfetch
1.137 joerg 160:
1.179 joerg 161: CONFIGURE_ENV+= LIBS=${LIBS:Q}
162:
1.58 schmonz 163: do-extract:
1.107 tv 164: @${CP} -R ${FILESDIR} ${WRKSRC}
1.137 joerg 165: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
166: @${CP} -R ${FILESDIR.bzip2} ${WRKDIR}/bzip2
167: .endif
168: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
169: @${CP} -R ${FILESDIR.zlib} ${WRKDIR}/zlib
170: .endif
171: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
172: @${CP} -R ${FILESDIR.libarchive} ${WRKDIR}/libarchive
173: .endif
1.150 joerg 174: @${CP} -R ${FILESDIR.libfetch} ${WRKDIR}/libfetch
1.137 joerg 175:
176: pre-configure:
177: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
178: cd ${WRKDIR}/bzip2 && ${BUILD_MAKE_CMD} libbz2.a
179: .endif
180: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
181: cd ${WRKDIR}/zlib && ${BUILD_MAKE_CMD} libz.a
182: .endif
183: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
184: cd ${WRKDIR}/libarchive && \
185: ${SETENV} ${_CONFIGURE_SCRIPT_ENV} \
186: ${CONFIG_SHELL} ${CONFIG_SHELL_FLAGS} \
1.143 joerg 187: ./configure --disable-shared --disable-bsdtar \
1.173 joerg 188: --disable-bsdcpio --without-expat --without-xml2 \
1.186 jperkin 189: --disable-dependency-tracking \
190: ${LIBARCHIVE_CONFIGURE_ARGS}
1.137 joerg 191: cd ${WRKDIR}/libarchive && ${BUILD_MAKE_CMD}
192: .endif
1.183 obache 193: cd ${WRKDIR}/libfetch && ${SETENV} ${MAKE_ENV} ${BSD_MAKE_ENV} \
1.151 joerg 194: ${MAKE_PROGRAM} ${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} \
195: -f ${MAKE_FILE} depend all
196:
1.12 hubertf 197:
1.106 erh 198: # XXX Reverse the order that update does things since
199: # XXX we need pkg_delete built before we can deinstall.
200: # XXX This should probably be the default order for all packages.
201: update:
202: ${MAKE}
1.127 jlam 203: ${MAKE} deinstall _UPDATE_RUNNING=YES
1.118 jlam 204: ${MAKE} ${UPDATE_TARGET}
1.108 jklos 205: ${MAKE} clean
1.106 erh 206:
1.170 joerg 207: update-catpages:
208: for f in lib/pkgsrc.7 add/pkg_add.1 admin/pkg_admin.1 \
209: create/pkg_create.1 delete/pkg_delete.1 info/pkg_info.1 \
210: lib/pkg_summary.5 lib/pkgsrc.7; do \
211: nroff -mdoc ${FILESDIR}/$$f > \
212: ${FILESDIR}/$${f%%.[157]}.cat; \
213: done
214: nroff -mdoc ${FILESDIR}/lib/pkg_install.conf.5.in > \
215: ${FILESDIR}/lib/pkg_install.conf.cat.in
216:
1.1 agc 217: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>