Franco Fichtner
d8a2f5cf73
build: allow to place packages/plugins in the final image
2017-01-05 18:40:55 +01:00
Franco Fichtner
424c2853d3
build: append build info to packages done markers
2017-01-05 07:49:32 +01:00
Franco Fichtner
acc875d0d4
build: sign all packages on the mirror
2016-12-29 21:12:07 +01:00
Franco Fichtner
7a7a5c42e1
build/kernel: allow to build GENERIC through KERNEL=GENERIC
2016-12-26 11:08:46 +01:00
Franco Fichtner
37df87e7a3
build: implement argument passing for branch info
2016-12-23 16:55:19 +01:00
Franco Fichtner
ff437f6c95
build: lock down branches, can override through build.conf
...
Actually, build.conf can hold all overrides from the main Makefile
now. This is pretty handy for OEMs now. Thanks for the prodding
on IRC for this one. :)
2016-12-23 16:44:27 +01:00
Franco Fichtner
2960dd4ead
build: start signing the package set
2016-10-04 01:47:38 +02:00
Franco Fichtner
a25bd40568
build: improve printing for base/kernel set runs
2016-10-03 04:36:00 +02:00
Franco Fichtner
49e17c78e0
build: unset hooks before import, they can shadown each other
2016-09-22 17:40:20 +02:00
Franco Fichtner
cf04bb9530
build: simplify package build progress
2016-08-29 20:10:19 +02:00
Franco Fichtner
5213355727
build: split nano and serial configs
...
Serial is better off being serial-only, while we keep nano in a
split mode for now...
PR: https://github.com/opnsense/core/issues/1101
2016-08-02 23:58:37 +02:00
Franco Fichtner
44ccf5dcd7
build: when inside the chroot don't use STAGEDIR again
2016-07-25 08:54:32 +02:00
Franco Fichtner
263b143b76
build: uname -p
2016-07-21 21:40:28 +02:00
Franco Fichtner
7782ef0841
build: filter environment in kernel and ports like base
2016-07-19 16:39:54 +02:00
Franco Fichtner
bda0830a43
build: arch-dependent STAGEDIR, print target, clean-obj target
2016-07-19 08:39:00 +02:00
Franco Fichtner
ae9fee5ff5
build: make ABI_FILE workaround more prominent
...
Just to document this again: if we cross-build, /bin/sh may be a
native-xtool implementation with the wrong ELF ABI. pkg(8) normally
looks up /bin/sh to figure out the ABI, but ABI_FILE is implemented
in libpkg to circumvent this.
2016-07-19 08:02:59 +02:00
Franco Fichtner
bcf4649544
build: more cross-build adventures
2016-07-18 17:53:08 +02:00
Franco Fichtner
440dd65e70
build/xtools: new target, more cross-buid fun
2016-07-18 08:38:36 +02:00
Franco Fichtner
767afa741f
build: more on cross-building using qemu
2016-07-18 07:16:57 +02:00
Franco Fichtner
95e8fd0ce0
build: more cleanups to allow simple cross-builds
2016-07-17 17:13:20 +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
dbe29b5a31
build: allow UEFI override
2016-07-11 08:52:52 +02:00
Franco Fichtner
772d00b702
build/ports: clear plugins and core when redoing ports
2016-07-10 16:52:19 +02:00
Franco Fichtner
05f7f08a11
build: more plumbing to make plugins work like ports
2016-07-05 10:08:50 +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
6c00be225f
build: allow signing keys to exist in CONFIGDIR
2016-07-05 08:57:14 +02:00
Franco Fichtner
483dbce9d8
build: append to loader.conf instead of rewrite
2016-07-04 09:03:10 +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
81213cc8be
build: clear markers that need redo after run
2016-06-28 20:34:11 +02:00
Franco Fichtner
bb1deef226
build/test: test plugins against core package, also lint
2016-06-03 12:12:07 +02:00
Franco Fichtner
e781418aae
build: simplify custom package metadata creation step
2016-05-26 08:10:30 +02:00
Franco Fichtner
b880044e04
build/plugins: keep git and pkg installed for a speedup
2016-05-26 07:27:09 +02:00
Franco Fichtner
71a6e923d8
build/test: renamed from regress
2016-05-23 23:44:10 +02:00
Franco Fichtner
f4f7723881
build: migrate serial handling used by nano and serial image
...
Can now set SPEED=115200 during the build step for maximum flexibility.
2016-05-23 22:06:57 +02:00
Franco Fichtner
7576ae0816
build: remember image progress
2016-05-21 11:54:42 +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
02936668d7
build: code review additions
2016-05-20 22:38: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
8e81c7922d
build: small typo with new DEVICE option
2016-05-06 07:07:24 +02:00
Franco Fichtner
45e845451e
device: allow for device-specific extras; closes #31
2016-05-06 06:55:01 +02:00
Franco Fichtner
ddd58223cb
build: make extras hook test a bit more portable and traceable
2016-05-05 22:37:51 +02:00
Franco Fichtner
3ca6d0cd5d
build: add extras.conf with per-type hook, idea by @lattera; closes #30
2016-05-05 17:33:56 +02:00
Franco Fichtner
32c2f5e21c
build: split serial / vga stages; closes #29
2016-05-05 16:50:04 +02:00
Franco Fichtner
23f7d50e40
build: also ignore private plugins
2016-04-20 20:01:42 +02:00
Franco Fichtner
ed1ba8be37
build: source SERIAL_* variables from common
2016-03-30 18:25:43 +02:00
Franco Fichtner
661bd233fe
build: expand previous for refs vs. none
2016-03-16 11:38:45 +01:00
Franco Fichtner
aca59bd7cd
build: fix type for reftype proagation
2016-03-16 11:15:28 +01:00
Franco Fichtner
3791a3e9c2
core: for tags, assume release state too
...
This makes it possible to run a single batch build for:
# make core-master,stable/16.1,16.1.6
2016-03-14 09:22:56 +01:00
Franco Fichtner
1829ce5046
core: treat all builds as release, stable branch is now "stable"
2016-03-12 00:11:50 +01:00
Franco Fichtner
920838ded1
build: move stagedir to unique location to enable parallel flavour build
2016-02-28 23:09:27 +01:00
Franco Fichtner
19562b3dec
build: refactor to pass custom sign commands
2016-02-17 22:04:20 +01:00
Franco Fichtner
4b9bde5a90
build: add setup_entropy idea by @lattera the FreeBSD way
2016-02-04 21:55:29 +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
180ecff083
build: adapt a patch by @lattera to directly set PUBKEY+PRIVKEY
2016-02-01 18:07:20 +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
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
7836972bd0
build: emit signing message only when signing
2015-12-26 17:37:52 +01:00
Franco Fichtner
0eaa7c02bb
build: generate signatures for kernel and base set
2015-12-25 23:52:32 +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
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
5e0d2230ca
build/distfiles: use it whenever possible
2015-09-11 22:18:34 +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
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
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
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
d9ce7a0bd9
build/plugins: add the plugins pass for packages
2015-07-09 14:49:23 +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
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
5119ed798a
build: fiddle with git and improve skim
2015-06-10 08:46:59 +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
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
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
f304248a7f
build: expand all configs around the product name
2015-05-11 17:57:49 +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
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
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
ceccbef575
build: extract does auto-detect
2015-04-28 13:58:28 +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
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
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
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
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
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
601d6d384f
config: really annotate the repository info
2015-02-23 23:12:56 +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
14bef4837f
build: ease the release process workflow
2015-01-24 13:29:23 +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
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
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
dcb68668a1
build: pkg isn't installed by default, mhhh
2014-12-21 10:47:12 +01:00