1
0
Fork 0
mirror of https://github.com/pygos/build.git synced 2024-06-26 05:00:11 +02:00
Commit graph

19 commits

Author SHA1 Message Date
David Oberhollenzer 2c741e06f3 Eliminate latent, per package deploy directory
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>
2019-03-05 15:09:34 +01:00
David Oberhollenzer a0f4d41cfe fix strip_files: don't check filename against ELF
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>
2019-03-03 23:54:47 +01:00
David Oberhollenzer 2fb62ec2f1 Update unfuck_libtool function
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>
2019-01-17 19:55:32 +01:00
David Oberhollenzer 7204b9dd75 Cleanup: strip executables in mk.sh
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>
2018-06-17 20:22:10 +02:00
David Oberhollenzer 3d30afef75 Remove dev deploy split
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-17 20:22:10 +02:00
David Oberhollenzer d5c8fce58b Add helper function to fixup libtool files
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>
2018-05-19 23:05:30 +02:00
David Oberhollenzer b472ff031a Move file override functions to seperate helper script file
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-05-10 16:01:53 +02:00
David Oberhollenzer c6ae50eb40 Add helpers for override behaviour based shell inclusion
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-05-10 16:01:53 +02:00
David Oberhollenzer e11477b9cf Remove common product configuration
The simplification of the overide behaviour may be worth the slight
duplication overhead.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-05-10 14:15:44 +02:00
David Oberhollenzer 5388c0f925 Cleanup file override behaviour
Look for board specific product files in product/$product/$board/

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-05-06 00:21:09 +02:00
David Oberhollenzer 387281fae4 Add configuration for deterministic network interface names
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-05-05 18:27:57 +02:00
David Oberhollenzer 3907b48c1f Add eudev package
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-03-24 21:14:29 +01:00
David Oberhollenzer 94cc2d2c46 Implement board/product config schema
- 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>
2018-03-24 18:28:29 +01:00
David Oberhollenzer 96966bf73b Minor cleanup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-24 22:45:00 +01:00
David Oberhollenzer 1636fc8aac Merge management of regular and toolchain packages
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-15 23:47:54 +01:00
David Oberhollenzer dbe75332e5 Take care of libtool archives in split_dev_deploy
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-15 16:16:52 +01:00
David Oberhollenzer fa95db618e Add utility function for manually stripping files
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-15 16:16:52 +01:00
David Oberhollenzer 525b36aa89 Cleanup deploy/devdeploy split
- 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>
2018-02-10 19:59:51 +01:00
David Oberhollenzer 8dca35930b Add utility function for applying patches
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-10 19:59:51 +01:00