Bug 1168935 - [DuplicateBinaries] llvm 9 and llvm 10 produce duplicate binaries
[DuplicateBinaries] llvm 9 and llvm 10 produce duplicate binaries
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other
Current
Other Other
: P2 - High : Normal (vote)
: ---
Assigned To: Aaron Puchert
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-04-08 06:57 UTC by Dominique Leuenberger
Modified: 2020-10-25 12:40 UTC (History)
1 user (show)

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 Dominique Leuenberger 2020-04-08 06:57:47 UTC
On April 7, LLVM10 was checked in to openSUSE:Factory - this results in duplicate binaries being created, which is a major problem, as there is no control which of the two is being available in the repo and for further product builds..

e.g. mozjs68 is unresolvable with: nothing provides clang-tools = 9.0.1 needed by clang9-devel, (got version 10.0.0-1.1) (llvm10 was last built, winning this time inside OBS; for the repo it could be different)

Duplicate binaries found:
x86_64:
  clang-tools:
  - llvm10
  - llvm9
  libc++-devel:
  - llvm10
  - llvm9
  libc++1:
  - llvm10
  - llvm9
  libc++abi-devel:
  - llvm10
  - llvm9
  libc++abi1:
  - llvm10
  - llvm9
  python3-clang:
  - llvm10
  - llvm9

For the time being, I revert the addition of LLVM10 to Tumbleweed (no snapshot broken yet)
Comment 1 Aaron Puchert 2020-04-08 22:04:12 UTC
That's essentially the same issue as bug 1164454 previously, which is fortunately easy to fix: https://build.opensuse.org/request/show/792561. I should probably have submitted this together with the llvm10 addition.

(In reply to Dominique Leuenberger from comment #0)
> For the time being, I revert the addition of LLVM10 to Tumbleweed (no
> snapshot broken yet)
So this means I have to resubmit llvm10? I hope licensedigger remembers the previous request so we don't have to wait for that again.
Comment 2 Aaron Puchert 2020-04-08 22:05:57 UTC
(In reply to Aaron Puchert from comment #1)
> That's essentially the same issue as bug 1164454 previously

Sorry for the mixup, I meant bug 1145735.
Comment 3 Aaron Puchert 2020-04-09 00:00:43 UTC
(In reply to Dominique Leuenberger from comment #0)
> e.g. mozjs68 is unresolvable with: nothing provides clang-tools = 9.0.1
> needed by clang9-devel, (got version 10.0.0-1.1) (llvm10 was last built,
> winning this time inside OBS; for the repo it could be different)

There is another issue here: clang-devel requires clang9-devel, which in turn requires clang-tools = 9.0.1. Now if I remove clang-tools from llvm9, that package is no longer installable.

Luckily clang-tools is only a pro-forma requirement, since CMake complains about missing binaries otherwise, but these binaries aren't typically needed for development, only the libraries are. (Which is annoying, and hopefully I get around to fixing that some time.)

So we can just drop the versioning requirement, and take any version of clang-tools for clangX-devel. (https://build.opensuse.org/request/show/792576)
Comment 4 Dominique Leuenberger 2020-04-09 07:07:49 UTC
(In reply to Aaron Puchert from comment #1)
> > For the time being, I revert the addition of LLVM10 to Tumbleweed (no
> > snapshot broken yet)
> So this means I have to resubmit llvm10? I hope licensedigger remembers the
> previous request so we don't have to wait for that again.

No need; I actually worked around it a bit more complex, but with less effort for you: build disabled/binaries wiped; just have to remember to enable this again when llvm10 switch is checked in (together with the llvm9 fix, which is now staged)
Comment 5 Aaron Puchert 2020-04-09 11:29:05 UTC
(In reply to Dominique Leuenberger from comment #4)
> (In reply to Aaron Puchert from comment #1)
> > > For the time being, I revert the addition of LLVM10 to Tumbleweed (no
> > > snapshot broken yet)
> > So this means I have to resubmit llvm10? I hope licensedigger remembers the
> > previous request so we don't have to wait for that again.
> 
> No need; I actually worked around it a bit more complex, but with less
> effort for you: build disabled/binaries wiped; just have to remember to
> enable this again when llvm10 switch is checked in (together with the llvm9
> fix, which is now staged)

Thanks, that's good to hear. For the future I'll add a note to llvm's README.packaging that the new version and the changes to the old version should be submitted together to avoid duplicate binaries in the meantime.
Comment 6 Aaron Puchert 2020-04-09 21:58:26 UTC
(In reply to Dominique Leuenberger from comment #4)
> just have to remember to enable this again when llvm10 switch is checked in

Request landed in Factory, please close if the issue is fixed and builds are enabled again. Thanks again for simplifying the process here.
Comment 7 Aaron Puchert 2020-05-02 21:08:16 UTC
Builds seem to be on again, and there are no duplicate binaries according to https://build.opensuse.org/package/view_file/openSUSE:Factory:Staging/dashboard/duplicate_binaries. So I'll close this.
Comment 8 OBSbugzilla Bot 2020-10-25 12:40:06 UTC
This is an autogenerated message for OBS integration:
This bug (1168935) was mentioned in
https://build.opensuse.org/request/show/843889 Factory / llvm10