AdriandMartin / LightNIX

Linux based operating system with minimal overhead for low-specs computers
https://adriandmartin.github.io/LightNIX/
GNU General Public License v3.0
1 stars 0 forks source link

Reimplement building to follow a package-based approach #8

Open AdriandMartin opened 2 years ago

AdriandMartin commented 2 years ago

Restructure the building process in order to make it modular and maintainable, using a package-based approach which separates each package's configuration files and build method

AdriandMartin commented 2 years ago

Take into consideration source-based Linux distributions, with ports-like build systems like Arch Linux (with the tool makepkg, the PKGBUILD files and the archiso project), Gentoo Linux (with the tool emerge, the ebuild files and the Portage project) and Void Linux (with the XBPS tool, its template files and the void-mklive project) as a reference.

Achieving a minimal compatibility with a scripting format as PKGBUILD, repositories like the Arch32 might be used to keep the system up to date. Overmore, it lets using the AUR repository almost completely, because all the packages specified there are not binaries, but a build method (that is, the PKGBUILD file itself).

Although Gentoo package system is similar to the Arch's one, it's worse documented, and Arch Linux has the advantage of the binaries packages repositories, so PKGBUILD could be the best option.

Another option could be using the Debian repositories for fetching up to date packages, because the 32 bits version of the operating system is still supported. Nevertheless, although deb package managers let fetch both source and binaries, this method is less flexible, because PKGBUILD is simpler, almost like a shell script, as everything is based on variables and functions declarations, which will be called by the builder of the package in the required moment.