Date: Tue, 13 May 2025 12:03:32 -0700 From: Mark Millard <marklmi@yahoo.com> To: "Simon J. Gerraty" <sjg@juniper.net> Cc: Nuno Teixeira <eduardo@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: incremental bulds from scratch with beinstall.sh Message-ID: <DE730DA5-5F4F-4EF0-90CD-25EE413488EE@yahoo.com> In-Reply-To: <91572.1747150994@kaos.jnpr.net> References: <28F2BDE7-5903-4C04-A570-6A407F19D5F2@yahoo.com> <49396.1746554966@kaos.jnpr.net> <C9CCEA0D-C397-4FAA-8459-E8A2CD468358@yahoo.com> <87401.1746562441@kaos.jnpr.net> <4ACBBC16-3BB6-436A-B0B1-A18F088B000E@yahoo.com> <4421.1746572832@kaos.jnpr.net> <2CA19E21-0F2F-465A-BE8E-81ACDEE42D23@yahoo.com> <10858.1746584427@kaos.jnpr.net> <CAFDf7UKiKQnCNi-q4-m1QzP1qbobmoBr-UokQjBuJULuWPJC4w@mail.gmail.com> <27515.1747072855@kaos.jnpr.net> <CAFDf7UJs_yLJXAGKWaODhXh46%2BNxZug4y1HHk_c6ZvyRRvw1oA@mail.gmail.com> <3D5D0CE0-64A9-4A99-8282-61918987BA5C@yahoo.com> <CAFDf7UJxm_PNvenk8wnNAk=SusunOydXpJG4j-Ud_xc3vgVKCg@mail.gmail.com> <8FA02BF7-2653-4B4A-8EFD-84C148473AF5@yahoo.com> <91572.1747150994@kaos.jnpr.net>
index | next in thread | previous in thread | raw e-mail
On May 13, 2025, at 08:43, Simon J. Gerraty <sjg@juniper.net> wrote: > Mark Millard <marklmi@yahoo.com> wrote: >>> Use of a: >>> >>> env __MAKE_CONF="/usr/home/root/src.configs/make.conf" >>> >>> prefix for each make command and the file content >>> like shown by the cat below: > > If you are going to head down that path, I would highly recommend > using the 'mk' wrapper from > https://www.crufty.net/ftp/pub/sjg/sb-tools.tar.gz > We've used that model at work for over 20 years. > Described in https://www.crufty.net/sjg/docs/sb-tools.htm > > In a nutshell; each tree has a .sandbox-env file which can tune its > environment (as well as mark the top of the "sandbox"). > There are a plethora of other hooks to tune. > I find it especially useful with Emac's M-x compile I will take a look. Using my aarch64 context as an example (it has more variations than my amd64 environment, since I do nothing for i386 but aarch64 is also set up for armv7): I have 8 aarch64 scripts that have the likes of __MAKE_CONF (and more) specified that do individual system builds of main's kernel or world: # ls -C1 ~/build-sys-*dbg-*.sh /root/build-sys-main-CA7-dbg-kernel.sh /root/build-sys-main-CA7-dbg-world.sh /root/build-sys-main-CA7-nodbg-kernel.sh /root/build-sys-main-CA7-nodbg-world.sh /root/build-sys-main-CA76-dbg-kernel.sh /root/build-sys-main-CA76-dbg-world.sh /root/build-sys-main-CA76-nodbg-kernel.sh /root/build-sys-main-CA76-nodbg-world.sh The above in turn involve use of appropriate files from: # ls -C1 ~/src.configs/* /root/src.configs/make.conf /root/src.configs/src.conf.CA7-dbg-clang.aarch64-host /root/src.configs/src.conf.CA7-nodbg-clang.aarch64-host /root/src.configs/src.conf.CA76-dbg-clang.aarch64-host /root/src.configs/src.conf.CA76-nodbg-clang.aarch64-host ~/src.configs/make.conf is common to all 8. They also use my git worktree: /usr/main-src/ ( /usr/src/ is from PkgBase and, so, has no .git/ repository. A different /usr/*-src/ has the .git repository. ) I also have 7 scripts that run more than one of those ~/build-sys-*dbg-*.sh in a sequence: # ls -C1 ~/build-sys-*[67]-[kw]*.sh /root/build-sys-main-CA7-kernel.sh /root/build-sys-main-CA7-world-kernel.sh /root/build-sys-main-CA7-world.sh /root/build-sys-main-CA76-kernel.sh /root/build-sys-main-CA76-world-kernel.sh /root/build-sys-main-CA76-world.sh /root/build-sys-main-CA76_CA7-world-kernel.sh (Each of those 7 build both -dbg- and -nodbg- variations.) For reference: CA76: cortex-a76 (aarch64) CA7: cortex-a7 (armv7) # ls -dC1 /usr/obj/BUILDs/*/ /usr/obj/BUILDs/main-CA7-dbg-clang/ /usr/obj/BUILDs/main-CA7-nodbg-clang/ /usr/obj/BUILDs/main-CA76-dbg-clang/ /usr/obj/BUILDs/main-CA76-nodbg-clang/ I do not use ~/src.configs/make.conf with poudriere-devel for package builds. I avoid doing package builds outside of poudriere in normal circumstances. I normally do not build stable/* or releng/*.* systems, just using official FreeBSD builds for such. (Long ago I used to build more variations.) I only build amd64 systems on amd64; I only build aarch64 and armv7 on aarch64. (Long ago I used to cross build little endian systems on amd64.) Thanks, Mark === Mark Millard marklmi at yahoo.comhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DE730DA5-5F4F-4EF0-90CD-25EE413488EE>
