Provided by: dnf-plugins-core_4.3.1-3_all bug

NAME

       yum-versionlock.conf - redirecting to DNF versionlock Plugin

DESCRIPTION

       versionlock  is  a  plugin  that  takes  a  set of names and versions for packages and excludes all other
       versions of those packages. This allows you to protect packages from being  updated  by  newer  versions.
       Alternately,  it accepts a specific package version to exclude from updates, e.g. for when it's necessary
       to skip a specific release of a package that has known issues.

       The plugin provides a command versionlock which allows you to view and edit the list of  locked  packages
       easily.

       The  plugin  will  walk  each  line  of  the  versionlock file, and parse out the name and version of the
       package. It will then exclude any package by that name that doesn't match  one  of  the  versions  listed
       within  the  file.  This is basically the same as using dnf --exclude for the package name itself (as you
       cannot exclude installed packages), but dnf will still see the versions you have  installed/versionlocked
       as available so that dnf reinstall will still work, etc.

       It  can  also  work in the opposite way, like a fast exclude, by prefixing a '!' character to the version
       recorded in the lock list file. This specifically excludes a package that matches the version exactly.

       Note the versionlock plugin does not apply any excludes in non-transactional operations  like  repoquery,
       list, info, etc.

SYNOPSIS

       dnf versionlock [options] [add|exclude|list|delete|clear] [<package-name-spec>]

ARGUMENTS

       <package-name-spec>
              Package spec to lock or exclude.

SUBCOMMANDS

       dnf versionlock add <package-name-spec>
              Add  a  versionlock  for  all available packages matching the spec. It means that only versions of
              packages represented by <package-name-spec> will be available for  transaction  operations.   Each
              <package-name-spec> is converted to concrete NEVRAs which are used for locking. The NEVRAs to lock
              to are first searched among installed packages and then  (if  none  is  found)  in  all  currently
              available packages.

              Examples:

                 Locking a package to the version installed:

                     $ dnf repoquery --installed bash
                     bash-0:5.0.7-1.fc30.x86_64

                     $ dnf repoquery bash
                     bash-0:5.0.2-1.fc30.i686
                     bash-0:5.0.2-1.fc30.x86_64
                     bash-0:5.0.7-1.fc30.i686
                     bash-0:5.0.7-1.fc30.x86_64

                     $ dnf versionlock add bash
                     Adding versionlock on: bash-0:5.0.7-1.fc30.*

                 Locking not installed package to any of available versions:

                     $ dnf repoquery --installed mutt

                     $ dnf repoquery mutt
                     mutt-5:1.11.4-1.fc30.x86_64
                     mutt-5:1.12.1-3.fc30.x86_64

                     $ dnf versionlock add mutt
                     Adding versionlock on: mutt-5:1.11.4-1.fc30.*
                     Adding versionlock on: mutt-5:1.12.1-3.fc30.*

              NOTE:
                 Be careful when adding specific versions

                 If  you  add  a  package  specifying a version with dnf versionlock mutt-5:1.11.4-1.fc30.x86_64
                 then, if you run dnf versionlock add mutt versionlock will not add mutt-5:1.12.1-3.fc30.x86_64.

       dnf versionlock exclude <package-name-spec>
              Add an exclude (within  versionlock) for the available packages matching the spec. It  means  that
              packages represented by <package-name-spec> will be excluded from transaction operations.

       dnf versionlock list or dnf versionlock
              List the current versionlock entries.

       dnf versionlock delete <package-name-spec>
              Remove any matching versionlock entries.

       dnf versionlock clear
              Remove all versionlock entries.

OPTIONS

       All general DNF options are accepted, see Options in dnf(8) for details.

       --raw  Do  not  resolve  <package-name-spec>  to  NEVRAs  to  find  specific  version to lock to. Instead
              <package-name-spec> are used as they are. This enables locking to not yet  available  versions  of
              the package.  For example you may want to keep the bash package on major version 5 and consume any
              future updates as far as they keep the major version:

                 $ dnf versionlock add --raw 'bash-5.*'
                 Adding versionlock on: bash-5.*

CONFIGURATION

       /etc/dnf/plugins/versionlock.conf

       The minimal content of conf file should contain main sections with enabled and locklist parameters.

       locklist
              This option is a string that points to the file which has the versionlock information in it.  Note
              that  the  file  has  to  exist (or the versionlock plugin will make dnf exit). However, it can be
              empty.

              The file takes entries in the format of <package-name-spec>  (optionally  prefixed  with  '!'  for
              excludes).  See Specifying packages in dnf(8) for details.

NOTES

       A specified package does not have to exist within the available cache of repository data to be considered
       valid for locking or exclusion. This is by design, to accommodate use cases such as a presently  disabled
       repository. However, a package must exist in the repository cache when the add or exclude subcommands are
       invoked for it.

AUTHOR

       See AUTHORS in your Core DNF Plugins distribution

COPYRIGHT

       2023, Red Hat, Licensed under GPLv2+