Bug 1093707 - devel:tools:compiler/llvm6: duplicate binaries produced with llvm5 and llvm4
devel:tools:compiler/llvm6: duplicate binaries produced with llvm5 and llvm4
Status: RESOLVED DUPLICATE of bug 1090853
Classification: openSUSE
Product: openSUSE.org
Classification: openSUSE
Component: 3rd party software
unspecified
Other Other
: P5 - None : Normal (vote)
: ---
Assigned To: Michal Srb
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-05-17 13:04 UTC by Jimmy Berry
Modified: 2019-02-22 14:20 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jimmy Berry 2018-05-17 13:04:11 UTC
libFuzzer:
  - llvm4
  - llvm5
  libc++-devel:
  - llvm4
  - llvm5
  - llvm6
  libc++1:
  - llvm4
  - llvm5
  - llvm6
  libc++abi-devel:
  - llvm4
  - llvm5
  - llvm6
  libc++abi1:
  - llvm4
  - llvm5
  - llvm6
  python3-clang:
  - llvm4
  - llvm5
  - llvm6

See dashboard/duplicate_binaries which is updated once daily: https://build.opensuse.org/package/view_file/openSUSE:Factory:Staging/dashboard/duplicate_binaries.

It would seem the primary version of llvm should produce them and/or suffix/prefix with llvm version and use provides/conflicts to the current names. In that case it may require prefer added to project config.

As it currently, stands identical binaries are produced which may have undefined behavior in OBS in terms of which is used.
Comment 1 Michal Srb 2018-05-17 15:49:23 UTC
(In reply to Jimmy Berry from comment #0)
> It would seem the primary version of llvm should produce them and/or
> suffix/prefix with llvm version and use provides/conflicts to the current
> names. In that case it may require prefer added to project config.

Suffixing/prefixing the name causes issue with shlib-policy-name-error, for example:
  llvm4-libc++1.x86_64: E: shlib-policy-name-error (Badness: 10000) libc++1
  llvm4-libc++abi1.x86_64: E: shlib-policy-name-error (Badness: 10000) libc++abi1
  Your package contains a single shared library but is not named after its
  SONAME.

I'll disable the build of libFuzzer/libc++* in all but the latest version of llvm.
Comment 2 Jimmy Berry 2018-05-17 18:39:24 UTC
(In reply to Michal Srb from comment #1)
> Suffixing/prefixing the name causes issue with shlib-policy-name-error, for
> example:

I was referring to the packages containing the libs not the libs themselves. As long as the packages are named differently they can provide the same files safely by including a conflict with eachother.

To be clear something like the following for llvm4:

libc++1-llvm4 (package name):
Provides:  libc++1    (old package name)
Conflicts: libc++1    (other providers)

That way both users and OBS can differentiate between the packages.
Comment 3 Michal Srb 2018-05-18 06:22:40 UTC
(In reply to Jimmy Berry from comment #2)
> (In reply to Michal Srb from comment #1)
> > Suffixing/prefixing the name causes issue with shlib-policy-name-error, for
> > example:
> 
> I was referring to the packages containing the libs not the libs themselves.
> As long as the packages are named differently they can provide the same
> files safely by including a conflict with eachother.

I understand - that is what I tried. The "shlib-policy-name-error" requires that a package containing single library must be named after the library. So renaming the *package* breaks the policy.

Rather than trying to get some exception, it will be easier to disable build of those packages in all but the newest version.
Comment 5 Michal Srb 2018-05-18 12:26:55 UTC

*** This bug has been marked as a duplicate of bug 1090853 ***
Comment 6 Swamp Workflow Management 2019-02-22 14:20:14 UTC
This is an autogenerated message for OBS integration:
This bug (1093707) was mentioned in
https://build.opensuse.org/request/show/678236 15.1 / llvm5