Date: Mon, 17 May 2021 07:33:35 +0900 From: Tatsuki Makino <tatsuki_makino@hotmail.com> To: Mark Millard <marklmi@yahoo.com>, FreeBSD ports <freebsd-ports@freebsd.org> Cc: bob prohaska <fbsd@www.zefox.net> Subject: Re: Python 37/38 conflict, was Re: Trubles compiling lxqt on RPi4 Message-ID: <PSAPR03MB563905B1A1DE546C271DAAABFA2E9@PSAPR03MB5639.apcprd03.prod.outlook.com> In-Reply-To: <52D036B7-D66D-417D-8C75-7868C9FEFE6A@yahoo.com> References: <0B407A98-E0D4-461E-BFD8-E02019E96757.ref@yahoo.com> <0B407A98-E0D4-461E-BFD8-E02019E96757@yahoo.com> <20210515233735.GA58311@www.zefox.net> <A43A154A-FB52-45DB-B3BB-DE1740128B14@yahoo.com> <PSAPR03MB56398C972736997CEF823487FA2E9@PSAPR03MB5639.apcprd03.prod.outlook.com> <52D036B7-D66D-417D-8C75-7868C9FEFE6A@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?PSAPR03MB563905B1A1DE546C271DAAABFA2E9>