Bug 1280451 - libidn should be marked as a requirement for the dnf package
Summary: libidn should be marked as a requirement for the dnf package
Keywords:
Status: CLOSED DUPLICATE of bug 1222812
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 23
Hardware: All
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-11 18:44 UTC by Mike
Modified: 2015-11-18 13:51 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-11-18 13:51:25 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Mike 2015-11-11 18:44:01 UTC
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 11:13:39 UTC
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 15:03:17 UTC
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 13:51:25 UTC
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.