hello
hello copied to clipboard
[Brainstorming] Rework the FreeBSD ports system to fit your design goals
Rework the existing FreeBSD ports system to fit your design.
What I mean by this is to make changes to existing infrastructure to support building ports with non-shared libraries, setting the build prefix, install targets, and any dependencies to self contained directories. For some shared libraries it may make more sense to include the more oftenly used stuff in the base system. The less common stuff would be installed alongside the port in the same directory as mentioned. Obviously this would only make sense for ports that are executables.
Ideally the goal should be to leave the individual port skeletons unmodified from the upstream FreeBSD project. Only the infrastructure (ports/Mk/*) behind it would change. This should reduced the technical debt of having to maintain applications, and make existing application readily available on this new platform.
Perhaps the first step towards this is identifying some popular well know ports users would install on a desktop system. Find out what parts of the ports infrastructure would need to be changed to allow building the applications in such a fashion. I expect that initially there would be a need to tinker with the skeletons to get a sense of what it would take to make this work.
What we really need is to integrate Poudriere, so poudriere can build .App applications, did I get it right?
hello @tuaris and thanks for this idea. This is definitely that is worth investigating. On a similar note, it would be interesting to move from packages that are archives to packages that are images, like https://distr1.org/ is doing with Linux.
We don't want to reinvent FreeBSD, though. In fact, we want to stay "true FreeBSD" wherever possible. So at least for what comes as part of the Live ISO, I think the existing system wih ports and packages serves us well (and we wouldn't want to maintain our own!).
So possibly this discussion/brainstorming should be done on a FreeBSD wide level?