PDA

View Full Version : yast (or yast2) --gtk missing from fresh install of SLED 12



susecmail
10-Apr-2015, 11:15
How does one install the missing --gtk portion for yast(2)? I've searched the software, however, I do no see anything obvious. I dislike the Qt view of Software Management.

mikewillis
10-Apr-2015, 13:05
How does one install the missing --gtk portion for yast(2)? I've searched the software, however, I do no see anything obvious. I dislike the Qt view of Software Management.
Short answer: You don't, it's not included in SLED 12 or the SDK. If you really dislike the QT view of Software Management, use zypper ;)

Longer answer:

It seems odd that only the QT view is available SLED 12 given that the default Desktop Environment is GNOME and KDE isn't included. The only way I can see to get GTK view involves getting some stuff from the openSUSE Build Service and building a package from source.

If you haven't already, add the SLE SDK 12. The ISO can be found at https://download.suse.com/ or there's tick box in YaST > Customer Centre Configuration (assuming the machine is registered).

Install packages boost-devel cmake libyui-devel gcc-c++ gtk3-devel pkg-config rpm-build

Download the source rpm http://download.opensuse.org/repositories/YaST:/Head/SLE_12/src/libyui-gtk-2.44.5-10.1.src.rpm and as a regular user install it and build it.


$ rpm -ivh libyui-gtk-2.44.5-10.1.src.rpm
$ rpmbuild -bb libyui-gtk-2.44.5-10.1.src.rpm

Install the resulting rpm which, assuming you're using 64bit, will be called libyui-gtk6-2.44.5-10.1.x86_64.rpm

Download http://download.opensuse.org/repositories/YaST:/Head/SLE_12/x86_64/libyui-gtk-pkg6-2.43.2-7.1.x86_64.rpm and install it.

Easier to put up with the QT look ;)

susecmail
13-Apr-2015, 08:29
First, thank you! I detest the Qt front-end, not because of the look, but because of its functionality; for example, in the Gtk view, it automatically shows every package available right off the bat in "Patterns", which is not the case with the Qt version. So, in Qt I go to the "Package Groups" and it still does not list everything that I have available in my repositories; only in the "Repositories" view or by searching (either in GUI or cli) can I finally find everything. That's a lot of work when the Gtk version does it as soon as I open "Software Management" from YaST. When I know what I want to install, I use zypper on the command line; however, I browse the repositories like people used to browse magazines :). If I see something I may want to try out or that I like, I will install it, without knowing about it beforehand.

Second, I tried to give you a star for such a great post, but it says I have to spread "Reputation around". Not sure what that means: if a post is useful, why cannot I not mark it as such, regardless of who put it out there, to thank that person?

mikewillis
13-Apr-2015, 12:49
First, thank you! I detest the Qt front-end, not because of the look, but because of its functionality; for example, in the Gtk view, it automatically shows every package available right off the bat in "Patterns", which is not the case with the Qt version. So, in Qt I go to the "Package Groups" and it still does not list everything that I have available in my repositories; only in the "Repositories" view or by searching (either in GUI or cli) can I finally find everything. That's a lot of work when the Gtk version does it as soon as I open "Software Management" from YaST. When I know what I want to install, I use zypper on the command line; however, I browse the repositories like people used to browse magazines :). If I see something I may want to try out or that I like, I will install it, without knowing about it beforehand.


As far as I can tell, in the QT view, Package Groups > All packages does show all the packages in the repos.

Using the QT view, I went in to YaST > Software Management then Package Groups > All packages. I right clicked on one of the packages in the list and selected 'Export This List To Text File...' I exported it to /tmp/pkglist.txt. Then I compared the packages listed in it to the output of 'zypper packages'. Since some of the packages are updates a bit of scripting is needed to eliminate duplicate package names. Also need to remove headers (the first four lines of the zypper output and the first two lines of pkglist.txt) and also I removed leading/trailing whitespace so I could use diff.


mike@linux-2pyb:/tmp> zypper packages | tail -n +5 |cut -d '|' -f 3 | sed 's/^\s*//;s/\s*$//' | sort | uniq > all_packages_from_zypper.txt
mike@linux-2pyb:/tmp> tail -n +3 pkglist.txt | cut -d ']' -f 2 | cut -d '|' -f 1 | sed 's/^\s*//;s/\s*$//' | sort | uniq > all_packages_from_yast.txt
mike@linux-2pyb:/tmp> wc all_packages_from_*
5575 5575 87124 all_packages_from_yast.txt
5575 5575 87124 all_packages_from_zypper.txt
11150 11150 174248 total
mike@linux-2pyb:/tmp> diff all_packages_from_yast.txt all_packages_from_zypper.txt
mike@linux-2pyb:/tmp>

The content of all_packages_from_yast.txt and all_packages_from_zypper.txt is identical. As far as I can figure it, that means the same packages are listed in YaST as are listed in the output of 'zypper packages', therefore YaST lists all the packages.


I found a discussion about the absence of the GTK view in openSUSE 13.2. It could be if it's not in SLED 12 for the same reason. Or it could be for an entirely different reason.
https://forums.opensuse.org/showthread.php/501587-GTK-software-manager-gone-for-13-2





Second, I tried to give you a star for such a great post, but it says I have to spread "Reputation around". Not sure what that means: if a post is useful, why cannot I not mark it as such, regardless of who put it out there, to thank that person?
I've no idea why it says that. I'll see if I can find out.

mikewillis
15-Apr-2015, 10:03
The GTK view is missing in SLED 12 for same reasons it's missing from openSUSE 13.2
https://forums.opensuse.org/showthread.php/501587-GTK-software-manager-gone-for-13-2?p=2669167#post2669167



Your inability to give me (much appreciated) reputation points is due to forum configuration which prevents you giving reputation points to someone you've previously given them until you've also given them to someone else. This configuration is in place to prevent person A repeatedly giving only person B reputation points, thus boosting B's reputation disproportionately high. Which is fair enough. It's not perfect, but I don't think any of the alternatives are.