Mon Nov 14 18:59:13 2016 UTC ()
pkgtools/pkg: bring in most of pkgsrc-synth improvements

Several updates in pkgsrc-synth work are applicable to pkgtools/pkg so
let's bring them in.  Some changes:

1) fetching segfault fixed
2) change VULNXML URL from FreeBSD ports to pkgsrc version
3) Fix vulnerability report URLs (404) to valid ones (DragonFlyBSD.org)
4) Add ability to build debuggable version
5) Fix PKG_DBDIR default setting for pkg (honor mk.conf)
6) Fix another segfault on NetBSD when pkg(8) attempts to read elfhints.
   This is only valid on FreeBSD and DragonFly, so bring in upstream
   fix to block on other platforms.
7) Set as BOOTSTRAP_PKG and block USE_CWRAPPERS for bootstrap reasons
8) realign SUBST* definitions


(marino)
diff -r1.12 -r1.13 pkgsrc/pkgtools/pkg/Makefile
diff -r1.6 -r1.7 pkgsrc/pkgtools/pkg/distinfo
diff -r0 -r1.1 pkgsrc/pkgtools/pkg/patches/patch-external_libfetch_http.c

cvs diff -r1.12 -r1.13 pkgsrc/pkgtools/pkg/Makefile (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg/Makefile 2016/10/28 23:37:53 1.12
+++ pkgsrc/pkgtools/pkg/Makefile 2016/11/14 18:59:12 1.13
@@ -1,31 +1,39 @@ @@ -1,31 +1,39 @@
1# $NetBSD: Makefile,v 1.12 2016/10/28 23:37:53 marino Exp $ 1# $NetBSD: Makefile,v 1.13 2016/11/14 18:59:12 marino Exp $
2 2
3DISTNAME= pkg-1.8.7 3DISTNAME= pkg-1.8.7
4PKGREVISION= 6 4PKGREVISION= 6
5CATEGORIES= pkgtools 5CATEGORIES= pkgtools
6MASTER_SITES= http://files.etoilebsd.net/pkg/ 6MASTER_SITES= http://files.etoilebsd.net/pkg/
7EXTRACT_SUFX= .tar.xz 7EXTRACT_SUFX= .tar.xz
8 8
9MAINTAINER= khorben@defora.org 9MAINTAINER= khorben@defora.org
10HOMEPAGE= https://wiki.freebsd.org/pkgng 10HOMEPAGE= https://wiki.freebsd.org/pkgng
11COMMENT= Package management tool for FreeBSD 11COMMENT= Package management tool for FreeBSD
12LICENSE= 2-clause-bsd 12LICENSE= 2-clause-bsd
13 13
 14BOOTSTRAP_PKG= yes
14GNU_CONFIGURE= yes 15GNU_CONFIGURE= yes
 16USE_CWRAPPERS= no
15USE_LANGUAGES= c 17USE_LANGUAGES= c
16 18
17CPPFLAGS+= -D_LOCALBASE="\"${PREFIX}\"" 19CPPFLAGS+= -D_LOCALBASE="\"${PREFIX}\""
18CPPFLAGS+= -DPORTSDIR="\"${PKG.portsdir}\"" 20CPPFLAGS+= -DPORTSDIR="\"${PKG.portsdir}\""
 21CPPFLAGS+= -DDEFAULT_VULNXML_URL="\"http://muscles.dragonflybsd.org/pkgsrc-vuxml/vuln.xml.bz2\""
 22
 23.if defined(DEBUG_PKGNG)
 24CFLAGS:= ${CFLAGS:N-O2} -ggdb -O0
 25_STRIPFLAG_INSTALL= # don't strip
 26.endif
19 27
20AUTO_MKDIRS= yes 28AUTO_MKDIRS= yes
21 29
22EGDIR= ${PREFIX}/share/examples/pkg 30EGDIR= ${PREFIX}/share/examples/pkg
23 31
24CONF_FILES+= ${EGDIR}/bash_completion.d/_pkg.bash \ 32CONF_FILES+= ${EGDIR}/bash_completion.d/_pkg.bash \
25 ${PKG_SYSCONFDIR}/bash_completion.d/_pkg.bash 33 ${PKG_SYSCONFDIR}/bash_completion.d/_pkg.bash
26CONF_FILES+= ${EGDIR}/periodic/daily/411.pkg-backup \ 34CONF_FILES+= ${EGDIR}/periodic/daily/411.pkg-backup \
27 ${PKG_SYSCONFDIR}/periodic/daily/411.pkg-backup 35 ${PKG_SYSCONFDIR}/periodic/daily/411.pkg-backup
28CONF_FILES+= ${EGDIR}/periodic/daily/490.status-pkg-changes \ 36CONF_FILES+= ${EGDIR}/periodic/daily/490.status-pkg-changes \
29 ${PKG_SYSCONFDIR}/periodic/daily/490.status-pkg-changes 37 ${PKG_SYSCONFDIR}/periodic/daily/490.status-pkg-changes
30CONF_FILES+= ${EGDIR}/periodic/security/410.pkg-audit \ 38CONF_FILES+= ${EGDIR}/periodic/security/410.pkg-audit \
31 ${PKG_SYSCONFDIR}/periodic/security/410.pkg-audit 39 ${PKG_SYSCONFDIR}/periodic/security/410.pkg-audit
@@ -46,40 +54,60 @@ SUBST_STAGE.manpages-prefix= pre-install @@ -46,40 +54,60 @@ SUBST_STAGE.manpages-prefix= pre-install
46SUBST_FILES.manpages-prefix= docs/pkg-install.8 docs/pkg-repo.8 54SUBST_FILES.manpages-prefix= docs/pkg-install.8 docs/pkg-repo.8
47SUBST_FILES.manpages-prefix+= docs/pkg-search.8 docs/pkg-update.8 55SUBST_FILES.manpages-prefix+= docs/pkg-search.8 docs/pkg-update.8
48SUBST_FILES.manpages-prefix+= docs/pkg-upgrade.8 docs/pkg.8 56SUBST_FILES.manpages-prefix+= docs/pkg-upgrade.8 docs/pkg.8
49SUBST_FILES.manpages-prefix+= docs/pkg.conf.5 57SUBST_FILES.manpages-prefix+= docs/pkg.conf.5
50SUBST_SED.manpages-prefix+= -e "s|/usr/local|${PREFIX}|g" 58SUBST_SED.manpages-prefix+= -e "s|/usr/local|${PREFIX}|g"
51SUBST_MESSAGE.manpages-prefix= Correct the installation prefix in manual pages. 59SUBST_MESSAGE.manpages-prefix= Correct the installation prefix in manual pages.
52 60
53SUBST_CLASSES+= pkgconf-prefix 61SUBST_CLASSES+= pkgconf-prefix
54SUBST_STAGE.pkgconf-prefix= pre-install 62SUBST_STAGE.pkgconf-prefix= pre-install
55SUBST_FILES.pkgconf-prefix= src/pkg.conf.sample 63SUBST_FILES.pkgconf-prefix= src/pkg.conf.sample
56SUBST_SED.pkgconf-prefix+= -e "s|/usr/local|${PREFIX}|g" 64SUBST_SED.pkgconf-prefix+= -e "s|/usr/local|${PREFIX}|g"
57SUBST_MESSAGE.pkgconf-prefix= Correct the installation prefix in pkg.conf(5). 65SUBST_MESSAGE.pkgconf-prefix= Correct the installation prefix in pkg.conf(5).
58 66
59SUBST_CLASSES+= portsdir 67SUBST_CLASSES+= portsdir
60SUBST_STAGE.portsdir= pre-install 68SUBST_STAGE.portsdir= pre-install
61SUBST_FILES.portsdir= libpkg/pkg_config.c \ 69SUBST_FILES.portsdir= src/pkg.conf.sample \
62 src/pkg.conf.sample \ 70 docs/pkg-create.8 \
63 docs/pkg-create.8 \ 71 docs/pkg-set.8 \
64 docs/pkg-set.8 \ 72 docs/pkg-repo.8 \
65 docs/pkg-repo.8 \ 73 docs/pkg.conf.5 \
66 docs/pkg.conf.5 \ 74 docs/pkg-version.8 \
67 docs/pkg-version.8 \ 75 docs/pkg.8
68 docs/pkg.8 76SUBST_SED.portsdir= -e "s|/usr/ports|${PKG.portsdir}|g" \
69SUBST_SED.portsdir= -e "s|/usr/ports|${PKG.portsdir}|g" \ 77 -e "s|/var/db/pkg|${PKGNG_DBDIR}|g" \
70 -e "s|/var/db/pkg|${PKG_DBDIR}|g" \ 78 -e "s|/var/cache/pkg|${VARBASE}/cache/pkgng|g"
71 -e "s|/var/cache/pkg|${VARBASE}/cache/pkgng|g" 79SUBST_MESSAGE.portsdir= Correct reference to FreeBSD portsdir.
72SUBST_MESSAGE.portsdir= Correct reference to FreeBSD portsdir. 80
 81SUBST_CLASSES+= config
 82SUBST_STAGE.config= post-patch
 83SUBST_FILES.config= libpkg/pkg_config.c
 84SUBST_SED.config= -e "s|/usr/ports|${PKG.portsdir}|g" \
 85 -e "s|/var/db/pkg|${PKGNG_DBDIR}|g" \
 86 -e "s|/var/cache/pkg|${VARBASE}/cache/pkgng|g"
 87SUBST_MESSAGE.config= Update pkg(8) defaults.
 88
 89SUBST_CLASSES+= vuxml
 90SUBST_STAGE.vuxml= post-patch
 91SUBST_FILES.vuxml= libpkg/pkg_audit.c
 92SUBST_SED.vuxml= -e "s|https://vuxml.FreeBSD.org/freebsd|http://muscles.dragonflybsd.org/pkgsrc-vuxml/reports|"
 93SUBST_MESSAGE.vuxml= Direct audit reports to Pkgsrc vuxml
 94
 95SUBST_CLASSES+= ldhints
 96SUBST_STAGE.ldhints= post-patch
 97SUBST_FILES.ldhints= libpkg/private/ldconfig.h libpkg/elfhints.c
 98SUBST_SED.ldhints= -e "s|/var/run/ld-elf.so.hints|/var/run/ld.so.hints|" \
 99 -e 's,ifndef __linux__,if defined __FreeBSD__ || defined __DragonFly__,'
 100SUBST_MESSAGE.ldhints= Disable ldconfig hints for NetBSD
73 101
74.if defined(PACKAGE_BUILDING) # set by Synth which has custom location, so use default path 102.if defined(PACKAGE_BUILDING) # set by Synth which has custom location, so use default path
75PKG.portsdir?= /usr/pkgsrc 103PKG.portsdir?= /usr/pkgsrc
76.else 104.else
77PKG.portsdir?= ${PKGSRCDIR} 105PKG.portsdir?= ${PKGSRCDIR}
78.endif 106.endif
79 107
80# DragonFly SSL libraries are private. pkg(8) is the one exception of a userland 108# DragonFly SSL libraries are private. pkg(8) is the one exception of a userland
81# program that is allowed to link to them due to bootstrap reasons 109# program that is allowed to link to them due to bootstrap reasons
82.if exists(/usr/lib/priv/libprivate_ssl.so) 110.if exists(/usr/lib/priv/libprivate_ssl.so)
83BUILDLINK_PASSTHRU_RPATHDIRS= /lib/priv 111BUILDLINK_PASSTHRU_RPATHDIRS= /lib/priv
84.endif 112.endif
85 113
@@ -103,17 +131,24 @@ post-patch: @@ -103,17 +131,24 @@ post-patch:
103.endif 131.endif
104 132
105post-install: 133post-install:
106 ${RM} ${DESTDIR}${PREFIX}/sbin/pkg2ng 134 ${RM} ${DESTDIR}${PREFIX}/sbin/pkg2ng
107 ${RM} -rf ${DESTDIR}${EGDIR}/periodic 135 ${RM} -rf ${DESTDIR}${EGDIR}/periodic
108 ${MV} ${DESTDIR}${PREFIX}/etc/bash_completion.d \ 136 ${MV} ${DESTDIR}${PREFIX}/etc/bash_completion.d \
109 ${DESTDIR}${EGDIR}/ 137 ${DESTDIR}${EGDIR}/
110 ${MV} ${DESTDIR}${PREFIX}/etc/periodic \ 138 ${MV} ${DESTDIR}${PREFIX}/etc/periodic \
111 ${DESTDIR}${EGDIR}/ 139 ${DESTDIR}${EGDIR}/
112 ${MV} ${DESTDIR}${PREFIX}/etc/pkg.conf.sample \ 140 ${MV} ${DESTDIR}${PREFIX}/etc/pkg.conf.sample \
113 ${DESTDIR}${EGDIR}/ 141 ${DESTDIR}${EGDIR}/
114 142
115.include "../../mk/bsd.prefs.mk" 143.include "../../mk/bsd.prefs.mk"
 144
 145.if defined (PKG_DBDIR)
 146PKGNG_DBDIR?= ${PKG_DBDIR}
 147.else
 148PKGNG_DBDIR?= /var/db/pkgng
 149.endif
 150
116.if ${OPSYS} != "FreeBSD" && ${OPSYS} != "DragonFly" && ${OPSYS} != "NetBSD" 151.if ${OPSYS} != "FreeBSD" && ${OPSYS} != "DragonFly" && ${OPSYS} != "NetBSD"
117.include "../../archivers/libarchive/buildlink3.mk" 152.include "../../archivers/libarchive/buildlink3.mk"
118.endif 153.endif
119.include "../../mk/bsd.pkg.mk" 154.include "../../mk/bsd.pkg.mk"

cvs diff -r1.6 -r1.7 pkgsrc/pkgtools/pkg/distinfo (expand / switch to unified diff)

--- pkgsrc/pkgtools/pkg/distinfo 2016/10/25 11:51:40 1.6
+++ pkgsrc/pkgtools/pkg/distinfo 2016/11/14 18:59:12 1.7
@@ -1,9 +1,10 @@ @@ -1,9 +1,10 @@
1$NetBSD: distinfo,v 1.6 2016/10/25 11:51:40 khorben Exp $ 1$NetBSD: distinfo,v 1.7 2016/11/14 18:59:12 marino Exp $
2 2
3SHA1 (pkg-1.8.7.tar.xz) = 4727c25b0e4c34df1bf7a00df0e9c6370e855416 3SHA1 (pkg-1.8.7.tar.xz) = 4727c25b0e4c34df1bf7a00df0e9c6370e855416
4RMD160 (pkg-1.8.7.tar.xz) = f0087c0e88ef890300a46a28d0644926fa7a7acb 4RMD160 (pkg-1.8.7.tar.xz) = f0087c0e88ef890300a46a28d0644926fa7a7acb
5SHA512 (pkg-1.8.7.tar.xz) = 61b1553cb444ba30bcf1c9a5da204ff29b08ad87641c3f49fb7e7efd9f5396742e6812bf96a0228d3e76916648511faa086d197cc41c2ced9979615e23a3bc43 5SHA512 (pkg-1.8.7.tar.xz) = 61b1553cb444ba30bcf1c9a5da204ff29b08ad87641c3f49fb7e7efd9f5396742e6812bf96a0228d3e76916648511faa086d197cc41c2ced9979615e23a3bc43
6Size (pkg-1.8.7.tar.xz) = 1950148 bytes 6Size (pkg-1.8.7.tar.xz) = 1950148 bytes
7SHA1 (patch-docs_Makefile.am) = aa6d5c9310c644d13d55c3176cd186c37cccc7c2 7SHA1 (patch-docs_Makefile.am) = aa6d5c9310c644d13d55c3176cd186c37cccc7c2
 8SHA1 (patch-external_libfetch_http.c) = 9e618f80d6d72af7011351a8903b83f73130cdba
8SHA1 (patch-libpkg_pkg.h.in) = e74a96513c1e74ddea8a5b05b080cef57976d68b 9SHA1 (patch-libpkg_pkg.h.in) = e74a96513c1e74ddea8a5b05b080cef57976d68b
9SHA1 (patch-libpkg_pkg__elf.c) = 07174f421e162fc74f1c2b306f60da1273b8b6ec 10SHA1 (patch-libpkg_pkg__elf.c) = 07174f421e162fc74f1c2b306f60da1273b8b6ec

File Added: pkgsrc/pkgtools/pkg/patches/Attic/patch-external_libfetch_http.c
--- external/libfetch/http.c.orig	2016-02-10 23:09:08 UTC
+++ external/libfetch/http.c
@@ -60,6 +60,9 @@
  * SUCH DAMAGE.
  */
 #define _XOPEN_SOURCE
+#ifdef __NetBSD__
+#define _NETBSD_SOURCE
+#endif
 #include <sys/param.h>
 #include <sys/socket.h>
 #include <sys/time.h>