aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlen Barber <gjb@FreeBSD.org>2016-02-24 03:05:05 +0000
committerGlen Barber <gjb@FreeBSD.org>2016-02-24 03:05:05 +0000
commit3a3f435f98f5bdab7685a03370ccf22a958645e8 (patch)
tree95f74c132d855750f6640e28872d81c83a5aaf6f
parent90963403713d6a66f244a517f5ef64b3fa834109 (diff)
downloadsrc-3a3f435f98f5bdab7685a03370ccf22a958645e8.tar.gz
src-3a3f435f98f5bdab7685a03370ccf22a958645e8.zip
Include a 'package-pkg' target, intended for use for
architectures we do not provide upstream pkg(8) packages. This is not tied to anything as-is, and likely will break your system if used (based on experience with testing with powerpc). There is an overwhelming amount of evil happening here, so until the issues are fixed, it will not be tied into the 'packages' target. Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/projects/release-pkg/; revision=295955
-rw-r--r--Makefile2
-rw-r--r--Makefile.inc16
-rwxr-xr-xrelease/scripts/make-pkg-package.sh25
3 files changed, 32 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 999100d6f189..0b0d53fafd7a 100644
--- a/Makefile
+++ b/Makefile
@@ -128,7 +128,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
build32 builddtb distribute32 install32 xdev xdev-build xdev-install \
xdev-links native-xtools stageworld stagekernel stage-packages \
create-world-packages create-kernel-packages create-packages \
- packages installconfig real-packages sign-packages
+ packages installconfig real-packages sign-packages package-pkg
TGTS+= ${SUBDIR_TARGETS}
diff --git a/Makefile.inc1 b/Makefile.inc1
index a3e1cc1b7433..4ccdc70a4310 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1378,6 +1378,12 @@ _pkgbootstrap:
packages:
${MAKE} -C ${.CURDIR} PKG_VERSION=${PKG_VERSION} real-packages
+package-pkg:
+ rm -rf /tmp/ports.${TARGET} || :
+ env ${WMAKEENV:Q} SRCDIR=${.CURDIR} PORTSDIR=${PORTSDIR} REVISION=${REVISION} \
+ PKG_VERSION=${PKG_VERSION} REPODIR=${REPODIR} WSTAGEDIR=${WSTAGEDIR} \
+ sh ${.CURDIR}/release/scripts/make-pkg-package.sh
+
real-packages: stage-packages create-packages sign-packages
stage-packages:
diff --git a/release/scripts/make-pkg-package.sh b/release/scripts/make-pkg-package.sh
new file mode 100755
index 000000000000..ab9418bab803
--- /dev/null
+++ b/release/scripts/make-pkg-package.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# Simulate the build environment.
+eval $(make -C ${SRCDIR} TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} buildenvvars)
+export WRKDIRPREFIX=/tmp/ports.${TARGET}
+export WSTAGEDIR=${WSTAGEDIR}
+export REPODIR=${REPODIR}
+export PKG_VERSION=${PKG_VERSION}
+export WRKDIR=$(make -C ${PORTSDIR}/ports-mgmt/pkg -V WRKDIR)
+
+make -C ${PORTSDIR}/ports-mgmt/pkg TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
+ CONFIGURE_ARGS="--host=$(uname -m)-portbld-freebsd${REVISION}" \
+ stage create-manifest
+
+pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh \
+ create -v -m ${WRKDIR}/.metadir/ \
+ -r ${WRKDIR}/stage \
+ -p ${WRKDIR}/.PLIST.mktmp \
+ -o ${REPODIR}/$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}
+mkdir -p ${REPODIR}/$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}/Latest/
+cd ${REPODIR}/$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}/Latest/ && \
+ ln -s ../pkg-*.txz