Page MenuHomeFreeBSD

D57751.id.diff
No OneTemporary

D57751.id.diff

diff --git a/Makefile.inc1 b/Makefile.inc1
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2027,9 +2027,9 @@
${_+_}${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} DISTDIR=. distributekernel
PORTSDIR?= /usr/ports
-WSTAGEDIR?= ${OBJTOP}/worldstage
-KSTAGEDIR?= ${OBJTOP}/kernelstage
-SSTAGEDIR?= ${OBJTOP}/sourcestage
+WSTAGEDIR?= ${STAGING_MFSMOUNT:U${OBJTOP}}/worldstage
+KSTAGEDIR?= ${STAGING_MFSMOUNT:U${OBJTOP}}/kernelstage
+SSTAGEDIR?= ${STAGING_MFSMOUNT:U${OBJTOP}}/sourcestage
REPODIR?= ${OBJROOT}repo
PKG_FORMAT?= tzst
PKG_LEVEL?= -1
diff --git a/release/Makefile b/release/Makefile
--- a/release/Makefile
+++ b/release/Makefile
@@ -77,8 +77,8 @@
.if !defined(NOPKGBASE) || empty(NOPKGBASE)
PKGBASE_REPO_DIR= pkgbase-repo-dir
-WSTAGEDIR!= ${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V WSTAGEDIR
-PKG_ABI_FILE= ${WSTAGEDIR}/usr/bin/uname
+_WOBJDIR!= ${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V.OBJDIR
+PKG_ABI_FILE= ${_WOBJDIR}/usr.bin/uname/uname
PKG_ABI= $$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI)
OSVERSION= $$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config OSVERSION)
.endif
@@ -151,6 +151,7 @@
.endif
CLEANDIRS= ${DISTDIR} pkgdb-dvd pkgdb-disc1 pkgbase-repo pkgbase-repo-dir ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd pkgbase-repo.tar
beforeclean:
+ [ -L ./pkgbase-repo ] && rm pkgbase-repo || true
chflags -R noschg .
.include <bsd.obj.mk>
clean: beforeclean
@@ -215,13 +216,22 @@
.endif
pkgbase-repo:
- mkdir -p pkgbase-repo
+ _REPODIR=$$( ${IMAKE} -C ${WORLDDIR} -vREPODIR ); \
+ [ -d $${_REPODIR} ] || mkdir $${_REPODIR}; \
+ [ -d $${_REPODIR} ] && ln -s $${_REPODIR} pkgbase-repo \
+ || mkdir -p pkgbase-repo; \
mkdir -p /tmp/ports /tmp/distfiles
- ( ${IMAKE} -C ${WORLDDIR} packages REPODIR=${.OBJDIR}/pkgbase-repo \
- INCLUDE_PKG_IN_PKGBASE_REPO=YES BOOTSTRAP_PKG_FROM_PORTS=YES )
+ _PKG_ABI=$$( ${IMAKE} -C ${WORLDDIR} -f Makefile.inc1 -VPKG_ABI create-world-packages ); \
+ if ! [ pkgbase-repo/$$_PKG_ABI/latest/data.pkg -nt $$(ls -1t \
+ pkgbase-repo/$$_PKG_ABI/latest/*-set-optional-*.pkg | head -n 1) ]; then \
+ ( ${IMAKE} -C ${WORLDDIR} packages \
+ INCLUDE_PKG_IN_PKGBASE_REPO=YES BOOTSTRAP_PKG_FROM_PORTS=YES ); \
+ fi
pkgbase-repo.tar: pkgbase-repo
- tar -cf pkgbase-repo.tar -C pkgbase-repo .
+ _PKG_ABI=$$( ${IMAKE} -C ${WORLDDIR} -f Makefile.inc1 -VPKG_ABI create-world-packages ); \
+ _latest_realdirname=$$( readlink pkgbase-repo/$$_PKG_ABI/latest ); \
+ tar -cf pkgbase-repo.tar -C pkgbase-repo -n ./ ./$$_PKG_ABI ./$$_PKG_ABI/$$_latest_realdirname ./$$_PKG_ABI/latest $$( cd pkgbase-repo && find ./$$_PKG_ABI/$$_latest_realdirname ! -type d)
pkgbase-repo-dir: pkgbase-repo
mkdir -p pkgbase-repo-dir
@@ -231,21 +241,28 @@
disc1:
# Install system
- mkdir -p ${.TARGET}
- ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \
- DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \
- MK_INSTALLLIB=no MK_MAIL=no \
- ${_ALL_LIBCOMPATS:@v@MK_LIB$v=no@} \
- MK_TOOLCHAIN=no \
- MK_RESCUE=no MK_DICT=no \
- MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no)
+ if [ -d ${.TARGET} ]; then \
+ rm ${.TARGET}/METALOG; \
+ rm -R ${.TARGET}/usr/freebsd-packages/*; \
+ else \
+ mkdir ${.TARGET}; \
+ ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \
+ DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \
+ MK_INSTALLLIB=no MK_MAIL=no \
+ ${_ALL_LIBCOMPATS:@v@MK_LIB$v=no@} \
+ MK_TOOLCHAIN=no \
+ MK_RESCUE=no MK_DICT=no \
+ MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no); \
+ fi
+
.if !defined(NOPKGBASE) || empty(NOPKGBASE)
# Create offline pkgbase repo on release media
mkdir -p ${.TARGET}/usr/freebsd-packages/repos/
${.CURDIR}/scripts/pkgbase-stage.lua disc \
${.OBJDIR}/pkgbase-repo-dir \
${.TARGET}/usr/freebsd-packages/offline \
- "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-disc1 ${KERNCONF:UGENERIC:tl}
+ "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-disc1 ${KERNCONF:UGENERIC:tl} \
+ || { touch -t 0001010000 ${.TARGET}; false; }
cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \
${.TARGET}/usr/freebsd-packages/repos/
mtree -c -p ${.TARGET}/usr/freebsd-packages | \
@@ -346,7 +363,8 @@
${.CURDIR}/scripts/pkgbase-stage.lua dvd \
${.OBJDIR}/pkgbase-repo-dir \
${.TARGET}/usr/freebsd-packages/offline \
- "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-dvd ${KERNCONF:UGENERIC:tl}
+ "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-dvd ${KERNCONF:UGENERIC:tl} \
+ || { touch -t 0001010000 ${.TARGET}; false; }
cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \
${.TARGET}/usr/freebsd-packages/repos/
mtree -c -p ${.TARGET}/usr/freebsd-packages | \

File Metadata

Mime Type
text/plain
Expires
Sun, Aug 23, 1:51 PM (19 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37094887
Default Alt Text
D57751.id.diff (4 KB)

Event Timeline