[build2] Installation Configuration Variables: Absolute Paths, Config Location, Version Tag

Boris Kolpackov boris at codesynthesis.com
Tue May 4 12:53:41 UTC 2021


Markus Pawellek via users <users at build2.org> writes:

> Boris Kolpackov <boris at codesynthesis.com> wrote:
> 
> > And currently this can be achieved both from inside the project:
> > 
> > file{myprog.conf}: install = etc/$project/
> > 
> > Or from the outside by whomever is installing the program:
> > 
> > $ b config.install.etc='data_root/etc/<project>'
> > 
> > So having config.install.config seems to only add a convenience
> > alias. Or am I missing something?
> 
> Again, I agree and please correct me, if I am wrong.
> But 'config.install.etc' is not a permanent variable 
> and cannot be set in the configuration file manually.

Yes, sorry, I was under strong impression we already had
config.install.etc but apparently we do not!

I agree config.install.etc=data_root/etc/ is a good idea and
I will go ahead and add it.

But I still don't think we need config.install.config because
of the reasons I mentioned in my previous reply. Agree?


> > > Additionally, if different versions of a project are allowed
> > > and need different configurations and/or resource files,
> > > the tag '<version>' would come in handy
> > > when defining the directories of the installation,
> > > like in the following.
> > > 
> > > config.install.data   = share/<private>/<project>/<version>
> > > config.install.config = etc/<private>/<project>/<version>
> > 
> > Yes, I think that's a good idea. I've implemented it and it will
> > be available with the tomorrow's restage.
> 
> Only one question:
> Is it then still possible to call an installed application?
> Or do we have to create a symlink to a specific version manually?

I am not sure I follow what you mean here. We definitely don't
create any extra symlinks to one of the versions. In other words,
this behaves exactly as if you hard-coded the version yourself:

config.install.config = etc/<private>/<project>/1.2.3



More information about the users mailing list