Bug 1677968 - file ownership conflict between eccodes-2.9.2-2.fc30.x86_64 and grib_api-1.27.0-3.fc30.x86_64
Summary: file ownership conflict between eccodes-2.9.2-2.fc30.x86_64 and grib_api-1.27...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: eccodes
Version: rawhide
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Jos de Kloe
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1595643 1595649 1644928 1678012
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-02-17 08:25 UTC by George R. Goffe
Modified: 2019-05-25 08:24 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-24 14:25:22 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description George R. Goffe 2019-02-17 08:25:44 UTC
Description of problem: Attempting to upgrade packages on this FC30 system produced file conflict error messages with grib.


Version-Release number of selected component (if applicable):
see below

How reproducible:
always so far

Steps to Reproduce:
1.see below
2.
3.

Actual results:
see below

Expected results:
error free system upgrade

Additional info:

dnf -y --skip-broken upgrade plplot-data.noarch plplot-libs.x86_64 plplot.x86_64
Last metadata expiration check: 0:09:54 ago on Sun 17 Feb 2019 12:08:41 AM PST.
Dependencies resolved.
=============================================================================================================================================
 Package                             Architecture                  Version                              Repository                      Size
=============================================================================================================================================
Upgrading:
 gdl                                 x86_64                        0.9.9-4.fc30                         rawhide                        3.6 M
 gdl-common                          noarch                        0.9.9-4.fc30                         rawhide                        207 k
 plplot                              x86_64                        5.14.0-1.fc30                        rawhide                        484 k
 plplot-data                         noarch                        5.14.0-1.fc30                        rawhide                        928 k
 plplot-libs                         x86_64                        5.14.0-1.fc30                        rawhide                        388 k
 python3-gdl                         x86_64                        0.9.9-4.fc30                         rawhide                        3.4 M
Installing dependencies:
 eccodes                             x86_64                        2.9.2-2.fc30                         rawhide                        750 k
 eccodes-data                        noarch                        2.9.2-2.fc30                         rawhide                        3.3 M

Transaction Summary
=============================================================================================================================================
Install  2 Packages
Upgrade  6 Packages

Total size: 13 M
Downloading Packages:
[SKIPPED] eccodes-2.9.2-2.fc30.x86_64.rpm: Already downloaded                                                                               
[SKIPPED] eccodes-data-2.9.2-2.fc30.noarch.rpm: Already downloaded                                                                          
[SKIPPED] gdl-0.9.9-4.fc30.x86_64.rpm: Already downloaded                                                                                   
[SKIPPED] gdl-common-0.9.9-4.fc30.noarch.rpm: Already downloaded                                                                            
[SKIPPED] plplot-5.14.0-1.fc30.x86_64.rpm: Already downloaded                                                                               
[SKIPPED] plplot-data-5.14.0-1.fc30.noarch.rpm: Already downloaded                                                                          
[SKIPPED] plplot-libs-5.14.0-1.fc30.x86_64.rpm: Already downloaded                                                                          
[SKIPPED] python3-gdl-0.9.9-4.fc30.x86_64.rpm: Already downloaded                                                                           
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/bin/grib2ppm from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_compare from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_copy from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_count from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_dump from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_filter from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_get from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_get_data from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_histogram from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_index_build from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_ls from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_set from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_to_netcdf from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/tigge_accumulations from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/tigge_check from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/tigge_name from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/tigge_split from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64

Error Summary
-------------

Comment 1 Jos de Kloe 2019-02-17 15:25:38 UTC
Yes this is a known problem at the moment, and it needs to be fixed by rebuilding gdl and plplot.
grib_api is dead upstream and no longer supported. It needs to be replaced by eccodes. The binary interface is identical, so packagers only need to insert the new name of the new library.

However, there is still an issue with portability.
Eccodes does not support all architectures that are provided by Fedora. The library builds, but not all provided test cases pass, so I cannot be confident that all functionality works as intended on the problematic architectures. These are: i686, s390x, and armv7hl.
(any help on debugging this is appreciated!)

For these 3 architectures there is no choice but to stay with the old grib_api library untill this is solved.
A simple "%ifarch i686 ppc64 s390x armv7hl" statement can be used to implement this for gdl and plplot in their spec files, as I have done for pygrib.

I will file bugs now for gdl and plplot to inform the maintainers and make this bug one dependent on them.

Comment 2 Orion Poplawski 2019-02-17 21:42:32 UTC
gdl already uses eccodes.  Try running:

dnf upgrade --allow-erasing

Comment 3 Orion Poplawski 2019-02-17 21:43:22 UTC
It is probably time to have eccodes obsolete grib_api.

Comment 4 George R. Goffe 2019-02-18 07:03:39 UTC
Orion,

"allowerasing" is not hyphenated...

How can you close this as not a bug? What else is it if not a bug?

George...

Comment 5 Orion Poplawski 2019-02-18 15:27:46 UTC
Thanks.  Did that work?  

I did not close this bug - I closed the bug filed against plplot which does not use grib_api or eccodes.

Comment 6 George R. Goffe 2019-02-19 00:40:04 UTC
Orion,

Oops.

The --allowerasing switch did not "fix" anything.

George...

Comment 7 Orion Poplawski 2019-02-19 02:04:50 UTC
Can you please post the output?

Comment 8 George R. Goffe 2019-02-19 04:57:34 UTC
Orion,

I presume this is what you want.

script -c "dnf -y --skip-broken --allowerasing upgrade plplot-data.noarch plplot-libs.x86_64 plplot.x86_64" upgrade.log
Script started, file is upgrade.log
Last metadata expiration check: 0:19:15 ago on Mon 18 Feb 2019 08:37:06 PM PST.
Dependencies resolved.
=============================================================================================================================================
 Package                             Architecture                  Version                              Repository                      Size
=============================================================================================================================================
Upgrading:
 gdl                                 x86_64                        0.9.9-4.fc30                         rawhide                        3.6 M
 gdl-common                          noarch                        0.9.9-4.fc30                         rawhide                        207 k
 plplot                              x86_64                        5.14.0-1.fc30                        rawhide                        484 k
 plplot-data                         noarch                        5.14.0-1.fc30                        rawhide                        928 k
 plplot-libs                         x86_64                        5.14.0-1.fc30                        rawhide                        388 k
 python3-gdl                         x86_64                        0.9.9-4.fc30                         rawhide                        3.4 M
Installing dependencies:
 eccodes                             x86_64                        2.9.2-2.fc30                         rawhide                        750 k
 eccodes-data                        noarch                        2.9.2-2.fc30                         rawhide                        3.3 M

Transaction Summary
=============================================================================================================================================
Install  2 Packages
Upgrade  6 Packages

Total size: 13 M
Downloading Packages:
[SKIPPED] eccodes-2.9.2-2.fc30.x86_64.rpm: Already downloaded                                                                               
[SKIPPED] eccodes-data-2.9.2-2.fc30.noarch.rpm: Already downloaded                                                                          
[SKIPPED] gdl-0.9.9-4.fc30.x86_64.rpm: Already downloaded                                                                                   
[SKIPPED] gdl-common-0.9.9-4.fc30.noarch.rpm: Already downloaded                                                                            
[SKIPPED] plplot-5.14.0-1.fc30.x86_64.rpm: Already downloaded                                                                               
[SKIPPED] plplot-data-5.14.0-1.fc30.noarch.rpm: Already downloaded                                                                          
[SKIPPED] plplot-libs-5.14.0-1.fc30.x86_64.rpm: Already downloaded                                                                          
[SKIPPED] python3-gdl-0.9.9-4.fc30.x86_64.rpm: Already downloaded                                                                           
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/bin/grib2ppm from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_compare from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_copy from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_count from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_dump from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_filter from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_get from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_get_data from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_histogram from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_index_build from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_ls from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_set from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/grib_to_netcdf from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/tigge_accumulations from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/tigge_check from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/tigge_name from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64
  file /usr/bin/tigge_split from install of eccodes-2.9.2-2.fc30.x86_64 conflicts with file from package grib_api-1.27.0-3.fc30.x86_64

Error Summary
-------------

Comment 9 Jos de Kloe 2019-02-19 07:23:56 UTC
could this be caused by this line in the current eccodes.spec?

Obsoletes:      grib_api < %{final_grib_api_version}

with

%global final_grib_api_version 1.27.0-2

Meanwhile I noticed grib_api is at version 1.27.0-3, so that might explain why this conflicted?

Comment 10 Orion Poplawski 2019-02-19 16:22:11 UTC
Yup, looks like the obsoletes version needs to get bumped.  Perhaps set it to 1.27.1?

Comment 11 Jos de Kloe 2019-02-21 09:24:39 UTC
I bumped the obsoletes version and rebuilt for f30 and rawhide/f31. Hope that solves the problem.

Comment 12 Jos de Kloe 2019-05-23 07:04:44 UTC
can this bug be closed now or are there remaining issues?

Comment 13 George R. Goffe 2019-05-23 22:19:15 UTC
Jos,

I presume you tested these changes. Yes? If they worked, then by all means close this bug please.

I'm at FC31 (rawhide) now... all of these pkgs are installed w/o problems. grib_api somehow gets renamed to eccodes via packaging or dnf or something...

Best regards,

George...

Comment 14 Orion Poplawski 2019-05-24 14:25:22 UTC
I think we're in the clear.

Comment 15 Jos de Kloe 2019-05-25 08:24:11 UTC
thanks for confirming and closing.
Yes, tested it on my side (I am on f29) and gdl installs next to eccodes w/o issues for me.


Note You need to log in before you can comment on or make changes to this bug.