Closed rofl0r closed 9 years ago
https://github.com/rofl0r/sabotage/commit/4c576f350f44186d439179f63d5be19f710a73f5 removes the python dependency
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.
extlinux pkg has already been fixed not to use perl scripts ( 4ab0533a7633c9cecaa2d3c54565e833b98b4fa1 ). and yeah libressl is a hot candidate for inclusion once its available
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.
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.