diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2023-11-17 16:19:39 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2023-12-04 08:05:03 +0000 |
commit | 99b8c0c35b0fcc633649209621243d678a13542a (patch) | |
tree | 34d2e5c88b8e9fc2d4e9f7498c25b97eff8e27c9 /Makefile.inc1 | |
parent | 094abb6fb41c07c0266a5cae84a7439289a978e9 (diff) | |
download | src-99b8c0c35b0fcc633649209621243d678a13542a.tar.gz src-99b8c0c35b0fcc633649209621243d678a13542a.zip |
pkgbase: create source package
FreeBSD-src for all the sources but the kernel
FreeBSD-src-sys just for the kernel
MFC After: 3 days
Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D42651
Diffstat (limited to 'Makefile.inc1')
-rw-r--r-- | Makefile.inc1 | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1 index 82f3ef061d98..0698a5d79a0a 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1956,6 +1956,7 @@ stagekernel: .PHONY PORTSDIR?= /usr/ports WSTAGEDIR?= ${OBJTOP}/worldstage KSTAGEDIR?= ${OBJTOP}/kernelstage +SSTAGEDIR?= ${OBJTOP}/sourcestage REPODIR?= ${OBJROOT}repo PKG_FORMAT?= tzst PKG_REPO_SIGNING_KEY?= # empty @@ -1963,6 +1964,7 @@ PKG_OUTPUT_DIR?= ${PKG_VERSION} .ORDER: stage-packages create-packages .ORDER: create-packages create-world-packages +.ORDER: create-packages create-source-packages .ORDER: create-packages create-kernel-packages .ORDER: create-packages sign-packages @@ -1974,7 +1976,7 @@ _pkgbootstrap: .PHONY # # Determine PKG_ABI from newvers.sh if not already set. # -.if !defined(PKG_ABI) && (make(create-world-packages-jobs) || make(create-kernel-packages*) || make(real-update-packages) || make(sign-packages)) +.if !defined(PKG_ABI) && (make(create-world-packages-jobs) || make(create-kernel-packages*) || make(real-update-packages) || make (create-source-packages) || make(sign-packages)) PKG_ABI=${_TYPE}:${MAJOR_REVISION}:${TARGET_ARCH} .endif PKG_BIN_VERSION!=${PKG_CMD} --version </dev/null 2>/dev/null |\ @@ -2051,7 +2053,10 @@ stage-packages-kernel: .PHONY ${_+_}@cd ${.CURDIR}; \ ${MAKE} DESTDIR=${KSTAGEDIR} -DNO_ROOT stagekernel -stage-packages: .PHONY stage-packages-world stage-packages-kernel +stage-packages-source: .PHONY + @mkdir -p ${SSTAGEDIR}; + +stage-packages: .PHONY stage-packages-world stage-packages-kernel stage-packages-source _repodir: .PHONY @mkdir -p ${REPODIR} @@ -2070,7 +2075,50 @@ create-packages-kernel: _pkgbootstrap _repodir .PHONY SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} \ create-kernel-packages -create-packages: .PHONY create-packages-world create-packages-kernel +create-packages-source: _pkgbootstrap _repodir .PHONY + ${_+_}@cd ${.CURDIR}; \ + ${MAKE} -f Makefile.inc1 \ + DESTDIR=${SSTAGEDIR} \ + PKG_VERSION=${PKG_VERSION} create-source-packages + +create-packages: .PHONY create-packages-world create-packages-kernel create-packages-source + +create-source-packages: _pkgbootstrap .PHONY + rm -f ${SSTAGEDIR}/*.plist 2>/dev/null || : +.if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) + @cd ${SRCDIR}; \ + ( echo "@override_prefix /usr/src" ; \ + ${GIT_CMD} ls-files ":!:sys/" ) > ${SSTAGEDIR}/src.plist + @cd ${SRCDIR}; \ + ( echo "@override_prefix /usr/src" ; \ + ${GIT_CMD} ls-files "sys/" ) > ${SSTAGEDIR}/src-sys.plist + sed -e "s/%VERSION%/${PKG_VERSION}/" \ + -e "s/%DESC%/FreeBSD sources/" \ + -e "s/ %VCS_REVISION%/${VCS_REVISION}/" \ + -e "s/%PKG_NAME_PREFIX%/${PKG_NAME_PREFIX}/" \ + -e "s/%PKG_MAINTAINER%/${PKG_MAINTAINER}/" \ + -e "s|%PKG_WWW%|${PKG_WWW}|" \ + ${SRCDIR}/release/packages/src.ucl \ + > ${SSTAGEDIR}/src.ucl + sed -e "s/%VERSION%/${PKG_VERSION}/" \ + -e "s/%DESC%/FreeBSD Kernel sources/" \ + -e "s/ %VCS_REVISION%/${VCS_REVISION}/" \ + -e "s/%PKG_NAME_PREFIX%/${PKG_NAME_PREFIX}/" \ + -e "s/%PKG_MAINTAINER%/${PKG_MAINTAINER}/" \ + -e "s|%PKG_WWW%|${PKG_WWW}|" \ + ${SRCDIR}/release/packages/src-sys.ucl \ + > ${SSTAGEDIR}/src-sys.ucl + ${PKG_CMD} -o ABI=${PKG_ABI} create -f ${PKG_FORMAT} \ + -M ${SSTAGEDIR}/src.ucl \ + -p ${SSTAGEDIR}/src.plist \ + -r ${SRCDIR} \ + -o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR} + ${PKG_CMD} -o ABI=${PKG_ABI} create -f ${PKG_FORMAT} \ + -M ${SSTAGEDIR}/src-sys.ucl \ + -p ${SSTAGEDIR}/src-sys.plist \ + -r ${SRCDIR} \ + -o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR} +.endif create-world-packages: _pkgbootstrap .PHONY @rm -f ${WSTAGEDIR}/*.plist 2>/dev/null || : |