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>
- Move root.key into /etc/unbound directory
- Remove pid file from config, it is baked into the configure options
- Make sure unbound does not try to chroot anywhere
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>
- Remove extra back slash
- The good old "install uses build systems strip tool and it doesn't know
what to do with ARM binaries"
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
If we tell bash to used the installed readline library, it defaults
to adding -L/lib for the readline and history library prefixes.
This prepends the local systems search path to the toolchain search
path and makes bash build break on some systems.
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>
First of all, fix the dependency name in the per-interface service file.
Second, we allow the master services daemonize itself and change the target
to wait. This way, we block init until we are sure the dhcpcd master
is running. Otherwise we have a race condition if init gets scheduled
for some reason and immediately starts the dhcpcd interface daemon that
cannot see the master and decides that *it* is the msater now.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- Service file for dhcpcd master service
- Service template file for interfaces
- Service symlink for each configured interface
- Get DHCP address on raspberry pi 3 for ethernet port
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Let packages decide if they want to install something to /opt or /srv,
but there is no reason to have empty directories by default in the read
only root filesystem.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Instead of having an overlay mounted /root in the root filesystem,
move it to the other user directories, i.e. /usr/root.
We then overlay mount the entire /usr directory. This still allows
us to mount /usr from somewhere else if we wish, but cleans
up/simplifies the filesystem for now and implements some default
management of general user directories.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- vigr and vipw. We don't have vi installed.
- chsh. We only have one shell installed.
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>
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>
- Use shipped device tree binaries instead of our own
- Install kernel + rootfs to $OS_RELEASE subdirectory
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>