Dan Liew
2015-Jul-21 15:19 UTC
[LLVMdev] [cfe-dev] [3.7 Release] RC1 has been tagged, Testing Phase I begins
> Finally, for some reason, the install directory is > ...install/usr/local/... which is odd.I presume you mean the contents of the tarball? The install (prefix) directory is **always** /usr/local and DESTDIR is used place this in a temporary directory for tarballing Having ``/usr/local/`` inside the tarball was intentional because it makes it clear where the package is intended to be installed. Thanks, Dan.
Renato Golin
2015-Jul-21 16:23 UTC
[LLVMdev] [cfe-dev] [3.7 Release] RC1 has been tagged, Testing Phase I begins
On 21 July 2015 at 16:19, Dan Liew <dan at su-root.co.uk> wrote:> I presume you mean the contents of the tarball?Yes.> Having ``/usr/local/`` inside the tarball was intentional because it > makes it clear where the package is intended to be installed.This can't be right. LLVM doesn't release only on Linux. Also, add-on toolchains don't go to /usr/local, or they would overwrite the system one. If I want to untar, say, in /opt, I'd have a /opt/usr/local structure, which is confusing. Leave the specific position of the tar-ball to the system that is being distributed at. cheers, --renato
Hans Wennborg
2015-Jul-21 20:46 UTC
[LLVMdev] [cfe-dev] [3.7 Release] RC1 has been tagged, Testing Phase I begins
On Tue, Jul 21, 2015 at 9:23 AM, Renato Golin <renato.golin at linaro.org> wrote:> On 21 July 2015 at 16:19, Dan Liew <dan at su-root.co.uk> wrote: >> Having ``/usr/local/`` inside the tarball was intentional because it >> makes it clear where the package is intended to be installed. > > This can't be right. LLVM doesn't release only on Linux. > > Also, add-on toolchains don't go to /usr/local, or they would > overwrite the system one. If I want to untar, say, in /opt, I'd have a > /opt/usr/local structure, which is confusing. > > Leave the specific position of the tar-ball to the system that is > being distributed at.The /usr/local prefix shouldn't be in the tarball after my commit in r242706. Thanks, Hans
Dan Liew
2015-Jul-22 05:47 UTC
[LLVMdev] [cfe-dev] [3.7 Release] RC1 has been tagged, Testing Phase I begins
On 21 July 2015 at 09:23, Renato Golin <renato.golin at linaro.org> wrote:> On 21 July 2015 at 16:19, Dan Liew <dan at su-root.co.uk> wrote: >> I presume you mean the contents of the tarball? > > Yes. > > >> Having ``/usr/local/`` inside the tarball was intentional because it >> makes it clear where the package is intended to be installed. > > This can't be right. LLVM doesn't release only on Linux. > > Also, add-on toolchains don't go to /usr/local, or they would > overwrite the system one.On Linux /usr/local is meant for applications outside of the distribution's package manager. The "system" one will be in /usr/ not /usr/local so we will not be overwriting the system toolchain. So using /usr/local is a suitable choice there, I'm not so sure about OSX or *BSD. AFAIK it has **always** been the default install location for autoconf and CMake.> If I want to untar, say, in /opt, I'd have a > /opt/usr/local structure, which is confusing.You're assuming that a project's binary tarball is relocatable which is not always the case. For LLVM/Clang this seems to work (although the contents of include/llvm/Config/{config,llvm-config}.h contain the intended install path) although I'm not sure if that's something we actually guarantee to our users. If we do make this guarantee then it's fine to drop the /usr/local prefix from install the tarball but it should be stated somewhere on the release page that the binary tarballs are relocatable. Thanks, Dan.