On 9/20/19 5:00 PM, H.Merijn Brand wrote:
Short question: are there different kinds of locks available for zypper?
I have solved some of these without locks.
Here are some of the reasons I see for adding locks with zypper al.
1. I do not want software installed on my system:
I personally hate stuff like emacs and zeitgeist, and find installing it is a waste of diskspace, so I blocked them
2. I do not want an installed version to be upgraded/updated
I have locked svn to version 1.8.17, as newer versions do not work well with the svn-to-git conversion tools I use(d). As I do not have any active repository in svn and just use it to import old svn repo's and then convert them to git, I have locked svn at that version
3. I do not want some software to be removed
I still use opera-12 (next to opera-developer), so every update scheme would (and should) remove opera-12 and replace it with something more modern. Every sane user should want that, but I have specific purposes for this browser so I locked it
4. I don't want manually added rpm's to be replaced with rep rpm's
Being forced to work with Oracle, I have a specific set of versioned oracle software that is possibly also available on public (system) repositories. Due to dependencies (probably to be compliant to customer demands) I want to keep these and no other version of it
5. Stuff I build from source
Being involved with (many) open source projects, I have blocked git from installing from the repositories, as I build every version from the sources myself. Having it overwritten by updates from zypper would seriously harm my testing procedures
I install all such software into /opt ie /opt/git then have /opt/git/bin ahead of /usr/bin in my path.
6. Stuff that would conflict with stuff I build from source
Say I build and maintain "fooble" (which might not be publicly available), I might need to block the bimble34 packages that installs any part of fooble and invalidates it
Again because i'm building my software in /opt I avoid such conflicts.
7. Old versions of software needed for off-repo rpm's
There are packages that (rightfully) would be deleted using zypper dup, but that are needed for older software that is still needed on that machine and is built from source. Zypper dup would e.g. uninstall libfooble-1 as none of the packages requires it and libfooble-4 is now current. I want to keep libfooble-1 and libfooble-1-devel available to be able to build my old stuff
Again here building that version in /opt means I can have the later version for the rest of my system so that doesn't break other things.
So, there are different reasons for locking and IMHO there should be different levels of it
a. Lock to prevent installation b. Lock to update/upgrade c. Lock to downgrade d. Lock to prevent removal e. Lock to prevent removal but upgrade/downgrade is allowed f. Lock to prevent installation/removal from repo's but make zypper aware that it is installed anyway and ignore further dependencies on this product (like the above git example)
On my laptop I now have 59 locks, and on my workstations 51 and 41
Opinions?
-- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org