Do not forbid installation of

From Linuxintro

Today I want to create a terminal server based on vnc and guacamole on rackspace. For this I commissioned a SUSE 13.1 server. Now when I install KDE using yast I get a strange question:

 │Fi                                                                                                                                                     ┬ 
 │Pa                                                                Package Dependencies                                                                 │ 
 │┌─                                                                                                                                                     │ 
 ││ ┌Problems──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 ││ │pattern:kde4-13.1-13.6.1.x86_64 requires patterns-openSUSE-kde4, but this requirement cannot be provided                                          │ ┴ 
 ││ │                                                                                                                                                  │ │ 
 ││ │                                                                                                                                                  │ │ 
 ││ │                                                                                                                                                  │ │ 
 ││ │                                                                                                                                                  │ │ 
 ││ │                                                                                                                                                  │ │ 
 ││ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 ││ uninstallable providers: patterns-openSUSE-kde4-13.1-13.6.1.i586[suse]                                                                               │ 
 ││                    patterns-openSUSE-kde4-13.1-13.6.1.x86_64[suse]                                                                                   │ 
 ││                                                                                                                                                      │ 
 ││ ┌Possible Solutions────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 ││ │[ ] Following actions will be done: see below                                                                                                     │ │ 
 ││ │[ ] Following actions will be done: see below                                                                                                     │ │ 
 ││ │[ ] do not forbid installation of libqt4-x11-32bit-4.8.5-5.6.1.x86_64[suse]                                                                       │ │ 
 │└─│[ ] do not install pattern:kde4-13.1-13.6.1.x86_64                                                                                                │ │ 
 └──│[ ] break pattern:kde4-13.1-13.6.1.x86_64 by ignoring some of its dependencies                                                                    │ ┘ 
 0 o│                                                                                                                                                  │ ] 
 ┌──└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ┐ 
 │KD                                                                                                                                                     │ 
 │en┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 
 │ea│do not forbid installation of libqt4-x11-4.8.5-5.6.1.i586[suse]                                                                                   │ │ 
 │ou│do not forbid installation of hicolor-icon-theme-0.12-21.1.2.noarch[suse]                                                                         │ │ 
 │of│do not forbid installation of xdg-utils-20121008-2.2.1.noarch[suse]                                                                               │ │ 
 │  │do not install pattern:kde4-13.1-13.6.1.x86_64                                                                                                    │ │ 
 │  │                                                                                                                                                  │ │ 
 │  │                                                                                                                                                  │ │ 
 │  └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ 
 │                                                                                                                                                       │ 
 │  [OK -- Try Again]                                                                                                                           [Cancel] │ 
 └──                                                                                                                                                     ┘ 
                                                                                                                                                         

WTF? The system is proposing me to "not forbid installation of libqt4-x11"? Who forbid that at all and why?

The answer is quickly found: libqt4-x11 is "tabooed" which is indicated by three dashes in yast:

 --- │libqt4-x11-32bit            │Qt 4 GUI related libraries          │4.8.5       │           │

I want to un-taboo all packages, I want to allow me to install them all. So I have to find where the system stores the tabooed packages. No problem, I start

strace -ffe open yast2

This will start yast2 and show me every file it opens. Then in yast2 I taboo MozillaFirefox-devel and look through the files being opened by yast2.

Seems there is an interesting directory /etc/zypp. Yast2's software module is based on this zypper thingy from SUSE. And indeed this seems to be it:

tweedleburg:/etc/zypp # cat locks

type: package
match_type: exact
case_sensitive: on
solvable_name: MozillaFirefox-devel

Now back to rackspace. In their system, /etc/zypp/locks has 3624 lines, versus 6 lines in my desktop computer after disabling MozillaFirefox-devel.

After deleting the locks file with the command

rm locks

The installation of KDE works as usual.