Bug 1148136

Summary: gpk-update-viewer uninstalls manually installed zenmap
Product: [openSUSE] openSUSE Tumbleweed Reporter: Ginko Bonsai <ginkobonsai>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: bzeller, ginkobonsai
Version: CurrentFlags: bzeller: needinfo? (ginkobonsai)
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Ginko Bonsai 2019-08-26 11:15:16 UTC
I manually installed zenmap 7.70 from the official openSUSE Leap 15.1 repository on my TW now for the nth time. Every time I then install updates with gpk-update-viewer, zenmap gets uninstalled.

I appreciate that the system thinks zenmap isn't good for me but I'd *really* like to not have to install it again every time I want to use it.

I install with YaST from this 1 Click Install link
https://software.opensuse.org/ymp/openSUSE:Leap:15.1:Update/standard/zenmap.ymp?base=openSUSE%3ALeap%3A15.1&query=zenmap
and uncheck "Remain subscribed to these repositories after installation".

Running gpk-update-viewer and clicking "Install Updates" afterwards uninstalls zenmap again.

$ grep "zenmap" /var/log/zypp/history
2019-08-11 16:42:42|install|zenmap|7.70-lp151.3.3.1|x86_64|25272:ruby.ruby2.6|http-download.opensuse.org-72925a73|0a3ef4388cfb63f8a258173629d0fa8e3716a43612d158cee90f7dd08fae0f9c|
2019-08-11 18:42:54|remove |zenmap|7.70-lp151.3.3.1|x86_64||
2019-08-15 12:48:46|install|zenmap|7.70-lp151.3.3.1|x86_64|4608:ruby.ruby2.6|http-download.opensuse.org-99b92fc0|0a3ef4388cfb63f8a258173629d0fa8e3716a43612d158cee90f7dd08fae0f9c|
2019-08-15 19:29:45|remove |zenmap|7.70-lp151.3.3.1|x86_64||
2019-08-23 14:47:47|install|zenmap|7.70-lp151.2.5|x86_64|10019:ruby.ruby2.6|http-download.opensuse.org-e8742b2a|17cfae7baa291b82fee2c6be9d9f2525b90dbbd433a01b91c478c19928b17b7c|
2019-08-24 13:33:52|remove |zenmap|7.70-lp151.2.5|x86_64||
2019-08-25 10:54:41|install|zenmap|7.70-lp151.2.5|x86_64|4967:ruby.ruby2.6|http-download.opensuse.org-aa0ae3a6|17cfae7baa291b82fee2c6be9d9f2525b90dbbd433a01b91c478c19928b17b7c|
2019-08-26 12:59:53|remove |zenmap|7.70-lp151.2.5|x86_64||

Expected behaviour: my manually installed packages don't get uninstalled by updating the system.
Comment 1 Benjamin Zeller 2019-08-26 13:41:27 UTC
Can you reproduce the same behaviour when running zypper up after installing
the zenmap package? 

If yes please restore the initial situation, then create and attach a solver testcase:

> # zypper up --debug-solver
> ...
> Generating solver test case...
> Solver test case generated successfully at /var/log/zypper.solverTestCase.

Then pack the output directory together with /var/log/zypper.log and attach it to the bugreport.

In case the testcase exceeds the 10MB limit for bugzilla uploads, you can use 'split' to divide the file into smaller pieces:
> $ cd /tmp
> $ tar cvjf zypper.solverTestCase.tar.bz2 /var/log/zypper.solverTestCase/
> $ split -b 10M --additional-suffix=-zypper.solverTestCase.tar.bz2 \
> zypper.solverTestCase.tar.bz2
The created pieces will be named like this:
> xaa-zypper.solverTestCase.tar.bz2
> xab-zypper.solverTestCase.tar.bz2
> xac-zypper.solverTestCase.tar.bz2
> ...
Comment 2 Benjamin Zeller 2019-08-26 13:42:56 UTC
Given that it is Tumbleweed you need to run
> zypper dup --debug-solver
Comment 3 Benjamin Zeller 2019-08-26 14:21:18 UTC
Actually there is no need for a testcase since this is not a bug.

The solver will remove orphaned packages when doing a dup ( the default upgrade mechanism on TW ).
You can however add a plain-dir repository to keep the package:

Just put your rpm file into a directory, e.g. /opt/mypackages
then use zypper ar to add the repository:

> zypper ar /opt/mypackages localrepo
> zypper ref

Now the package should be kept.
Comment 4 Ginko Bonsai 2019-08-28 17:00:48 UTC
Awesome, thanks a LOT for the tip! That's really useful to know :-)