Commit Graph

57 Commits

Author SHA1 Message Date
Franco Fichtner 11eac352ab build: add hotfix clean target which does core and plugins in one step 2024-02-15 15:23:51 +01:00
Franco Fichtner a2fc40997f build: basic implementation of aux packages; closes #299
It allows us to retain the "aux" packages for subsequent rebuilds.
These packages are inserted in the "ports" step and removed in the
"packages" step.

May be subject to changes and tweaks, but works nicely when e.g.
rebuilding suricata.
2024-02-08 15:59:16 +01:00
Franco Fichtner edeb7b5ddf build/clean: globs still work without PRODUCT_FLAVOUR 2023-02-03 15:13:55 +01: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 a5903066c0 build/clean: try harder to find actual STAGEDIR 2021-03-31 13:19:05 +02:00
Franco Fichtner f7213f9431 build/clean: core,plugins only makes sense if packages are there 2020-02-08 19:02:01 +01:00
Franco Fichtner fd9e920b21 build: we need device in base set too 2019-05-07 12:10:31 +02:00
Franco Fichtner 5dfee1c041 build: kernel set device name if device config does not unset 2019-05-06 19:49:31 +02:00
Franco Fichtner f309f0b269 build: adapt clean and rename to arm image naming change 2019-04-17 07:16:25 +02:00
Franco Fichtner 2eeb64271e build: only set marker if there's no '.pkg-err' file
Build steps for packages predate the .pkg-err file so we had no
way of knowning about the integrity of a build.  Now we can
directly check the status of the build.

The side effect is that "make plugins" and "make core" will run
"make ports" if that failed and fail there.  While there's a
little overhead in automated scripts this is more consistent with
build flow as we do not start higher targets that depend on broken
dependencies that look correct.  This was reported a few times
over the years.
2019-01-02 15:20:22 +01:00
Franco Fichtner 627b0be6ef build/clean: also clean compressed images 2018-07-04 15:22:19 +02:00
Franco Fichtner 66f5ef1d6e build/arm: add arm-based image generation code
This doesn't fully work yet, the +POST_INSTALL of core and
possibly plugins does not like the cross-build env yet.
2017-09-03 11:13:17 +02:00
Franco Fichtner 837c52fa54 build/test: repair os-* globbing
We can't install both types of plugins, so when SUFFIX= we need to
exclude "-devel".  Not the prettiest approach, but should do it in
99% of cases.
2017-08-26 08:27:08 +02:00
Franco Fichtner dec5379405 build: at least allow to clean the log directory 2017-08-05 13:18:52 +02:00
Franco Fichtner df43aa9126 build: fix argument scrubbing, remove obsolete gettext-tools from core 2017-04-27 19:14:36 +02:00
Franco Fichtner 2a509bae72 build/rename: add support for image types, clean up clean 2017-04-24 06:43:10 +02:00
Franco Fichtner 6797a9f5c8 build/dvd: the script formerly known as cdrom
After much discussion and questions, we move to a DVD-ish nomenclature
to indicate that images are likely oversized for a CD. In any case,
the Virtual Machines don't care about this, but users deciding to try
OPNsense might.

Now is the time as the next images are likely going to be for 17.7.
2017-04-10 09:37:26 +02:00
Franco Fichtner d1f5a812e0 build: no more "ospriv" 2017-02-16 09:25:53 +01:00
Franco Fichtner a50e9c5384 build/clean: also wipe packages signature 2016-10-05 01:39:19 +02:00
Franco Fichtner 71ff6b281b build: minor tweaks 2016-07-23 04:24:28 +02:00
Franco Fichtner 933ea2d176 build/clean: removal is not required 2016-07-19 16:39:19 +02:00
Franco Fichtner bda0830a43 build: arch-dependent STAGEDIR, print target, clean-obj target 2016-07-19 08:39:00 +02:00
Franco Fichtner 440dd65e70 build/xtools: new target, more cross-buid fun 2016-07-18 08:38:36 +02:00
Franco Fichtner 20517931c8 build: introduce PRODUCT_ARCH for cross-building 2016-07-17 15:47:49 +02:00
Franco Fichtner e1a4e36eec build: decpouple top package suffix 2016-07-12 07:22:57 +02:00
Franco Fichtner 44c05c3061 build: bring back "vga", different approach incoming... 2016-07-11 07:53:52 +02:00
Franco Fichtner 81d78b75fc build/clean: allow ports, plugins and core clean; closes #36 2016-07-05 09:33:20 +02:00
Franco Fichtner 95725b3b28 build/uefi: instead of vga, we build uefi (amd64 only) 2016-07-02 11:34:53 +02:00
Franco Fichtner 47e3722cad make: add back definition of sets and images
While at it, remove the "everything" target as it now requires
roughly 5G RAM (nano build) and 22G hard disk (default vm build)
in order to work at all.  Boy, we have come a long way.  ;)

Instead, just offer to build a cdrom image which should not take
up too much hard disk space and RAM as people will likely run
the their own build systems out of specs.
2016-05-21 12:24:16 +02:00
Franco Fichtner afcc94c124 build/cdrom: renamed from iso for consistency
Also tracer code for rebuild skip awareness...
2016-05-21 11:33:29 +02:00
Franco Fichtner 9aa9108ae5 build: stagify remaining pieces
This will not taint the build system except for the final
sets and image dirs.  Helps in keeping the build system
clean and that it's easier to inspect the build step.

While there, expand chroot to take a subdir argument as
some build steps need the STAGEDIR root for more than a
single purpose.
2016-05-21 10:43:10 +02:00
Franco Fichtner a38058f0dc build/vm: add various VM disk images to the mix; closes #9 2016-05-20 16:12:11 +02:00
Franco Fichtner c0f3dbb3fa build: self-awareness for all scripts, needed for #30 2016-05-05 17:11:45 +02:00
Franco Fichtner 2c032f8cd3 build: tweak previous 2016-05-05 16:55:44 +02:00
Franco Fichtner 23fda3eec1 build: make images behave a little more like the rest of the system
Build only one at a time by cleaning up the old one individually.
While there, update the README to reflect reality.
2016-01-20 17:45:36 +01:00
Franco Fichtner e0026d33df build/clean: we can be specific about the src dir cleanup 2016-01-15 07:21:23 +01:00
Franco Fichtner 1f05ee532a build/base: finally weave obsolete files into build step
Also signs the obsolete file list to complete the set signing.
2015-12-26 09:20:10 +01:00
Franco Fichtner 0eaa7c02bb build: generate signatures for kernel and base set 2015-12-25 23:52:32 +01:00
Franco Fichtner c05bbf0235 build: rename `source' to `src' for consistency with src.git 2015-09-20 00:23:48 +02:00
Franco Fichtner 5e0d2230ca build/distfiles: use it whenever possible 2015-09-11 22:18:34 +02:00
Franco Fichtner ce779265e1 build: change naming a litte; derive packages version from ports 2015-07-24 07:41:23 +02:00
Franco Fichtner 202a23ff2b build/clean: better synoym for clean step 2015-06-29 16:43:37 +02:00
Franco Fichtner afc35d6057 build/clean: zap reversed comments; doesn't add much value 2015-05-17 20:23:59 +02:00
Franco Fichtner bcc68c8bd6 build: route the cleaning of individual sets through clean target 2015-05-16 13:25:53 +02:00
Franco Fichtner 1ae0487e3d build: scrub it like you mean it
common.sh eats up the arguments via getopts, but on return to the parent
script the arguments are restored.  To adapt the argument scrubbing to
the actual number of arguments eaten we'll sprinkle a bit of arcane shell
magic around and hope for the best.
2015-05-16 12:50:50 +02:00
Franco Fichtner 35068a9393 build: remove execution bits, not meant to be handled manually 2015-05-16 12:39:09 +02:00
Franco Fichtner 5b550b2045 build: add a Makefile as a sane launch pad...
o Talking to Shawn Webb revealed that build.conf behaviour is
  still fragile.  This will properly invoke all build steps with
  the variables that are allowed to be overridden.

o Adds an external CONFIG that is allowed to set NAME, VERSION,
  FLAVOUR.

o Remove persistent environment awareness.

o Document the whole thing.

There's still some things to do in order to do parallel builds,
but at least now the build scripts can't be poisoned by a changing
config file underneath.
2015-05-16 11:44:14 +02:00
Franco Fichtner dda1c80024 config: scrub env only when explicitly desired 2015-05-12 12:39:47 +02:00
Franco Fichtner 3bb6fb6938 build: refresh packages via set
Lots of changes, mostly to merge the cool layout of kernel and base
sets with the packages approach.  What happens now is that ports.sh
and core.sh generate a packages set all the time so that it is portable
and can be pushed to a web server too if needed.
2015-05-08 15:13:21 +02:00