aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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