Instead of prefixing the search path with $PKGDEPLOYDIR and then
stripping the prefix off again every single time, do that inside
the pkg_scan_dir function.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
This commit adds an "emptypackage" template that implements defaults
for all package functions and is included before every package.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
- Generate description files on the fly along with file listings
- Only add dependency on fortify headers if hardening is enabled
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
For every package that generates headers and static libraries in addition
to other binaries, add a *-dev package with propper dependencies.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
- rewrite the rootfs_files.txt listings to the format used by pkg
- create package files from each package
- use "pkg install" to manage installation of packages and dependencies
into the rootfs and initrd staging dirs
Signed-off-by: David Oberhollenzer <goliath@infraroot.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>
Every package now has or generates a rootfs_files.txt containing a list
of files that should be packed into the rootfs, their permissions and
their owner.
This gives us fine grained controll over the owners and permissions of the
rootfs files (by generating a squashfs pseudo file).
In subsequent steps, this allows us to remove the deploy/devdeploy split and
actually simplifiy most of the build scripts.
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>
- Remove empty directories installed to / by install targets
- Make sure we strip everything
- Remove charset.alias file installed by every pacakge, add
centralized version to rootfs package
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>