From nobody Sat May 24 21:37:06 2025 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b4b2y1MhTz5x298 for ; Sat, 24 May 2025 21:37:14 +0000 (UTC) (envelope-from dclarke@blastwave.org) Received: from mail.oetec.com (mail.oetec.com [108.160.241.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mail.oetec.com", Issuer "E5" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b4b2w2LGlz4JPp for ; Sat, 24 May 2025 21:37:12 +0000 (UTC) (envelope-from dclarke@blastwave.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=blastwave.org header.s=default header.b=Wnhuqpyv; spf=pass (mx1.freebsd.org: domain of dclarke@blastwave.org designates 108.160.241.186 as permitted sender) smtp.mailfrom=dclarke@blastwave.org; dmarc=pass (policy=quarantine) header.from=blastwave.org Received: from [172.16.35.3] (pool-99-253-118-250.cpe.net.cable.rogers.com [99.253.118.250]) (authenticated bits=0) by mail.oetec.com (8.17.1/8.17.1) with ESMTPSA id 54OLb6JT010991 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 24 May 2025 17:37:08 -0400 (EDT) (envelope-from dclarke@blastwave.org) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=blastwave.org; s=default; t=1748122628; bh=2teMMyQfeTqwy1xaRI8sJFiwWwJAsKbzBamMWJu5YoQ=; h=Date:From:Subject:To; b=WnhuqpyvTmyb2Lz7iP7BTH/LG7LnQjIE6C1QxGBj2YmlPrAsSAFbSevy6Mcyvh0ss TKF8XzXrfDt8amYlk4YBl3aLanY7w8PQFFdhFPE4tP2qtAlwltY2ZLCtSCzTo50LP1 NUeQKn544t56lQ4nEzO7xNua1JtyilSsYeEHnEbnrvgN+vebgmium3+8996/PVca+W 1TYJyyKPbJbu5AaBmpMXL+9Z2azy7tULEsmrc6oJQU3wETNuDRMptAQ9XUlUa4h6xY mOW9r4n01zTL35CtHx2MSBbOJxBbQ+YQCAS7LFZqBTb4KtQO1j2aMHV2xxDKihoYDK OOmoORvHLNmhg== Message-ID: <24cacc7b-3539-4765-8852-43b02764c911@blastwave.org> Date: Sat, 24 May 2025 17:37:06 -0400 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Dennis Clarke Subject: With poudriere how does one create a jail of a slightly older RELEASE ? To: FreeBSD Current Content-Language: en-CA Organization: GENUNIX Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-oetec-MailScanner-Information: Please contact the ISP for more information X-oetec-MailScanner-ID: 54OLb6JT010991 X-oetec-MailScanner: Found to be clean X-oetec-MailScanner-From: dclarke@blastwave.org X-Spam-Status: No X-Rspamd-Queue-Id: 4b4b2w2LGlz4JPp X-Spamd-Bar: - X-Spamd-Result: default: False [-1.93 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_LONG(-1.00)[-0.997]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; DMARC_POLICY_ALLOW(-0.50)[blastwave.org,quarantine]; NEURAL_HAM_MEDIUM(-0.50)[-0.495]; NEURAL_SPAM_SHORT(0.26)[0.257]; R_DKIM_ALLOW(-0.20)[blastwave.org:s=default]; RCVD_IN_DNSWL_MED(-0.20)[108.160.241.186:from]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; HAS_ORG_HEADER(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_ALL(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; DKIM_TRACE(0.00)[blastwave.org:+]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:812, ipnet:108.160.240.0/20, country:CA]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[] This may seem trivial but trying to create a jail for a release from just a few years ago is not working well : t# poudriere jails -c -a amd64 -j 132amd64 -v 13.2-RELEASE [00:00:00] Creating 132amd64 fs at /export/poudriere/jails/132amd64... done [00:00:00] Fetching MANIFEST for FreeBSD 13.2-RELEASE amd64 fetch: https://download.freebsd.org/releases/amd64/amd64/13.2-RELEASE/MANIFEST: Not Found fetch: https://download.freebsd.org/releases/amd64/amd64/13.2-RELEASE/MANIFEST: Not Found [00:00:01] Error: Failed to fetch from https://download.freebsd.org/releases/amd64/amd64/13.2-RELEASE/MANIFEST [00:00:01] Error while creating jail, cleaning up. [00:00:01] Removing 132amd64 jail... done [00:00:01] Cleaning 132amd64 data... done t# That makes perfect sense. So then build from source? That does not work either : t# t# uname -apKU FreeBSD titan 15.0-CURRENT FreeBSD 15.0-CURRENT #1 main-n277353-19419d36cf2a: Mon May 19 20:40:28 UTC 2025 root@titan:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 amd64 1500043 1500043 t# t# cc --version FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2) Target: x86_64-unknown-freebsd15.0 Thread model: posix InstalledDir: /usr/bin Build config: +assertions t# t# env | sort BLOCKSIZE=K ENV=/root/.shrc HOME=/root LANG=C.UTF-8 MAIL=/var/mail/root MM_CHARSET=UTF-8 OLDPWD=/root PAGER=less PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PWD=/root SHELL=/bin/sh TERM=xterm USER=root t# t# /usr/bin/time -p idprio 0 poudriere jail -c -j 132amd64 -a amd64 \ -v releng/13.2 \ -J 1 -b -D -m git+https -U https://git.freebsd.org/src.git [00:00:00] Creating 132amd64 fs at /export/poudriere/jails/132amd64... done [00:00:00] Checking out the sources with git+https... done [00:04:25] Starting make buildworld with 1 jobs make[1]: /export/poudriere/jails/132amd64/usr/src/Makefile.inc1:340: SYSTEM_COMPILER: libclang will be built for bootstrapping a cross-compiler. make[1]: /export/poudriere/jails/132amd64/usr/src/Makefile.inc1:345: SYSTEM_LINKER: libclang will be built for bootstrapping a cross-linker. -------------------------------------------------------------- >>> World build started on Sat May 24 21:12:02 UTC 2025 -------------------------------------------------------------- -------------------------------------------------------------- >>> Rebuilding the temporary build tree -------------------------------------------------------------- rm -rf /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp cd /export/poudriere/jails/132amd64/usr/src/tools/build; make DIRPRFX=tools/build/ DESTDIR=/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy installdirs mkdir -p /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/bin /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/lib/casper /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/lib/geom /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/include/casper /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/include/private/ucl /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/include/private/zstd /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/lib /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/libdata/pkgconfig /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/libexec ln -sfn bin /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/sbin ln -sfn ../bin /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/bin ln -sfn ../bin /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/sbin mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/sys" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/casper" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/ufs/ufs" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/ufs/ffs" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/fs/msdosfs" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/sys/disk" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/machine" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/rpc" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/crypto/chacha20" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/x86" cd /export/poudriere/jails/132amd64/usr/src/tools/build; make DIRPRFX=tools/build/ DESTDIR=/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy host-symlinks Linking host tools into /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/bin rm -f /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/libexec/flua cp -pf /usr/libexec/flua /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/libexec/flua -------------------------------------------------------------- >>> stage 1.1: legacy release compatibility shims -------------------------------------------------------------- . . . ********************************************************* * Here I just wait and let things happen. I have tried * * this with -J 32 and it fails everytime. So I figure * * using -J 1 may keeps things in chronological order. * ********************************************************* . . . mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/machine" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/rpc" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/crypto/chacha20" mkdir -p "/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy//usr/include/x86" -------------------------------------------------------------- >>> stage 1.2: bootstrap tools -------------------------------------------------------------- cd /export/poudriere/jails/132amd64/usr/src; INSTALL="sh /export/poudriere/jails/132amd64/usr/src/tools/install.sh" TOOLS_PREFIX=/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp PATH=/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/bin:/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/libexec:/sbin:/bin:/usr/sbin:/usr/bin WORLDTMP=/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp MAKEFLAGS="-m /export/poudriere/jails/132amd64/usr/src/tools/build/mk -j 1 -J 15,16 -m /export/poudriere/jails/132amd64/usr/src/share/mk" make -f Makefile.inc1 DESTDIR= OBJTOP='/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/obj-tools' OBJROOT='${OBJTOP}/' MAKEOBJDIRPREFIX= BOOTSTRAPPING=1500043 BWPHASE=bootstrap-tools -DNO_CPU_CFLAGS -DNO_LINT -DNO_PIC -DNO_SHARED MK_CTF=no MK_CLANG_EXTRAS=no MK_CLANG_FORMAT=no MK_CLANG_FULL=no MK_HTML=no MK_MAN=no MK_PROFILE=no MK_RETPOLINE=no MK_SSP=no MK_TESTS=no MK_WERROR=no MK_INCLUDES=yes MK_MAN_UTILS=yes MK_LLVM_TARGET_ALL=no bootstrap-tools ===> lib/clang/libllvmminimal (obj,all,install) . . . objcopy --only-keep-debug vtfontcvt.full vtfontcvt.debug objcopy --strip-debug --add-gnu-debuglink=vtfontcvt.debug vtfontcvt.full vtfontcvt sh /export/poudriere/jails/132amd64/usr/src/tools/install.sh -s -o root -g wheel -m 555 vtfontcvt /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/bin/vtfontcvt sh /export/poudriere/jails/132amd64/usr/src/tools/install.sh -o root -g wheel -m 444 vtfontcvt.debug /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/lib/debug/usr/bin/vtfontcvt.debug ===> usr.sbin/zic (obj,all,install) [Creating objdir /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/obj-tools/usr.sbin/zic...] echo zic.full: /usr/lib/libc.a /usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/lib/libegacy.a >> .depend /usr/local/bin/ccache cc -O2 -pipe -fno-common -I/export/poudriere/jails/132amd64/usr/src/contrib/tzcode -include tzconfig.h -g -MD -MF.depend.zic.o -MTzic.o -std=gnu99 -Wno-format-zero-length -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-variable -Qunused-arguments -I/usr/obj/export/poudriere/jails/132amd64/usr/src/amd64.amd64/tmp/legacy/usr/include -c /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/zic.c -o zic.o /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/zic.c:464:8: error: an attribute list cannot appear here 464 | static ATTRIBUTE_NORETURN void | ^~~~~~~~~~~~~~~~~~ /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/private.h:471:30: note: expanded from macro 'ATTRIBUTE_NORETURN' 471 | # define ATTRIBUTE_NORETURN [[noreturn]] | ^~~~~~~~~~~~ /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/zic.c:471:8: error: an attribute list cannot appear here 471 | static ATTRIBUTE_NORETURN void | ^~~~~~~~~~~~~~~~~~ /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/private.h:471:30: note: expanded from macro 'ATTRIBUTE_NORETURN' 471 | # define ATTRIBUTE_NORETURN [[noreturn]] | ^~~~~~~~~~~~ /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/zic.c:669:8: error: an attribute list cannot appear here 669 | static ATTRIBUTE_NORETURN void | ^~~~~~~~~~~~~~~~~~ /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/private.h:471:30: note: expanded from macro 'ATTRIBUTE_NORETURN' 471 | # define ATTRIBUTE_NORETURN [[noreturn]] | ^~~~~~~~~~~~ /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/zic.c:3778:8: error: an attribute list cannot appear here 3778 | static ATTRIBUTE_NORETURN void | ^~~~~~~~~~~~~~~~~~ /export/poudriere/jails/132amd64/usr/src/contrib/tzcode/private.h:471:30: note: expanded from macro 'ATTRIBUTE_NORETURN' 471 | # define ATTRIBUTE_NORETURN [[noreturn]] | ^~~~~~~~~~~~ 4 errors generated. *** [zic.o] Error code 1 make[3]: stopped making "all" in /export/poudriere/jails/132amd64/usr/src/usr.sbin/zic make[3]: 1 error make[3]: stopped making "all" in /export/poudriere/jails/132amd64/usr/src/usr.sbin/zic make[2]: stopped making "bootstrap-tools" in /export/poudriere/jails/132amd64/usr/src make[1]: stopped making "buildworld" in /export/poudriere/jails/132amd64/usr/src make: stopped making "buildworld" in /export/poudriere/jails/132amd64/usr/src [00:08:18] Error: Failed to 'make buildworld' [00:08:18] Error while creating jail, cleaning up. [00:08:18] Removing 132amd64 jail... done [00:08:21] Cleaning 132amd64 data... done real 501.40 user 619.18 sys 158.12 t# So perhaps there is a way to create a jail for an older release using just some tarballs extracted and then I can hack up something that looks correct in /usr/local/etc/poudriere.d/jails/132amd64 directory. Something similar to : t# t# ls -lap /usr/local/etc/poudriere.d/jails/142amd64/ total 13 drwxr-xr-x 2 root wheel 9 May 19 22:25 ./ drwxr-xr-x 4 root wheel 4 May 24 21:31 ../ -rw-r--r-- 1 root wheel 6 Apr 16 23:00 arch -rw-r--r-- 1 root wheel 31 Apr 16 23:00 fs -rw-r--r-- 1 root wheel 5 Apr 16 23:00 method -rw-r--r-- 1 root wheel 33 Apr 16 23:00 mnt -rw-r--r-- 1 root wheel 2 Apr 16 23:01 pkgbase -rw-r--r-- 1 root wheel 11 May 19 22:25 timestamp -rw-r--r-- 1 root wheel 16 Apr 16 23:02 version t# t# t# cat /usr/local/etc/poudriere.d/jails/142amd64/method http t# t# cat /usr/local/etc/poudriere.d/jails/142amd64/mnt /export/poudriere/jails/142amd64 t# t# cat /usr/local/etc/poudriere.d/jails/142amd64/pkgbase 0 t# t# cat /usr/local/etc/poudriere.d/jails/142amd64/timestamp 1747693542 t# t# cat /usr/local/etc/poudriere.d/jails/142amd64/version 14.2-RELEASE-p3 t# t# cat /usr/local/etc/poudriere.d/jails/142amd64/fs zroot/poudriere/jails/142amd64 t# t# cat /usr/local/etc/poudriere.d/jails/142amd64/arch amd64 t# Well the "method" will not be http as that does not work. Is there any other way to build a jail for an older release? -- -- Dennis Clarke RISC-V/SPARC/PPC/ARM/CISC UNIX and Linux spoken