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>
When "libdir" is not the final path where we install the library,
libtool will mess up the relinking process and prepend the global
library directories to the linker search path.
If we fix the libdir path, libtool will insert it into the rpath
in the binary, which is also pretty bonkers.
Maybe, there is a way to do this correctly, but the various GNU
mailing lists, Debian wiki, etc.. could not provide a better
alternative than patching up libtool scripts.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
The simplification of the overide behaviour may be worth the slight
duplication overhead.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Crunch project websites and try to find the latest version for each
package without having to do the work manually.
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>
- Store musl & kernel headers in dev packages
- Store musl dynamic headers in regular package,
shared libs in dev package
- Carefully seperate headers and libaries installed by second GCC
into packages
- libgcc_files.txt no longer needed
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- Don't duplicate shared objects, use the ones from the deploy
directory when building dependend packages
- Add helper function for moving headers, static libraries
and pkgconfig data to devdeploy directory
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Instead of having a "depends" file with a list of packages, add a
"DEPENDS" variable to the build script.
Generate the rootfs dependencies from a config file stored in the
cfg directory.
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>