Changes to the BUILD and INSTALL scripts (Men-At-Work)
Dave Brown
dagbrown at lart.ca
Thu Jan 26 12:52:13 CET 2012
On Wed, Jan 25, 2012 at 02:11:18PM -0800, Auke Kok wrote:
> 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.
Why not just do exactly what we do with other optional files--just
delete it? If something has a GNU-autoconf default build, just delete
the BUILD file altogether and let the default handle it.
> 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.
Yeah yeah. To make an omelette, sometimes you have to break some eggs.
> 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!
I have a use case for this! emacs and ctags have a stupid conflict--the
"ctags" binary. There's no mechanism within the emacs build, short of
patching the Makefile, to install ctags as anything other than ctags.
Stick it in a sandbox, though, and you can have a PRE_INSTALL script
that digs into the sandbox, renames "ctags" to "etags", and removes the
whole conflict.
I am seriously warming to this whole idea.
--Dave
More information about the Lunar-dev
mailing list