From 3a3f435f98f5bdab7685a03370ccf22a958645e8 Mon Sep 17 00:00:00 2001 From: Glen Barber Date: Wed, 24 Feb 2016 03:05:05 +0000 Subject: [PATCH] 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 --- Makefile | 2 +- Makefile.inc1 | 6 ++++++ release/scripts/make-pkg-package.sh | 25 +++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100755 release/scripts/make-pkg-package.sh 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