Use a seperate sysroot directory (stored in variable SYSROOT)
instead of installing everything into the toolchain directory.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
This commit renames the release packages so they all produce a single
package named "release", creates a preference listing from the
PREFERED_PROVIDER array and lets `pkg buildstrategy` decide what package
to build.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
This commit merges LINUXPKG and RELEASEPKG into a single associative
array named PREFERED_PROVIDER.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
Try to build a source package if at least one binary package is missing. If
that is the case, clean up possibly built packages so we can cleanly recover
from a prior crash.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
In case a package build fails, we can simply restart the build script without
having to do manual cleanup of the intermediate directories.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
Same process as for the build dir. We have one intermediate deploy directory
that the packaes installs it self to, then we package the contents, finally
we nuke the build and deploy directory before starting with the next package.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
The dependency in tc-pkg-config is added to make sure the pkg tool is built
*before* pkg-config.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
Add a generic, stackable layer based structure instead of special purpose
subdirectories with specific behaviour.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Automagically strip all executables (recursively for subdirectories in lib
and bin) inside the mk.sh build loop.
This removes the necessity in the build scripts to strip the files. This also
allows us to remove the error prone install-strip target from the build
scripts.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- build needs a pair of product and board name
- some products can only be built for some boards
- Config files in product/<name> directory override those in board/<name>
- For some config files, like LDPATH or ROOTFS, the files are merged
- product/common provides defaults
Add default config for various services:
- Add default config for unbound
- Add default config for dnsmasq
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- Only one checkfile per package, not per stage
- Have to rebuild entire package on failure anyway
- Faster build since we can simply guard toolchain restore
with checkfile test
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Use $PKGBUILDDIR for building packages. Delete it again after
the deploy is done. If the build fails, the script aborts and it
is kept. If the build and deploy pass, there is no reason to keep
it around.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- dependencies() accepts a single package name instead of a list.
Is used only that way anwayway.
- Remove most temporary packge lists
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Add rootfs-<cfg> packages that create the skeleton system, copy
the files and create the squashfs images. Old "SQUASHFS" package
list is depends file of rootfs-<cfg> package.
This removes some of the special case code.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>