Hi!

In f42 the main llvm package switched to installing all files under a
/usr/lib{64}/llvmN prefix and providing symlinks in the default prefix, to
align the contents between the versioned and unversioned packages. What we
were not aware of at the time is that rpm's support for symlinks is very
bad.

The latest issue we've run into is multilib installations. On f42, it's no
longer possible to install llvm-devel.x86_64 and llvm-devel.i686 at the
same time, because they have conflicts at paths like /usr/bin/opt. These
conflicts previously existed as well, but while rpm will happily ignore
multilib file conflicts (resolving in favor of x86_64), having a symlink
conflict is a hard error. (The symlink will point to /usr/lib/llvmN/bin/opt
on i686 and /usr/lib64/llvmN/bin/opt on x86_64.)

An elegant way to avoid the multilib conflict is to just not ship symlinks
on i686. However, doing this would also break all i686 rpm builds that
depend on llvm or clang, because they would now require adding something
like "export PATH=/usr/lib/llvmN:$PATH" to the build.

I'd appreciate some advice on what we can do to support both i686 rpm
builds and conflict-free multilib installs at the same time.

For example, is there some way (e.g. via a macros file shipped with the
i686 llvm package) we could automatically inject into PATH for rpm builds
only?

Regards,
Nikita
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to