Commit Graph

862 Commits

Author SHA1 Message Date
Franco Fichtner 62cf737ea3 build|composite: remove PRODUCT_FLAVOUR where irrelevant 2023-02-03 15:13:55 +01:00
Franco Fichtner b2e630c371 config: turn CRYPTO into build.conf SSL setting
We might want to change it, but more like "openssl-devel" to try version
3 at some later point in time.  The FLAVOUR magic can go gradually, see
next commit.
2023-02-03 14:34:12 +01:00
Franco Fichtner d49c5ca526 build/skim: sidestep touching common code; closes #330 2022-12-12 09:51:01 +01:00
Franco Fichtner 1dd0017153 build: adding SRC_BASE to command line breaks nrpe3 Makefile 2022-12-12 09:43:15 +01:00
Franco Fichtner f96291ce67 Revert "build/skim: allow override of PORTSLIST too"
This reverts commit 9924449e63.
2022-12-10 14:06:38 +01:00
Franco Fichtner 73da6bb488 build: pass SRC_BASE so ports know about correct SRCDIR; closes #294 2022-12-10 13:51:04 +01:00
Franco Fichtner 6b61fb18d4 Revert "build: pass SRC_BASE so ports know about correct SRCDIR; closes #294"
This reverts commit 8c25051195.
2022-12-09 16:37:32 +01:00
Franco Fichtner 8c25051195 build: pass SRC_BASE so ports know about correct SRCDIR; closes #294 2022-12-08 14:52:41 +01:00
Franco Fichtner 9924449e63 build/skim: allow override of PORTSLIST too 2022-12-08 14:46:30 +01:00
Franco Fichtner cb807b82ae build: partially revert back to older code removed in 968e273e 2022-10-18 14:48:45 +02:00
Johnny S. Lee 64e0e1b2f7
build: Allow delimiters other than newline in {AUX,PLUGINS,PORTS}LIST (#322)
Currently, when assigning multiple items to a LIST, the following works:
```
make ports PORTSLIST="port/a
port/b"
```
while the following would fail:
```
make ports PORTSLIST="port/a port/b"
```
2022-10-18 14:37:57 +02:00
Franco Fichtner d412689c99 build: fix missing overide for lists; closes #318 2022-09-30 11:04:07 +02:00
Franco Fichtner e31fbaa3fd build: list_ports/list_plugins are the same, use shared list_packages 2022-08-31 12:43:36 +02:00
Franco Fichtner 968e273e06 build: remove side effect from list_config()
Function returns output nowadays, no need to return cached result
if already set.  Fixes AUXLIST handling in ports step.
2022-08-29 11:57:40 +02:00
Franco Fichtner da3cbc263e build/ports: build aux.conf only as dependency
Avoids spurious build errors for lang/rust on early shared LibreSSL/OpenSSL
build on the same machine.  Also rebuilds benefit from this not wanting to
build rust at all if not necessary (go is not that bad).
2022-08-25 10:24:08 +02:00
Franco Fichtner bd63e02c87 build: prevent build on pkg version mismatches #249
If the build system version aqcuired by FreeBSD packages is newer
chances are that the database result is going to be unmanageable
for the version we use at the moment.
2022-08-05 10:23:49 +02:00
Franco Fichtner fe1e6a2f73 build: when encountering fatal errors do not add marker #310 2022-07-30 09:38:53 +02:00
Franco Fichtner 7e60766be2 build: do not print env on clean 2022-07-06 10:06:43 +02:00
Franco Fichtner 6bcac74a8f build/options: actually error when we have something detected 2022-06-08 13:27:47 +02:00
Franco Fichtner a4e7af0253 build: pkg-warn is more of a pkg-msg anyway 2022-06-08 12:39:12 +02:00
Franco Fichtner c1874043f9 build/packages: mention packages stripped by step 2022-06-08 12:33:41 +02:00
Franco Fichtner 18de0768b9 build/arm: adjust print location to illustrate #297 2022-06-07 09:04:00 +02:00
Franco Fichtner 9106a696e9 build/vm: apparently gptzfsboot is needed here for some devices 2022-05-19 15:53:34 +02:00
Franco Fichtner 0e2043ef67 build/connect: add tiny helper to jump to PRODUCT_SERVER secure shell 2022-05-13 12:21:27 +02:00
Franco Fichtner a9d3dc8ec9 build/distfiles: CLEAN_FETCH_ENV irreversibly broken by GO_MODULES 2022-05-10 14:59:00 +02:00
Franco Fichtner 585690aecb build: also support old style txz links
pkg-repo doesn't do it, but keeps compat with the meta and packagesite
files... yeah, sure.
2022-04-29 09:44:31 +02:00
Franco Fichtner 8ab4d23004 build: support pkg 1.17 2022-04-29 09:31:43 +02:00
Franco Fichtner 16e789806e build/plugins: support PLUGIN_OBSOLETE
If plugins are being phased out we can start to annotate them and the
reason why (or how to emulate the plugin in the future).  It's useful
because as long as a release retains a plugin we do not have to delete
it from master branch right away.
2022-04-06 11:58:41 +02:00
Franco Fichtner 6031fc8111 build: remove NO_*CLEAN; closes #243 2022-04-06 08:34:12 +02:00
Franco Fichtner 75b7cc43d4 build: EFIFAT is no longer used 2022-03-17 07:41:29 +01:00
Franco Fichtner 4fc25e4305 build/vm: align efi partition with installer; closes #276 2022-02-23 13:49:16 +01:00
Franco Fichtner 9dfa2d964e composite/factory: omit the GPTDUMMY partition
We want to reserve the last partition for later swap use.
2022-02-23 13:13:26 +01:00
Franco Fichtner d3036ff5b9 build: $((...)) style issue 2022-02-23 10:25:25 +01:00
Franco Fichtner 2e4601721e build: remove hw.uart.console and unused COMPORT support
It doesn't work anymore for EFI on FreeBSD 13.
2022-02-21 11:02:31 +01:00
Franco Fichtner 5f64cb5902 composite: add factory target 2022-02-17 15:32:21 +01:00
Franco Fichtner e782af9d8a build/vm: support bundling a ZFS image; closes #272
Flip the order of root and swap to allow VM image to grow.
Hook this up in extras.conf and also retrofit a serial console
for being able to test and debug in bhyve (build/boot).

Omit the use of a GPT root label in the ZFS case to deal with
devices names in the way that bsdinstall sets it up.  It is
not all that important for ZFS anyway.

The setup likely needs further testing and tweaking to make
sure we emulate bsdinstall zfsboot script properly to avoid
future problems.
2022-02-17 11:46:13 +01:00
Franco Fichtner ff2854fc4c build/boot: leave room to test growfs 2022-02-16 19:29:35 +01:00
Franco Fichtner 040fb92ec3 build/core: ran into this issue now testing opnsense-devel package
It was on another branch and it wasn't rebuilt because it slurped
the one from the master branch and was satisifed with its choice.
2022-02-16 15:30:11 +01:00
Franco Fichtner 4845246ad2 build: improve port selection in audit and distfiles; closes #268 2022-02-16 13:33:59 +01:00
Franco Fichtner e6e97ed470 build: MAKE_ARGS_DEV_CROSS for #266 2022-02-12 19:35:04 +01:00
Franco Fichtner 238c90c7b3 build/arm: missing -a 2022-02-10 10:13:25 +01:00
Franco Fichtner b5ef261b45 build: remove FreeBSD 12.1 renmants 2022-01-31 11:21:58 +01:00
Franco Fichtner 721f25f65f build/kernel: with a heavy heart require base build...
... and set up a chroot environment to run the proper kldxref in the
isolated environment.  It turns out that building kldxref manually
in the host builds one for the host likely with the help of /usr/include
and this fails again for the forward build.

It's the facepalm of the week.
2022-01-18 09:44:24 +01:00
Franco Fichtner 278a72fa81 build: fix list_config use 2022-01-18 08:38:53 +01:00
Franco Fichtner d81be06129 build/kernel: use bundled kldxref to write correct linker.hints file 2022-01-18 08:34:19 +01:00
Franco Fichtner 2547717f1a build/test: install each plugin, see what happens; closes #262
We do have an issue with configd not being available here but we
can always work on this later.  For now it runs into a timeout
and then continues as expected.
2022-01-12 13:50:20 +01:00
Franco Fichtner 10c850dded build: add list_config to make list_ports and list_plugins shorter #262 2022-01-12 12:30:36 +01:00
Franco Fichtner 1f85cfffca build/plugins: add list_plugins for #262 2022-01-12 12:16:08 +01:00
Franco Fichtner 86a772fefe build/kernel: annotate issue with integrity check around kldxref use 2022-01-12 10:06:03 +01:00
Franco Fichtner a09721df27 build/list: the release can be inspected 2022-01-10 11:42:20 +01:00
Franco Fichtner 12587aa807 build/arm: provide efi folder the new way; closes #250 2022-01-04 14:49:01 +01:00
Franco Fichtner d82481a10c build/dvd: revive setup_efiboot for 22.1 2022-01-04 13:31:14 +01:00
Franco Fichtner 5559bc8524 build: add a working DEBUG flag for 22.1 kernels
Make sure to do a manual clean kernel build run in order to get
the necessary files in place.  A partial rebuild does not seem
to work.
2022-01-04 09:52:58 +01:00
Franco Fichtner b072e55797 build: rename plist files to prefix set name 2022-01-03 11:24:19 +01:00
Franco Fichtner 9fc1c776eb build: introduce PRODUCT_CROSS for easier use 2021-12-27 21:49:25 +01:00
Christopher SHEN 3ed03c7223 device: cross-build is not always needed; closes #256 2021-12-26 08:58:39 +01:00
Franco Fichtner d13c83dfb7 build: device kernel config suffix is deprecated; closes #255
While here also do not embed the device for the (-GENERIC)
ARM64 configuration.  Seems like leftovers from the latest
ARM contributions.
2021-12-20 09:23:33 +01:00
Franco Fichtner ae3d844565 config: more build changes for 22.1 2021-12-14 10:18:16 +01:00
Franco Fichtner 9005749130 build/boot: loop on reboot 2021-12-13 12:20:44 +01:00
Franco Fichtner 1c6c5ac6de build/ports: for now only warn on plist issues
check-plist is never executed, not even in QA scripts for FreeBSD,
but constantly being looked at, likely through Poudriere output.

In general such vital scripting should be executed in a standard
workflow, but to improve our own submissions just fold this into
the ports build manually.
2021-12-10 08:18:05 +01:00
Franco Fichtner 729ddb6f79 build/plugins: fix typo 2021-12-10 07:50:00 +01:00
Franco Fichtner adfd2ba5ce build/plugins: last branch wins here in contrast to general behaviour
Plugins have a special handling whereas the last active branch
gets to insert its package.  The same could be done for core, but
here we only have one package per branch and they should not
overlap in naming.
2021-12-01 22:38:31 +01:00
Franco Fichtner ee7dfd1686 build: make sure to update the latest link on rebuild
It means that we block subsequent builds of the same package in general.
2021-12-01 22:34:47 +01:00
Franco Fichtner 3d7c8f243c build/release: fix typo reported by @mimugmail 2021-10-17 11:48:10 +02:00
Franco Fichtner 73ce4f6f23 build: refactor PORTSLIST generation into shared list_ports() call
With five consumers this makes sense nowadays.  While here make the
distfiles fetch ignore PORT_IGNORE to download otherwise missing files
not found in the default flavour.
2021-10-15 14:59:24 +02:00
Franco Fichtner 9bdf70ca0d build: dev/ seems to work, but clutters non-stage directories
E.g. it would show up in the release set.
2021-10-14 20:19:30 +02:00
Franco Fichtner 1b716dda51 build/release: bundle arm if found and reduce default scope again 2021-10-14 20:18:01 +02:00
Franco Fichtner a0902d71e1 build/options: move options check into chroot to avoid side effects 2021-10-14 10:50:10 +02:00
Franco Fichtner b3818a032c build/options: port option scanner; closes #226 2021-10-12 21:02:32 +02:00
Franco Fichtner d4fed6193a build: audit missing flavored ports 2021-10-12 19:04:16 +02:00
Franco Fichtner ce94c70d5b build: move back to old-style efi fat partition generation
Need to revisit for 22.1 beta images.
2021-10-12 09:14:30 +02:00
Franco Fichtner dac714b313 make: bundle vm image with business release 2021-10-12 09:13:55 +02:00
Franco Fichtner 7d1b646bfe build: always create a dev dir so clean.sh an find it 2021-10-01 09:56:15 +02:00
Franco Fichtner 4b2d6e81eb build/clean: back a step but ignore errors 2021-10-01 09:45:14 +02:00
Franco Fichtner fee2a722f6 build/clean: strange chroot issue in netbsd-tests on stable/13
Unmount stray mount points if they exist, but don't try to delete
files that may lie inside the mounted git repository.
2021-09-27 12:50:26 +02:00
Franco Fichtner 4336b0210d build: streamline version derivation/override 2021-09-09 13:09:54 +02:00
Franco Fichtner e45319b5a9 build: bundle packages even if there are fatal issues
Otherwise it is pretty hard to get a nightly build from a partial run.
2021-09-09 11:10:29 +02:00
Franco Fichtner 5823c875f4 build: go:modules fetch requires runtime packages
Buidling pkg, go and openssl with perl5 and nss is quite the overkill so
try to use the existing packages when found.
2021-09-08 13:56:50 +02:00
Franco Fichtner 593d396d76 build: fix double suffix after refactor 2021-09-07 14:16:40 +02:00
Franco Fichtner 1633ef27eb build: clean up REPO_VERSION usage enabling VERSION override everywhere 2021-09-06 12:11:05 +02:00
Franco Fichtner bc5487b6b5 build: correclty print error when running embedded scripts 2021-09-03 20:17:28 +02:00
Franco Fichtner 76b8afaa89 build: use PRODUCT_VERSION when we want to emulate REPO_VERSION 2021-09-03 20:04:12 +02:00
Franco Fichtner 77e2de381a build: allow VERSION override in base and kernel sets 2021-09-01 14:15:30 +02:00
Franco Fichtner 71bc5874a1 build: typo in EFI directory 2021-08-20 14:40:54 +02:00
Franco Fichtner 586b60b941 build/dvd: wants ancient fat configuration to boot 2021-08-20 14:04:03 +02:00
Franco Fichtner d6d65fc0b4 build: convert vm and vga scripts, minor errors elsewhere 2021-08-20 12:08:12 +02:00
Franco Fichtner 06c8cd0ca9 build/serial: rebuild UEFI on FreeBSD 13
The .efifat files have been deleted from the distribution so they
need to be handrolled.  That's alright, but then mkimg doesn't work
on FreeBSD 13 because our STAGEDIR contains a ":" character.
Sidestep the issue by using a relative path inside STAGEDIR, but
also hoping that file names with ":" are not becoming second-class.

This should be compatible with 21.7 builds although we likely do not
need new images.

While here also convert dvd image with others to be done later.
2021-08-20 00:33:48 +02:00
Franco Fichtner 27bfcb143b build/boot: bigger disk for ZFS test 2021-08-19 21:34:51 +02:00
Franco Fichtner 29ce7d28a1 build/kernel: actually retain build chain after previous 2021-08-19 11:04:29 +02:00
Kyle Evans 6a0d3a58e7 kernel: drop cross-build conditional for building kernel-toolchain
It's actually non-trivial to determine if you need to build the
kernel-toolchain or not -- host version not matching the target exactly
is a valid reason, among others.

Unconditionally build kernel-toolchain to err on the side of caution and
towards prevention of confusing build failures.  If the `base` target
has already been built then no building really happens here, we simply
walk through all of the bootstrap tools and determine they're all up to
date.
2021-08-19 10:33:36 +02:00
Franco Fichtner cb0452bb17 build/base|kernel: only attempt build when passing "build" argument
Packaging can take some time so working on complex src patches is
quicker this way.
2021-08-19 10:18:45 +02:00
Franco Fichtner 181a092c02 build/distfiles: fetch broken ports anyway (i.e. skim list) 2021-08-17 12:53:20 +02:00
Franco Fichtner f4fa806505 build: clone into existing mountpoint if we must 2021-08-17 12:32:58 +02:00
Franco Fichtner 5832c9c636 build: reset branches that start with "volatile/"
It helps with branch rewrite as we pull new updates from FreeBSD
stable branch without the need for merges.  We also upstreamed a
few patches so our own stash on top is getting thinner as a bonus.
2021-08-17 08:00:23 +02:00
Franco Fichtner ecd262621f build: protect against faulty upstream src.git tags 2021-08-15 09:21:20 +02:00
Franco Fichtner 612983ae9e build/rename: fix typo 2021-08-13 09:31:08 +02:00
Franco Fichtner b192f2968e build/(core|plugins): use similar approach as ports to report skipped/rebuilt; closes #241 2021-08-10 16:22:16 +02:00
Franco Fichtner ca639d1f03 build/ports: remove more debug 2021-08-10 14:54:29 +02:00
Franco Fichtner 37bf0745c9 build: make .pkg-(warn|err) generic, fix internal STAGEDIR use #241 2021-08-10 13:18:38 +02:00
Franco Fichtner ad95a2af87 build/ports: no longer use make -s in the builder
It's a lot of log content but somehow pkg wanting to bootstrap
into FreeBSD's 1.17 package during building is gone now which
sort of defeats the purpose if trying to fix this with more
debug output.  *shrug*
2021-08-10 08:40:26 +02:00