summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2016-02-24 03:05:05 +0000
committergjb <gjb@FreeBSD.org>2016-02-24 03:05:05 +0000
commit9be9d7b0c99468cd184d9584e7d3ade2bf57c389 (patch)
tree95f74c132d855750f6640e28872d81c83a5aaf6f
parentaa9140456c8d1c68e238f8d94326c7771cf7ac5a (diff)
downloadFreeBSD-src-9be9d7b0c99468cd184d9584e7d3ade2bf57c389.zip
FreeBSD-src-9be9d7b0c99468cd184d9584e7d3ade2bf57c389.tar.gz
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
-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 999100d..0b0d53f 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 a3e1cc1..4ccdc70 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 0000000..ab9418b
--- /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
OpenPOWER on IntegriCloud