Commit Graph

862 Commits

Author SHA1 Message Date
Franco Fichtner 867eafd82b build/plugins: skip earlier 2016-02-04 21:32:40 +01:00
Franco Fichtner f3f062de66 build/prefetch: choose a random mirror that can take a beating or two 2016-02-02 20:56:10 +01:00
Franco Fichtner 426cccbd93 build/ports: must remove uninstalled deps too for previous 2016-02-01 20:23:29 +01:00
Franco Fichtner 160b07c3bf build/ports: stop bouncing packages on rerun 2016-02-01 19:17:37 +01:00
Franco Fichtner 7083dd64bf build: make it ever so silently; patch by @lattera 2016-02-01 18:34:46 +01:00
Franco Fichtner 180ecff083 build: adapt a patch by @lattera to directly set PUBKEY+PRIVKEY 2016-02-01 18:07:20 +01:00
Franco Fichtner 675aec1a0a build/prefetch: make it like clean, add packages option 2016-01-31 17:42:43 +01:00
Franco Fichtner 6f98277ed3 build: let kernel and base be rebuild on any argument
Similar fix as packages.  :)
2016-01-31 17:27:44 +01:00
Franco Fichtner 92e80dedc9 build: relax kernel and base rebuild frequency
If a set is already there, use it.
2016-01-31 12:12:55 +01:00
Franco Fichtner 3503b89f8a build/prefetch: add a script to load compiled base/kernel
In most cases, one wants to skip building the sources and go straight
for packages and all...
2016-01-31 12:02:39 +01:00
Franco Fichtner 7b3572e6be build/checkout: remove obsoleted script 2016-01-27 10:08:48 +01:00
Franco Fichtner 46ba822524 build/plugins: add selective (re)build support 2016-01-26 08:16:10 +01:00
Franco Fichtner 6c9beb690c build: skip check if forced by optional arguments 2016-01-25 07:45:36 +01:00
Franco Fichtner 4734a177c2 build: check packages for progress even earlier 2016-01-25 07:38:07 +01:00
Franco Fichtner de44675921 build: move stage dir to /usr/obj/stage 2016-01-24 09:33:38 +01: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 686fb5cc4c build: progress for base/kernel and a bit of dependency shuffling 2016-01-20 10:43:35 +01:00
Franco Fichtner e828219a8c build: remember packages progress
This implements the usual "memory" we have when using make(1) to run
a build: progress is remembered and repeated steps are thus skipped,
especially useful for errors coupled with subsequent invokes of the
infamous `make everything'.
2016-01-20 10:24:20 +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 4ab7bc056f ports: since we're staged, we don't need to purge configs 2016-01-13 02:14:19 +01:00
Franco Fichtner d74450968a build/rebase: sort to reduce diff in the future 2015-12-27 09:26:06 +01:00
Franco Fichtner 7836972bd0 build: emit signing message only when signing 2015-12-26 17:37:52 +01:00
Franco Fichtner df0ee582fb build/rebase: feed base set changes back into repository 2015-12-26 10:21:42 +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 4f4c952c5d build/base: this builds to 11 2015-11-19 18:25:47 +01:00
Franco Fichtner 4e13d38a1e build/distfiles: stagify like the rest of the package scripts 2015-11-17 20:50:49 +01:00
Franco Fichtner 3e112d2369 build/common: sign the bootstrap package as well
Taken from: Poudriere
2015-11-17 20:10:41 +01:00
Franco Fichtner 36f350e8eb build/skim: don't error out when there's nothing to do 2015-11-07 10:05:40 +01:00
Franco Fichtner a44c08adcc build: fix previous, always manage to forget getopt :) 2015-10-30 19:01:42 +01:00
Franco Fichtner e213702060 build: add override for signing keys #20
The logic of scripts dir was that it doesn't need build dir foo,
which isn't true anymore for the pkg_* scripts so that needs to
be shuffled now.
2015-10-30 07:32:21 +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 64b65c8137 build/distfiles: add a fetch script...
... to avoid multiple fetch runs when doing ports later.
2015-09-11 21:05:55 +02:00
Franco Fichtner 78d5d789f3 build: omit plugin install, it's this is unnecessary 2015-09-10 19:02:01 +02:00
Franco Fichtner d5340349f7 build: fix previous 2015-09-10 17:41:01 +02:00
Franco Fichtner 6faee0986e build: improve error reporting when packages are not there 2015-09-10 15:50:04 +02:00
Franco Fichtner e093cc884c build: allow type to be overridden; fixes #19
Building has gotten pretty complicated with the introduction
of opnsense-devel pacakges, which will be further complicated
by doing opnsense-stable soon enough...

This needs more smarts, but for now the README works again.
This only affects image builds.
2015-09-09 15:58:42 +02:00
Franco Fichtner 93e8a6381d config: os-update is now known as opnsense-update 2015-08-25 11:30:47 +02:00
Franco Fichtner 9494039a86 plugins: need git for hash description 2015-08-19 09:32:04 +02:00
Franco Fichtner 38cd35a235 skim: make the full process even simpler 2015-08-19 08:25:34 +02:00
Franco Fichtner 5882708366 nano: switch to generic so that space is allocated more cautiously 2015-08-19 08:25:25 +02:00
Franco Fichtner d336a8b6cc nano: disable MBR integrity check 2015-08-13 15:37:25 +02:00
Franco Fichtner aca6c42a29 nano: expand to 4GB 2015-08-13 09:25:00 +02:00
Franco Fichtner b27c205126 build/core: small tweak to avoid trashing the second branch 2015-08-10 10:33:35 +02:00
Franco Fichtner 613a63a5a1 build: switch to vanilla copy to avoid "origin/" woes 2015-08-05 08:58:23 +02:00
Franco Fichtner 2dd7845ad0 build: fix removal path 2015-07-24 13:28:03 +02:00
Franco Fichtner b3c8fdaa9c build/core: if arguments are given, build all of those 2015-07-24 12:24:14 +02:00
Franco Fichtner 4dac7e0762 build: what-you-print-is-what-you-write 2015-07-24 09:54:46 +02:00
Franco Fichtner 9abacaa2a7 build: replace `ls' usage with `find' 2015-07-24 08:23:41 +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 59885a97c7 build: split off remove_packages() for plugin use; fixes #11 2015-07-18 18:47:46 +02:00
Franco Fichtner f2828c728c build: pipes force subshells, which are annoying 2015-07-18 07:50:12 +02:00
Franco Fichtner e563a343dc build/plugins: only install needed packages 2015-07-17 17:51:48 +02:00
Franco Fichtner 804cdf50b2 build: this is the fun part -- make core and plugin invoke trivial 2015-07-17 17:43:02 +02:00
Franco Fichtner f85cca5193 build/ports: make some noise on origin mismatch 2015-07-17 17:11:18 +02:00
Franco Fichtner cb262b5141 build/core: cleanly replace flavour 2015-07-17 10:32:17 +02:00
Franco Fichtner fb416b4d6c config: completely migrate to origin usage 2015-07-17 09:44:40 +02:00
Franco Fichtner b145302f2f build/ports: query by origin, not name 2015-07-17 09:32:19 +02:00
Franco Fichtner 89d47b95b8 config: everything is `build' now 2015-07-17 09:11:51 +02:00
Franco Fichtner 15ec9a49a4 build/skim: sync no more 2015-07-17 09:08:22 +02:00
Franco Fichtner ceb0f5e8f4 build/core: deprecate ports.conf `run' in favour of direct dependencies 2015-07-17 08:35:51 +02:00
Franco Fichtner 52dd722539 build/core: bubble down package meta data generation 2015-07-17 07:52:19 +02:00
Franco Fichtner 9a98814dd7 build/plugins: clear out plugin packages on rerun 2015-07-16 18:27:04 +02:00
Franco Fichtner 48587c6347 build/core: only remove the correct packages on extract 2015-07-16 18:13:34 +02:00
Franco Fichtner 3541703340 build: refactor common custom package magic 2015-07-16 17:34:35 +02:00
Franco Fichtner 30347d8fc6 build/plugins: finally install scripts 2015-07-16 16:33:20 +02:00
Franco Fichtner 19decceeeb build/plugins: split plist/install here as well 2015-07-16 16:18:22 +02:00
Franco Fichtner 813965273f build/core: adapt to install/plist split 2015-07-16 13:33:42 +02:00
Franco Fichtner bc3e71e334 build/core: install step makes sure the directory exists 2015-07-16 12:06:15 +02:00
Franco Fichtner b68f9c7c10 build/skim: fix typo in commit code 2015-07-15 12:21:29 +02:00
Franco Fichtner 92886bd69a build/skim: automated commit step option 2015-07-13 07:28:34 +02:00
Franco Fichtner d9ce7a0bd9 build/plugins: add the plugins pass for packages 2015-07-09 14:49:23 +02:00
Franco Fichtner 5f3253b564 build/core: experimental code for even more package flavours 2015-07-08 11:30:50 +02:00
Franco Fichtner efbe39c31a build/skim: I learned something yesterday 2015-07-01 09:34:26 +02:00
Franco Fichtner 4f848be63b build: rework the ports.conf
o Some combinations are broken, need to ignore them.
o Add explicit "run" type for ports, no more guessing.
2015-06-30 13:02:48 +02:00
Franco Fichtner 202a23ff2b build/clean: better synoym for clean step 2015-06-29 16:43:37 +02:00
Franco Fichtner 3a6f9b9c95 build: marker files for opnsense-update(8) have been split
via: opnsense/core#216
2015-06-18 11:58:59 +02:00
Franco Fichtner 0201b9c3b8 build: anfaengerfehler 2015-06-12 08:25:28 +02:00
Franco Fichtner 634a50fb7c config: change config handling again; decouples NAME and SETTINGS 2015-06-12 08:01:54 +02:00
Franco Fichtner a6dc804c86 build: postpone the use of @sample
It would make configs linger in the file system after upgrades
and further moving.  The actual code that needed the sample file
is gone.  Ideally, the sample file must be set to disabled and
only enabled when regenerated by the system.
2015-06-12 07:34:58 +02:00
Franco Fichtner 544cb95fda build: strangest bug with pkg-repo(8); wants trailing slash for directory 2015-06-11 10:00:03 +02:00
Franco Fichtner 2c287d862a build/core: same result with pkgng, revert because most likely spurious 2015-06-11 08:10:54 +02:00
Franco Fichtner cc467c7745 build: void a potential clash of PACKAGESDIR and pkg-repo in the future 2015-06-11 08:05:03 +02:00
Franco Fichtner c64b97692a build: rename pkgng repo config here too 2015-06-11 00:59:48 +02:00
Franco Fichtner b7189cc039 build/core: revive %%REPO_FLAVOUR%% 2015-06-10 17:37:11 +02:00
Franco Fichtner 72c486be19 build/core: pkgng does weird things, make sure crypto is a direct dep 2015-06-10 11:09:29 +02:00
Franco Fichtner 5119ed798a build: fiddle with git and improve skim 2015-06-10 08:46:59 +02:00
Franco Fichtner 31bedd1d58 build/checkout: don't be too --quiet 2015-06-10 07:22:36 +02:00
Franco Fichtner fde9447a2e build: unify usage() 2015-06-09 10:22:22 +02:00
Franco Fichtner 7ddb44e22e build: make repositories customisable; fixes #8 2015-06-09 10:14:37 +02:00
Franco Fichtner a5814e2465 build/checkout: remove git_clear in favour of proper stage; #8
This will make it a bit harder to build clean sets in the future,
but it has been requested so here it is.  ;)
2015-06-09 09:54:47 +02:00
Franco Fichtner ac66d5fe68 build: do flavours via GUI from now on 2015-06-08 14:17:27 +02:00
Franco Fichtner f6018814c6 build/core: adapt to latest language simplification 2015-05-31 14:04:01 +02:00
Franco Fichtner 3ab13930f2 build/release: always verify 2015-05-23 09:11:34 +02:00
Franco Fichtner 7609ad116d build: time spent in vain, images don't adapt to boot settings 2015-05-23 12:57:59 +02:00
Franco Fichtner bb89f54117 build/skim: generate exciting output ;) 2015-05-23 08:07:56 +02:00
Franco Fichtner 93940239b2 build: using -P did not go as expected, revert to working state 2015-05-22 19:06:04 +02:00
Franco Fichtner 1b823b4251 build/skim: document the script plus small fix 2015-05-22 10:28:41 +02:00
Franco Fichtner f0cb2a7a87 build/skim: change sync argument to what it actually does
Review and copy all ports configured by the build:

    # make skim-used

Copy all ports not used by the build:

    # make skim-unused

Ain't nobody got time for that:

    # make skim
2015-05-22 10:20:07 +02:00
Franco Fichtner 057e2d1c61 build/skim: make it part of the official build glue 2015-05-22 10:03:23 +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 21de915853 build/ports: easier way to only grab runtime packages
Prove this by adding the bison port (it is needed for a few ports anyway).
2015-05-17 09:21:35 +02:00
Franco Fichtner ce3ec7147a build: fooled by my own trickery 2015-05-16 13:30:03 +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 986a3185ed build/core: chroot(8) variable escaping is tricky 2015-05-12 12:14:16 +02:00
Franco Fichtner c553750143 build/configure: persistent build options
Inspired by: Shawn Webb's HardenedBSD patches
2015-05-12 11:56:11 +02:00
Franco Fichtner 82f28d8c8c build/core: pkg is bootstrapped under the hood 2015-05-12 10:32:55 +02:00
Franco Fichtner 9e393cacc2 build/core: properly chroot the build step due to gettext-tools dep 2015-05-11 22:40:40 +02:00
Franco Fichtner 30e460c387 build: fix typo 2015-05-11 21:20:55 +02:00
Franco Fichtner f304248a7f build: expand all configs around the product name 2015-05-11 17:57:49 +02:00
Franco Fichtner dbe08093b1 build: push translation files into package 2015-05-11 11:55:43 +02:00
Franco Fichtner d598757ff3 build: deflate PACKAGESDIR
It only exists inside the chroot environment so that it can be
cleaned up in one sweep via `rm -r ${PACKAGESDIR}'.  More tweaks
and fails along the way.
2015-05-10 13:59:51 +02:00
Franco Fichtner acdd33e9f9 build/ports: abort more gracefully on endless loop to recover progress 2015-05-08 16:55:34 +02:00
Franco Fichtner d423955d63 build/ports: properly recover on failure, again 2015-05-08 15:51:07 +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
Franco Fichtner 64dea6f80c build: always describe git repo; yes 2015-05-07 19:26:01 +02:00
Franco Fichtner 1a0793ea6f build: nope vt(4); boot serial via probe; moar style 2015-05-07 14:07:03 +02:00
Franco Fichtner af04ac8e63 build: must extract base set first; some style 2015-05-07 13:08:21 +02:00
Franco Fichtner 4cd200bf9b build: use vt(4) in all images; gonna be a default anyway 2015-05-07 11:55:08 +02:00
Franco Fichtner cc048ebf9f build: more flavour awareness
Looks solid now.  Smaller issues can be ironed out when the next
release is due.  Enjoy. :)
2015-05-07 10:51:35 +02:00
Franco Fichtner a63303ada9 build: add PRODUCT_FLAVOUR awareness to ports/packages 2015-05-07 09:00:32 +02:00
Franco Fichtner 020d1eac63 build: always bootstrap target directories 2015-05-07 08:37:22 +02:00
Franco Fichtner da79c50876 build: softcode PRODUCT_NAME where we can 2015-05-07 08:11:21 +02:00
Franco Fichtner 27477b79fe build: more automation for LibreSSL builds 2015-05-07 00:06:39 +02:00
Franco Fichtner bc26671c13 build: serial images are serial-only now; fixes #6 2015-05-06 23:34:34 +02:00
Franco Fichtner d20d609c4e build: don't hardcode repo flavour link anymore
Not competely sane, but we're getting there step by step.
2015-05-06 20:48:16 +02:00
Franco Fichtner 1a422d91df build: minor chroot/sh invoke tweaks 2015-05-04 09:13:58 +02:00
Franco Fichtner 16ec0c1634 build: don't need the style checker as a hard dependency 2015-05-04 09:00:50 +02:00
Franco Fichtner 71d1fdeb0b build/ports: remember whether the ports run failed 2015-05-04 08:46:22 +02:00
Franco Fichtner ceccbef575 build: extract does auto-detect 2015-04-28 13:58:28 +02:00
Franco Fichtner 1ca548585a build/core: only push required packages to staging area 2015-04-28 13:55:11 +02:00
Franco Fichtner 6dfb52d265 build: CONFIG_XML should be general knowledge *salutes*
Also enables `use_mfs_tmpvar' by default on the NanoBSD images.
2015-04-27 22:40:14 +02:00
Franco Fichtner 86e4c5c966 build/release: NanoBSD testing seems fine--hook into release build
(Note to self: this is exciting...)
2015-04-27 22:17:27 +02:00
Franco Fichtner 3a1d2cdb48 build: another pass for setup_packages()
This time, put some of the old ideas back into play for the simple
fact that it doesn't work otherwise.  To not forget any of this
(again), I've added more elaborate comments as cautionary tales.
2015-04-27 22:05:26 +02:00
Franco Fichtner 08e95d5529 build/core: show which dependency is missing on script abort 2015-04-27 22:05:26 +02:00
Franco Fichtner a42cfcfe0e build: improvement pass for setup_packages() 2015-04-27 10:35:01 +02:00
Franco Fichtner 0ccc3d7559 config: patch went upstream a while ago :) 2015-04-24 16:38:09 +02:00
Franco Fichtner 348acea6ca build/nano: easier to pass all vars as args to function 2015-04-23 20:57:50 +02:00
Franco Fichtner d6c042d3fe build/nano: upon further reflection a second slice does no harm 2015-04-23 20:47:48 +02:00
Franco Fichtner 5aadb13689 build/nano: first pass for embedded images; fixes #5
Builds an image that loads in bhyve, but might still need some more
tweaking.  We don't have two slices.  I am not sure if they'll be
back soon.  Not sure if these images are ready for release as well,
but at least now we have the script for providing initial snapshots.
2015-04-23 18:48:57 +02:00
Franco Fichtner 31da9a2a33 build/core: abort on error got lost during refactor 2015-04-22 16:53:32 +02:00
Franco Fichtner 189a195cac build/core: @keyword in plist needs /usr/ports 2015-04-20 06:06:20 +02:00
Franco Fichtner ce56d54576 build/packages: fix wrong directory after refactor 2015-04-07 04:20:28 +02:00
Franco Fichtner 8f786b188e build: unfactor setup_platform() 2015-04-03 12:08:03 +02:00
Franco Fichtner cd6d715c94 build: use an embedded tmpfs entry in fstab 2015-04-03 12:04:33 +02:00
Franco Fichtner 2c2247dcc7 build: don't need trigger_initial_wizard anymore 2015-04-03 11:19:40 +02:00
Franco Fichtner 0c9790c94e build/packages: simplify the pkg-repo(8) invoke 2015-04-03 03:13:41 +02:00
Franco Fichtner b49aececeb build: add package signing glue 2015-04-02 05:17:49 +02:00
Franco Fichtner 37f8b5019a build: platform support was recently abandoned 2015-03-24 17:35:46 +01:00
Franco Fichtner 132641c826 build: improve opnsense-update(8) marker file write 2015-03-13 04:02:19 +01:00
Franco Fichtner af86540519 build: fix a lie--installer is fine now but directory is still needed 2015-03-09 13:33:25 +01:00
Franco Fichtner 31aacf2ece build: the password for images is (re)set on boot 2015-03-09 13:33:25 +01:00
Franco Fichtner f21914aaeb build: let opnsense-update(8) know it was up to date
This is important for release images so that running the utility
for the first time won't update the system to the version that
was already installed.
2015-03-09 13:33:25 +01:00
Franco Fichtner 974557de9d build: /cf/conf cleanup 2015-03-05 08:16:19 +01:00
Franco Fichtner c623838ba2 build/ports: take ports as command line arguments for easy rebuild 2015-03-01 09:26:37 +01:00
Franco Fichtner cc22250744 build/ports: somebody forgot to hook up clever scripting...
that is obviously not needed.  Zap.  Zap.  ZAP!
2015-03-01 08:55:15 +01:00
Franco Fichtner 29b3af4a53 build/core: all package meta files are now in core.git 2015-02-25 20:28:27 +01:00
Franco Fichtner 1caa0286ff build/core: thin out package scripts for easier maintenance
The bulk of those is now in core.git and moved into place
via the `install' target as well.
2015-02-25 07:47:18 +01:00
Franco Fichtner 601d6d384f config: really annotate the repository info 2015-02-23 23:12:56 +01:00
Franco Fichtner b41c174305 build: modularise the ports build and document it
During normal build duties, the package set is not required.

During release build duties, the core build needs to be invoked again.
2015-02-21 08:24:57 +01:00
Franco Fichtner 205f1ba4f8 build: annotate repository info when bootstrapping images
This brings us closer to safely use CONSERVATIVE_UPGRADE eventually,
but for now it seems like the annotation doesn't actually work as
double checking for annotated tags shows no tag at all.  Hmmmm.

Suggested by: pdf on the forums
2015-02-19 08:38:53 +01:00
Franco Fichtner 4db95e5700 build: make the release images naming more concise
All images are live images, with `cdrom' being the ISO variant,
`vga' the memstick without serial support, and `serial' the dual
boot memstick that has the serial console as the default instead.
2015-02-14 11:57:00 +01:00
Franco Fichtner a3eb02b258 build: when releasing a release, only release an actual release 2015-02-14 10:40:24 +01:00
Franco Fichtner 18b0aad135 release: weave architecture into checksum file name 2015-02-10 11:15:24 +01:00
Franco Fichtner 14bef4837f build: ease the release process workflow 2015-01-24 13:29:23 +01:00
Franco Fichtner 7fe1e6aa16 build: better handling of comments in ports.conf 2015-01-24 11:13:26 +01:00
Franco Fichtner 0acc4c3348 build: more visual feedback for clean 2015-01-18 09:28:06 +01:00
Franco Fichtner eb04f595bb config: make ports.conf a thing 2015-01-16 11:30:13 +01:00
Franco Fichtner 8128e34df8 build: FreeBSD release media policy consolidation 2015-01-12 17:53:25 +01:00
Franco Fichtner 0535976630 build: core.git is cloned in regress 2015-01-07 07:01:24 +01:00
Franco Fichtner f41792d8d7 build: avoid copying large directory structures for the speeds 2015-01-07 06:56:35 +01:00
Franco Fichtner 1fba42a633 ports: pull in a few useful optional tools 2015-01-04 08:36:25 +01:00
Franco Fichtner 5cec5886a9 build: mhh, keep ARCH for all directory layouts 2015-01-03 20:12:59 +01:00
Franco Fichtner c1d977b617 build: retain directory after moving packages to the stage 2015-01-03 20:04:44 +01:00
Franco Fichtner d01671e454 build: make packages aware of their architecture
Here we stuff a directory into the path.  This is especially useful
when we are going to cross-build.  mips and arm, anyone?  ;)
2015-01-03 19:46:33 +01:00
Franco Fichtner 0e608c1586 build: remember and use the target architecture for all sets 2015-01-03 18:54:57 +01:00
Franco Fichtner f24f8283fc build: fix reversed stage/obj clean 2015-01-03 18:18:56 +01:00
Franco Fichtner dfe45acf2c build: sure, that was bound to blow up in my face :D 2015-01-02 15:42:40 +01:00
Franco Fichtner 835a24dc34 build: be a little more modern with the console speed
FreeBSD still has 9600 as the default but most BIOS implementations
use 115200 these days.  If you need something else feel free to tweak
it as needed.
2015-01-02 15:04:40 +01:00
Franco Fichtner ada312defa build: trap SIGINT to allow for non-fatal CTRL-C inside builder subshell 2014-12-30 16:08:16 +01:00
Franco Fichtner 48d2e5ca7a build: clean.sh git isn't really needed; also a typo 2014-12-30 15:57:03 +01:00
Franco Fichtner f137a2fe67 build: pimp and document the clean script
'tis a bit hard to anticipate the exact cleaning needs so
fully modularise the options via command line arguments.
Naming should be pretty simple and self-explanatory though.
2014-12-30 15:49:57 +01:00
Franco Fichtner e3f6101f04 build: memstick doesn't need WORKDIR as well 2014-12-30 09:59:54 +01:00
Franco Fichtner 6e24bc43d2 build: STAGEDIR is exclusive, no need for WORKDIR anymore 2014-12-30 09:49:27 +01:00
Franco Fichtner 38d392f2f9 build: unset STAGEDIR in chroot 2014-12-29 15:47:41 +01:00
Franco Fichtner 07628847fa build: add a simple regression test suite launcher 2014-12-28 11:47:01 +01:00
Franco Fichtner a502bcee71 build: refactor cloning for upcoming regress foo 2014-12-28 11:02:55 +01:00
Franco Fichtner fc90d8fc23 build: we are not in Kansas anymore
Ports run in chroot(8) now, so we won't touch the system config.
2014-12-27 14:06:35 +01:00
Franco Fichtner cea8c505fb build: try to unify the packages chroot handling 2014-12-23 20:32:45 +01:00
Franco Fichtner 054d5224e0 build: chroot dir foo resolved 2014-12-23 14:31:54 +01:00
Franco Fichtner 5aa9eddd62 build: simplify core build and reduce chroot usage 2014-12-23 14:27:45 +01:00
Franco Fichtner be97170dd0 build: ls may fail, but we half-expect that 2014-12-21 14:30:16 +01:00
Franco Fichtner dcb68668a1 build: pkg isn't installed by default, mhhh 2014-12-21 10:47:12 +01:00
Franco Fichtner 0d11dec0bf build/core: repair the damage done 2014-12-21 09:51:08 +01:00
Franco Fichtner 970e6fbdc6 build/ports: also bootstrap pkg now, this is confusing... 2014-12-21 09:39:03 +01:00
Franco Fichtner 5b2763b3e3 build/ports: properly read PORT_LIST 2014-12-21 09:34:06 +01:00
Franco Fichtner 951a44df6c build/ports: do not install OPNsense package when building 2014-12-21 09:13:34 +01:00
Franco Fichtner c304e2d8bd build/core: hook/unhook /usr/local/etc/rc from package 2014-12-21 09:09:04 +01:00
Franco Fichtner f8960f16b3 build/core: expand scripts so that files are written once only 2014-12-21 08:56:52 +01:00
Franco Fichtner 45ff50b4df build/core: OPNsense package takes care of enable/disable now 2014-12-21 08:29:44 +01:00
Franco Fichtner 50af468e0a build: no more bootstrapping
Requirements for the build are a FreeBSD system with pkg and git
installed.  It is a little awkward when the pkg of the FreeBSD
is out of sync with the one in ports.git.  Need to take a look
at that later.
2014-12-21 07:43:38 +01:00
Franco Fichtner 87db1c8e74 build/ports: recover from incomplete build...
... by pulling the binary packages out of the chroot even if
the build failed somewhere.  The system would previously "cache"
the results for us, but since it now resides in ${STAGEDIR}
we'll have to go the extra mile.
2014-12-21 07:42:07 +01:00
Franco Fichtner cbc95620e3 build/ports: in some rare cases the source tree is needed too 2014-12-21 07:14:05 +01:00
Franco Fichtner 3f008eae70 build/core: pull dependencies into chroot
The real environment remains clean; I think we can even use a stock
FreeBSD to build all the tools now...
2014-12-20 23:43:10 +01:00
Franco Fichtner e1ef70fde5 build/ports: retire `quick' as it is quite tricky to pull off 2014-12-20 23:43:10 +01:00
Franco Fichtner 3050fa5a57 build: setup_stage needs to know about chroot, so...
... refactor chroot foo into setup_chroot.  Everybody is happy, right?
2014-12-20 23:43:10 +01:00
Franco Fichtner 3971334486 build: introduce jailed ports build 2014-12-20 23:43:10 +01:00
Franco Fichtner 9ee95e10ab build: whoops, this time it's post-install 2014-12-20 23:43:10 +01:00
Franco Fichtner 4a07062a7d build/core: embed version info into post-install phase
... so we can get rid of keeping a stale version file in core.git.
2014-12-20 12:14:23 +01:00
Franco Fichtner 57302b5aa4 build: tweak ports rebuild logic slightly 2014-12-20 09:42:09 +01:00
Franco Fichtner f2251e3e0a build: build ports set at the end of ports build ;) 2014-12-20 09:18:06 +01:00
Franco Fichtner b0079b5414 build: memstick code was originally written by Scott 2014-12-18 10:07:17 +01:00
Franco Fichtner 4091ee4b05 build: linking to the actual package makes more sense 2014-12-12 11:20:35 +01:00
Franco Fichtner fc66d2edc3 build: packages are all txz, skip trying harder and just use tar 2014-12-12 09:58:00 +01:00
Franco Fichtner ba5b62e044 build: add an easy-to-use pkg(8) repository set generator 2014-12-12 09:55:26 +01:00
Franco Fichtner 3353221342 build: install needs new code too 2014-12-12 09:18:35 +01:00
Franco Fichtner 9a1c1c73fc build: add versioning for kernel and base 2014-12-12 09:15:55 +01:00
Franco Fichtner 982ab90cb7 build: add versioning support for core 2014-12-11 15:23:35 +01:00
Franco Fichtner 03e988548b build: create a symlink for now 2014-12-11 14:30:39 +01:00
Franco Fichtner 4a0ef9d54f build: add memstick image(s) 2014-12-11 14:08:30 +01:00
Franco Fichtner ba82919f9e build: replace varmfs/etcmfs and set default password 2014-12-10 21:27:02 +01:00
Franco Fichtner 1cf6c8176f build: advertise platform type here for now 2014-12-10 17:13:01 +01:00
Franco Fichtner a4251c33fd build: use the new makefile to install 2014-12-09 17:48:58 +01:00
Franco Fichtner f6cc6b9cb6 build: fill the opnsense package with repo content 2014-12-09 17:11:54 +01:00
Franco Fichtner 3f0a731160 build: create directories core.git doesn't have anymore 2014-12-09 17:06:45 +01:00
Franco Fichtner 8bbf73a55f build: register root shell for core.git properly 2014-12-09 13:57:42 +01:00
Franco Fichtner 0041ea91f9 build: migrate installer files 2014-12-09 13:28:43 +01:00
Franco Fichtner 9b704c5530 build: roll back some changes now that core.git adapts 2014-12-09 11:49:54 +01:00
Franco Fichtner 144b407d9f build: update email address 2014-12-09 09:14:09 +01:00
Franco Fichtner 44a55e28a9 build: more sanity glue; don't hide console menu by hiccup 2014-12-09 09:04:53 +01:00
Franco Fichtner 7f3f92daa0 build: some changes for 11-CURRENT 2014-12-08 23:50:53 +01:00
Franco Fichtner 8f3db7f8f7 build: clear ports before building 2014-12-08 21:41:34 +01:00
Franco Fichtner 3ba4cbc90a build/iso: remove unused legacy portion of the code
The code is now completely rebuild, thus the copyright statement
can be safely removed.
2014-11-21 20:31:50 +01:00
Franco Fichtner 1607d16fc3 build: rewrite mtree generation for final bsdinstaller stage 2014-11-16 16:28:08 +01:00
Franco Fichtner 3be5f72439 build: old school print of finished image(s) 2014-11-16 16:01:26 +01:00
Franco Fichtner 5c4f9630d8 build: since pkg is special, treat it that way 2014-11-16 10:14:05 +01:00
Franco Fichtner 3be4f0c0c9 build: proper iso name 2014-11-15 21:12:09 +01:00
Franco Fichtner f5650f3d15 ports: make quick build a little safer 2014-11-15 18:26:07 +01:00
Franco Fichtner fab13f604e build: core uses wrong syslogd in new iso 2014-11-15 18:26:02 +01:00
Franco Fichtner 28fe589165 build: one more file for the installer 2014-11-15 17:34:18 +01:00
Franco Fichtner a4186fb4a8 build: copy stray installer scripts
They should really reside in core.git to be honest.
While there, fixup the permissions of the files.
2014-11-15 17:00:01 +01:00
Franco Fichtner fdd67d47e9 build: hook up opnsense_SMP.10 for kernel build 2014-11-15 16:07:43 +01:00
Franco Fichtner 7a7a557713 build: pimp clean script to include all repos and dirs 2014-11-15 15:40:31 +01:00
Franco Fichtner 2084371975 build: adds src.conf.10 as current source config
...piped through sort -u for a little more clarity.
2014-11-15 15:36:10 +01:00
Franco Fichtner da283dc54f build: add an opnsense package that holds all the dependencies
Makes it super-easy to manage package updates...  Later we'll add
the actual core.git contents.
2014-11-15 15:32:16 +01:00
Franco Fichtner 68978fd506 iso: bootstrap freesbie legacy foo for now 2014-11-15 11:42:58 +01:00
Franco Fichtner 44cea03906 build: iso boot fixes 2014-11-15 11:33:29 +01:00
Franco Fichtner d5df1f502f build: overlay core.git into iso for now 2014-11-15 11:19:36 +01:00
Franco Fichtner 3ab8a90e0c build: install packages on final iso 2014-11-15 10:55:32 +01:00
Franco Fichtner 16ac9868ba build: add check for package name congruency
Some ports have been known to advertise a different package name
than the package's directory name in the ports tree.  This can
lead to unwanted confusion and missing packets...
2014-11-15 09:47:00 +01:00
Franco Fichtner 81666de384 build: add a ports builder using pkgng
While there, break down the old ports list into a cleaner
format and fixup most entries for the new ports tree.
2014-11-15 09:31:37 +01:00
Franco Fichtner 2d775794af build: fix whitespace 2014-11-09 13:16:50 +01:00
Franco Fichtner bf06aebcd8 build: add a first bootable iso :) 2014-11-09 13:14:07 +01:00
Franco Fichtner 5a1383d173 build: add a clean script to deal with object/stage dir removal 2014-11-09 11:15:01 +01:00
Franco Fichtner 469640eba0 build: minor whitespace cleanup 2014-11-09 11:06:26 +01:00
Franco Fichtner 43fac44e53 build: add common file to avoid duplication 2014-11-09 11:04:44 +01:00
Franco Fichtner 2f8cfd4c72 build: add FreeBSD-based base and kernel scripts
This is so we can ditch freesbie and manual patching of the
source tree.  Needs more cleanups and testing...
2014-11-09 10:57:12 +01:00