Bug 1280451 - libidn should be marked as a requirement for the dnf package
libidn should be marked as a requirement for the dnf package
Status: CLOSED DUPLICATE of bug 1222812
Product: Fedora
Classification: Fedora
Component: dnf (Show other bugs)
23
All Linux
unspecified Severity low
: ---
: ---
Assigned To: packaging-team-maint
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-11-11 13:44 EST by Mike
Modified: 2015-11-18 08:51 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-11-18 08:51:25 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Mike 2015-11-11 13:44:01 EST
Description of problem:
After uninstalling libidn from my system, I could no longer use dnf.

Version-Release number of selected component (if applicable):
dnf - 
Name        : dnf
Version     : 1.1.3
Release     : 1.fc23
Architecture: noarch

libidn - 
Name        : libidn
Version     : 1.32
Release     : 1.fc23
Architecture: x86_64


How reproducible:
Every time. Just remove the libidn package, and dnf will fail.

Steps to Reproduce:
1. Uninstall libidn - sudo dnf remove libidn
2. Attempt to use dnf again, and it will fail


Actual results:

$ sudo dnf install unrar unzip

Traceback (most recent call last):
  File "/bin/dnf", line 34, in <module>
    from dnf.cli import main
  File "/usr/lib/python3.4/site-packages/dnf/__init__.py", line 31, in <module>
    import dnf.base
  File "/usr/lib/python3.4/site-packages/dnf/base.py", line 26, in <module>
    from dnf.comps import CompsQuery
  File "/usr/lib/python3.4/site-packages/dnf/comps.py", line 29, in <module>
    import dnf.util
  File "/usr/lib/python3.4/site-packages/dnf/util.py", line 31, in <module>
    import librepo
  File "/usr/lib64/python3.4/site-packages/librepo/__init__.py", line 1001, in <module>
    import librepo._librepo
ImportError: libidn.so.11: cannot open shared object file: No such file or directory


Expected results:

$ sudo dnf install unrar unzip
Last metadata expiration check performed 0:52:07 ago on Wed Nov 11 10:50:26 2015.
Package unrar-5.2.3-1.fc22.x86_64 is already installed, skipping.
Package unzip-6.0-23.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!


Additional info:

Was removing some unwanted / unneeded apps from my new Fedora 23 install, and wanted to remove rhythmbox. Uninstalled rhythmbox, and along with it being removed, it pulled libidn as no-longer needed.
Comment 1 Michael Mráka 2015-11-12 06:13:39 EST
Reproducer does not work:

# dnf remove libidn
Dependencies resolved.
Error: The operation would result in removing the following protected packages: dnf, systemd.

Libidn *is* required by dnf (recursively dnf -> librepo -> libcurl -> libidn).


Please attach output of 'dnf history info libidn' to show how it was installed/removed.
Comment 2 Mike 2015-11-12 10:03:17 EST
So, from the initial attempt of running sudo dnf history info libidn:

 $ sudo dnf history info libidn
Last metadata expiration check performed 0:43:01 ago on Thu Nov 12 07:09:53 2015.
Transaction ID : 41
Begin time     : Wed Nov 11 11:02:14 2015
Begin rpmdb    : 3247:ca8318dd87688a66a77e3b79efdee27dfc1f43d8
End time       :            11:02:22 2015 (8 seconds)
End rpmdb      : 3239:b9b70764aec6d727f3d91e76a65bc71c448b9337
User           : MikeDawg <mikedawg>
Return-Code    : Success
Transaction performed with:
    Installed     dnf-1.1.3-1.fc23.noarch        (unknown)
    Installed     rpm-4.13.0-0.rc1.6.fc23.x86_64 @updates
Packages Altered:
    Erase libgpod-0.8.3-10.fc23.x86_64        (unknown)
Traceback (most recent call last):
  File "/bin/dnf", line 35, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.4/site-packages/dnf/cli/main.py", line 198, in user_main
    errcode = main(args)
  File "/usr/lib/python3.4/site-packages/dnf/cli/main.py", line 84, in main
    return _main(base, args)
  File "/usr/lib/python3.4/site-packages/dnf/cli/main.py", line 136, in _main
    cli.run()
  File "/usr/lib/python3.4/site-packages/dnf/cli/cli.py", line 1091, in run
    return self.command.run(self.base.extcmds)
  File "/usr/lib/python3.4/site-packages/dnf/cli/commands/__init__.py", line 1217, in run
    ret = self.output.historyInfoCmd(extcmds)
  File "/usr/lib/python3.4/site-packages/dnf/cli/output.py", line 1535, in historyInfoCmd
    self._historyInfoCmd(tid, pats)
  File "/usr/lib/python3.4/site-packages/dnf/cli/output.py", line 1673, in _historyInfoCmd
    self.historyInfoCmdPkgsAltered(old, pats)
  File "/usr/lib/python3.4/site-packages/dnf/cli/output.py", line 1748, in historyInfoCmdPkgsAltered
    x, m, u = dnf.yum.packages.parsePackages([hpkg], pats)
  File "/usr/lib/python3.4/site-packages/dnf/yum/packages.py", line 76, in parsePackages
    exactmatch.update(pkgdict[command])
TypeError: unhashable type: 'YumHistoryPackageState'



------

So, I attempted to re-install rhythmbox, and then try removing it again, to see if I could get it to replicate, and it doesn't look like it will replicate:

 $ sudo dnf remove rhythmbox
Dependencies resolved.
=============================================================================================================================================================================================================================================
 Package                                                        Arch                                                Version                                                       Repository                                            Size
=============================================================================================================================================================================================================================================
Removing:
 libgpod                                                        x86_64                                              0.8.3-10.fc23                                                 @fedora                                              897 k
 libmx                                                          x86_64                                              1.4.7-16.fc23                                                 @fedora                                              985 k
 media-player-info                                              noarch                                              22-1.fc23                                                     @fedora                                              141 k
 python3-beaker                                                 noarch                                              1.5.4-11.fc23                                                 @fedora                                              247 k
 python3-mako                                                   noarch                                              1.0.1-2.fc23                                                  @fedora                                              556 k
 rhythmbox                                                      x86_64                                              3.2.1-3.fc23                                                  @fedora                                               15 M
 sg3_utils-libs                                                 x86_64                                              1.41-2.fc23                                                   @fedora                                              184 k

Transaction Summary
=============================================================================================================================================================================================================================================
Remove  7 Packages

Installed size: 18 M
Is this ok [y/N]:


------

However, when going back to the logs, of when I originally remove rhythmbox, here is the dnf.log file:

Nov 11 11:02:15 INFO Erased: rhythmbox-3.2.1-3.fc23.x86_64
Nov 11 11:02:15 INFO Erased: rhythmbox-3.2.1-3.fc23.x86_64
Nov 11 11:02:17 INFO Erased: python3-mako-1.0.1-2.fc23.noarch
Nov 11 11:02:17 INFO Erased: python3-mako-1.0.1-2.fc23.noarch
Nov 11 11:02:17 INFO Erased: python3-beaker-1.5.4-11.fc23.noarch
Nov 11 11:02:17 INFO Erased: python3-beaker-1.5.4-11.fc23.noarch
Nov 11 11:02:17 INFO Erased: media-player-info-22-1.fc23.noarch
Nov 11 11:02:17 INFO Erased: media-player-info-22-1.fc23.noarch
Nov 11 11:02:18 INFO Erased: libgpod-0.8.3-10.fc23.x86_64
Nov 11 11:02:18 INFO Erased: libgpod-0.8.3-10.fc23.x86_64
Nov 11 11:02:20 INFO Erased: sg3_utils-libs-1.41-2.fc23.x86_64
Nov 11 11:02:20 INFO Erased: sg3_utils-libs-1.41-2.fc23.x86_64
Nov 11 11:02:20 INFO Erased: libmx-1.4.7-16.fc23.x86_64
Nov 11 11:02:20 INFO Erased: libmx-1.4.7-16.fc23.x86_64
Nov 11 11:02:21 INFO Erased: libidn-1.32-1.fc23.x86_64
Nov 11 11:02:21 INFO Erased: libidn-1.32-1.fc23.x86_64
Comment 3 Michal Luscon 2015-11-18 08:51:25 EST
See the last comment of #1222812.

*** This bug has been marked as a duplicate of bug 1222812 ***

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