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
Franco Fichtner
5b2763b3e3
build/ports: properly read PORT_LIST
2014-12-21 09:34:06 +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
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
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
3353221342
build: install needs new code too
2014-12-12 09:18:35 +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
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
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
1607d16fc3
build: rewrite mtree generation for final bsdinstaller stage
2014-11-16 16:28:08 +01:00
Franco Fichtner
3be4f0c0c9
build: proper iso name
2014-11-15 21:12:09 +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
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
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
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