sabotage-linux / sabotage

a radical and experimental distribution based on musl libc and busybox
http://sabo.xyz
Other
541 stars 68 forks source link

debloat core build #92

Closed rofl0r closed 9 years ago

rofl0r commented 10 years ago

the core metapackage ( https://github.com/rofl0r/sabotage/commit/a818902a42b17ecf8c6ecfb94618ec19886a1fbf ) features a sane subset for sabotage development and testing. at current, it is ca 440 MB uncompressed, which is mostly due to python and perl (ca 150 MB total). python is only required for ca-certficates, so it may make sense to evaluate what the python script there is doing and create a replacement shell script or C program.

perl can't be removed easily as its needed for 2 core components: openssl and extlinux, and at least the build system of the former is a huge abomination.

it has to be decided whether it makes sense to strip off libraries which were only needed to static link some apps in the core set. the disadvantage of removing them is that one would most likely have to build them again as soon as any development/building is going on. theoretically one could just uninstall things like perl/python/ncurses (if only used statically by core apps), and remove their entry from the butch package db.

it could also be worthwile to get rid of openssl, by linking curl against another crypto implementation like cyassl (officially supported by curl). curl is in the set because it's needed for git, which in turn may depend on openssl's libcrypto independently. however openssl is needed by lot of other things, so one would have to build it soon anyway.

rofl0r commented 10 years ago

https://github.com/rofl0r/sabotage/commit/4c576f350f44186d439179f63d5be19f710a73f5 removes the python dependency

asiekierka commented 10 years ago

https://github.com/busterb/libressl <- once libressl becomes usable, it might not depend on perl anymore to compile which would solve at least one of the problems

about extlinux, it seems it uses a few utilities written in perl throughout various compilation stages, but none of them seem to be non-trivial and they are probably rewriteable to C.

rofl0r commented 10 years ago

extlinux pkg has already been fixed not to use perl scripts ( 4ab0533a7633c9cecaa2d3c54565e833b98b4fa1 ). and yeah libressl is a hot candidate for inclusion once its available

rofl0r commented 9 years ago

libressl is now the default implementation, but now git is pulling in perl... since the core rootfs is already pretty slim, we can probably close this now.