AdaCore / gprbuild

GPRbuild is an advanced build system designed to help automate the construction of multi-language systems.
Other
65 stars 21 forks source link

bootstrap.sh --install does extra copy of gprconfig kb #96

Closed steve-cs closed 1 year ago

steve-cs commented 3 years ago

Minor issue that leaves"$srcdir"/share/gprconfig owned by root if one does the equivalent of:

./bootstrap.sh --build
sudo ./bootstrap.sh --install

I think the copy from $kb_src only needs to happen during Build. Simple patch that works for me and shouldn't cause a problem unless someone needs to use different --with-kb options with --build and --install.

https://github.com/steve-cs/gnat-builder/blob/d41899528d33ae57086fc15b62a9a33d18f1d330/gprbuild-src-patch.diff

Irvise commented 2 years ago

Hi @steve-cs I am not an AdaCore developer, but I have been dealing with gprbuild quite a bit in the past few months. The files from gprconfig are needed, and are part of the install. They hold the platform specific information which is read by gprbuild when building anything. Therefore, they need to be installed. If you run ./bootstrap.sh --build and nothing else, I would expect it to use srcdir as the prefix, which is why after --install that folder gets owned by root.

Regards, Fer

P.S: sorry for replying this late.

t-14 commented 1 year ago

Thank you for answering on our behalf :) Indeed, these files are used at run time to interrogate the user's toolchains.

Probably worth mentioning that the new iteration of gprconfig that is part of our GPR2 rewrite embeds the knowledge base so it is fully standalone. Nevertheless we bundle the files even there, since they allow the user to make local tweaks and override the default KB (-db- -db ...)