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>
We explicitly list every file that should be packaged, no need to manually
go over the ones we don't want.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
If we use "file ... | grep -i elf" to detect if a file is an ELF binary,
a file *named* elf will erroneously trigger it.
This commit adds a flag to disable printing of the file name.
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>
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>
We tell the autoconf configure script that we are going to install stuff
to prefix "/" with libdir being set to "/lib", so the script ends up writing
"libdir='/lib'" to the libtool *.la scripts.
This is all fine and dandy until we do a 'make install' with DESTDIR set to
our actual package deploy directory. Libtool goes "OMG WTF we aren't
instaling to / afterall" and thinks it needs to do a relinking phase.
During relinking, it passes "-L$libdir" to gcc, which ends up as "-L/lib".
Now, gcc tries to link against local system libraries. Best case, the build
breaks and we know something stupid happened. It really bites us if we try
to cross compile from e.g. x86 to x86.
Until now, it worked to simply patch the *.la scripts before 'make install',
like other distros do, but recent versions of util-linux now ship with a
newer version of the libtool script which simply regenerates the *.la files.
This commit adds an extension to the patch script that patches the actuall
libtool script itself.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
The new gcc 8.2 toolchain emits fancy new endbr32 instructions that the
Geode LX doesn't have. The system chokes during boot with an illegal
opcode in libmount. This commit disables cet for the Alix bsp.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>