Changes to the BUILD and INSTALL scripts (Men-At-Work)

Auke Kok auke at foo-projects.org
Wed Jan 25 23:11:18 CET 2012


On Wed, Jan 25, 2012 at 07:27:45AM -0500, Dennis Veatch wrote:
> Well alright then. Did I miss some background conversations :)

perhaps, but likely not - I haven't been around brainstorming in #lunar
exactly much

> I think I can see where you are going with this to a point but missing what is 
> to be gained; aside from some obvious things. Like simplifying the BUILD 
> scripts to only perform configure and make.
> 
> Beyond that I will assume this is a subset of some other changes you have in 
> mind.

Simplification is not actually the goal, and I don't think that this step
actually simplifies things much, as right now one could have an empty BUILD
file sitting around, something we didn't have before.

There are several big problems with Lunar's way of building things, and
not much you can do about it unless we split the BUILD up into two parts.

But, on the short term, there are zero features that you get from this,
which is why it never happened until now.

It does enable quite a few features, that are extremely interesting, and
in my perspective are vital to make Lunar work going forward. Right now,
moonbase is practically tipping over, and this will result in build breakage
all over more and more.

So, back to what this will give us:


sandboxed installation: We can now use fakeroot-ng or similar to not actually
install files into the live system, but into a sandbox. This will allow us
to actually prevent system files from being overwritten, complain if this
happens, and it will also make upgrades much more safe!

build-not-as-root: We still need to make install as root, but there should be
nothing stopping us from using a non-privileged uid to do things like
configure, make. Splitting up BUILD allows that.

sandboxed building: One step further, we could potentially also build
sandboxed, which would truly mean that dependencies listed are the only
ones that are used, because the build system will not see anything else
but those dependencies. This means that no more accidentally linking against
gtk in vim, because you forgot to --disable-gtk, and configure picked it
up on your system.


Now that we have BUILD split up, it should be trivial to go work on these
features in an incremental fashion - something that was largely not possible
until that happened.

btw, many BUILD files will be broken with my automatic conversion scripts -
it's not a freebie unfortunately. Once that is fixed up though, nobody should
have a problem with the new style.

Auke


More information about the Lunar-dev mailing list