Mark Millard wrote on 2021/05/16 17:11: > On 2021-May-16, at 00:16, Tatsuki Makino <tatsuki_makino at hotmail.com> > wrote: > >> poudriere jail -c -j main -m 'src=/usr/src' -v `make -C /usr/src/release/ -V >> VERSION VERSION=\$\{REVISION:Q\}-\$\{BRANCH:Q\}` >> > Bob already does a buildworld based on /usr/src for other > reasons/uses than poudriere. My suggestions are targeted > to resusing that buildworld result instead of involving > doing another buildworld for poudriere. It is also biased > to not changing how he does that buildworld (out of scope > to what he was asking about). So far as I know he does > not use /usr/src/release to do builds. Bob's system is > not fast, each buildworld is time consuming. > > Would your command suggestion reuse his already-existing > buildworld? >
The /usr/src/release that appeared here is just to create a version string. `make -C /usr/src/release/ -V VERSION VERSION=\$\{REVISION:Q\}-\$\{BRANCH:Q\}` will create a string exactly like 12.2-STABLE, no matter when /usr/src is. > > In my own use the same is true: I buildworld separately > before any poudriere activity (for other reasons/uses) > and then I reuse the buildworld that resulted for > also setting up poudriere later. > This one of mine is also a reuse of built world. The main idea of my buildworld, buildkernel, installkernel, and installworld is as follows. (There are some commands mixed in that cannot be executed directly.) rm -rf -- /usr/obj/{*,.[^.]*,..?*} git -C /usr/src/ pull && git -C /usr/src/ reset --hard && git -C /usr/src/ clean -dfx cat somepatches*.diff | patch -Nt -d /usr/src/ cd /usr/src/ make buildworld && make buildkernel mergemaster -p make installkernel make installworld make delete-old delete-old-libs mergemaster reboot poudriere jail -u -j main # -j name is matched to above command. poudriere's jail -u will take care of everything from installworld to the /etc installation. For poudriere-jail, buildworld will not run without -b option. A copy of /usr/src for jail will be made, but it is required to retain the original source files for jail. And just to make things a little more interesting... The jail can be started with the following command. poudriere jail -s -j main -p default This jail will be logged in with the following command. jexec main-default-n env -i "TERM=$TERM" /usr/bin/login -f -p root This is where you can debug, etc. in a mostly clean environment. If you break that environment too much, you can use the following command to get it back to normal. poudriere jail -k -j main -p default # Regardless of which person's method is more efficient, I am releasing my method in a similar topic area to let people know that there are different types of methods. Any jails other than -m null will be cleanly removed by poudriere jail -d, so try different ones :) Regards. _______________________________________________ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"