[yum] update to latest HEAD.

James Antill james at fedoraproject.org
Fri Apr 19 18:50:11 UTC 2013


commit 1527137acf9d4b4416da0a6cdb19cfdb9d217b37
Author: James Antill <james at and.org>
Date:   Fri Apr 19 14:50:02 2013 -0400

    update to latest HEAD.
    
    - A couple of fixes for yum-cron using security.
    - Add documentation for updateinfo merge.

 yum-HEAD.patch |  220 +++++++++++++++++++++++++++++++++++++++++++++----------
 yum.spec       |    7 ++-
 2 files changed, 186 insertions(+), 41 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index 4ee5a92..5b69994 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -2598,10 +2598,10 @@ index 0000000..ad24788
 +    generateAll(os.getcwd(), os.getcwd())
 diff --git a/docs/yum-cron.8 b/docs/yum-cron.8
 new file mode 100644
-index 0000000..4d01a5a
+index 0000000..2af059d
 --- /dev/null
 +++ b/docs/yum-cron.8
-@@ -0,0 +1,49 @@
+@@ -0,0 +1,50 @@
 +.\" yum-cron - cron interface for yum
 +.TH "yum-cron" "8" ""  "Nick Jacek" ""
 +.SH "NAME"
@@ -2631,7 +2631,8 @@ index 0000000..4d01a5a
 +
 +.SH "FILES"
 +.nf
-+/etc/yum-cron.conf
++/etc/yum/yum-cron.conf
++/etc/yum/yum-cron-hourly.conf
 +.fi 
 +
 +.PP
@@ -2652,10 +2653,19 @@ index 0000000..4d01a5a
 + the mailing list, yum at lists.baseurl.org, or consult bugzilla.
 +.fi
 diff --git a/docs/yum.8 b/docs/yum.8
-index 1a8202a..0af27bb 100644
+index 1a8202a..2980c07 100644
 --- a/docs/yum.8
 +++ b/docs/yum.8
-@@ -35,6 +35,8 @@ gnome\-packagekit application\&.
+@@ -25,6 +25,8 @@ gnome\-packagekit application\&.
+ .br 
+ .I \fR * update-to [package1] [package2] [\&.\&.\&.]
+ .br 
++.I \fR * minimal-update [package1] [package2] [\&.\&.\&.]
++.br 
+ .I \fR * check\-update
+ .br 
+ .I \fR * upgrade [package1] [package2] [\&.\&.\&.] 
+@@ -35,6 +37,8 @@ gnome\-packagekit application\&.
  .br
  .I \fR * remove | erase package1 [package2] [\&.\&.\&.]
  .br 
@@ -2664,7 +2674,7 @@ index 1a8202a..0af27bb 100644
  .I \fR * list [\&.\&.\&.]
  .br 
  .I \fR * info [\&.\&.\&.]
-@@ -43,7 +45,7 @@ gnome\-packagekit application\&.
+@@ -43,7 +47,7 @@ gnome\-packagekit application\&.
  .br  
  .I \fR * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
  .br
@@ -2673,7 +2683,7 @@ index 1a8202a..0af27bb 100644
  .br
  .I \fR * groups  [\&.\&.\&.]
  .br
-@@ -52,6 +54,7 @@ gnome\-packagekit application\&.
+@@ -52,6 +56,7 @@ gnome\-packagekit application\&.
  .I \fR * shell [filename]
  .br
  .I \fR * resolvedep dep1 [dep2] [\&.\&.\&.] 
@@ -2681,7 +2691,7 @@ index 1a8202a..0af27bb 100644
  .br
  .I \fR * localinstall rpmfile1 [rpmfile2] [\&.\&.\&.] 
      (maintained for legacy reasons only - use install)
-@@ -67,9 +70,15 @@ gnome\-packagekit application\&.
+@@ -67,9 +72,17 @@ gnome\-packagekit application\&.
  .br
  .I \fR * repolist [all|enabled|disabled] 
  .br
@@ -2695,10 +2705,12 @@ index 1a8202a..0af27bb 100644
 +.I \fR * history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats] 
 +.br
 +.I \fR * load-transaction [txfile]
++.br
++.I \fR * updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates | exclude-all | check-running-kernel]
  .br
  .I \fR * check
  .br 
-@@ -86,14 +95,20 @@ Is used to install the latest version of a package or
+@@ -86,14 +99,20 @@ Is used to install the latest version of a package or
  group of packages while ensuring that all dependencies are
  satisfied\&.  (See \fBSpecifying package names\fP for more information) 
  If no package matches the given package name(s), they are assumed to be a shell 
@@ -2723,7 +2735,7 @@ index 1a8202a..0af27bb 100644
  .IP 
  .IP "\fBupdate\fP"
  If run without any packages, update will update every currently
-@@ -111,7 +126,7 @@ changes, for example: upgrading from somelinux 8.0 to somelinux 9.
+@@ -111,7 +130,7 @@ changes, for example: upgrading from somelinux 8.0 to somelinux 9.
  
  Note that "\fBupdate\fP" works on installed packages first, and only if there
  are no matches does it look for available packages. The difference is most
@@ -2732,7 +2744,19 @@ index 1a8202a..0af27bb 100644
  "\fBupdate\fP foo" if foo-1-2 is installed. You can use the "\fBupdate-to\fP"
  if you'd prefer that nothing happen in the above case.
  .IP 
-@@ -158,7 +173,30 @@ the "install" command\&.(See \fBSpecifying package names\fP for more information
+@@ -119,6 +138,11 @@ if you'd prefer that nothing happen in the above case.
+ This command works like "\fBupdate\fP" but always specifies the version of the
+ package we want to update to.
+ .IP 
++.IP "\fBupdate-minimal\fP"
++This works like the update command, but if you have the package foo-1
++installed and have foo-2 (bugfix) and foo-3 (enhancement) available with
++updateinfo.xml then update-minimal --bugfix will update you to foo-2.
++.IP 
+ .IP "\fBcheck\-update\fP"
+ Implemented so you could know if your machine had any updates that needed to
+ be applied without running it interactively. Returns exit value of 100 if
+@@ -158,7 +182,30 @@ the "install" command\&.(See \fBSpecifying package names\fP for more information
  
  Note that "yum" is included in the protected_packages configuration, by default.
  So you can't accidentally remove yum itself.
@@ -2747,9 +2771,9 @@ index 1a8202a..0af27bb 100644
 +are also a few specific remove commands "\fBremove-n\fP", "\fBremove-na\fP"
 +and "\fBremove-nevra\fP". These only work on package names, and do not process
 +wildcards etc.
- .IP 
-+.IP "\fBautoremove\fP"
 +.IP 
++.IP "\fBautoremove\fP"
+ .IP 
 +With one or more arguments this command works like running the "\fBremove\fP"
 +command with the clean_requirements_on_remove turned on. However you can also
 +specify no arguments, at which point it tries to remove any packages that
@@ -2763,7 +2787,7 @@ index 1a8202a..0af27bb 100644
  .IP "\fBlist\fP"
  Is used to list various information about available
  packages; more complete details are available in the \fIList Options\fP
-@@ -191,7 +229,8 @@ the \fIClean Options\fP section below\&.
+@@ -191,7 +238,8 @@ the \fIClean Options\fP section below\&.
  .IP 
  .IP "\fBmakecache\fP"
  Is used to download and make usable all the metadata for the currently enabled
@@ -2773,7 +2797,7 @@ index 1a8202a..0af27bb 100644
  .IP 
  .IP "\fBgroups\fP"
  A command, new in 3.4.2, that collects all the subcommands that act on groups together.
-@@ -209,10 +248,12 @@ installed.
+@@ -209,10 +257,12 @@ installed.
  "\fBgroup list\fP" is used to list the available groups from all \fByum\fP repos. Groups are marked
  as "installed" if all mandatory packages are installed, or if a group doesn't
  have any mandatory packages then it is installed if any of the optional or
@@ -2790,7 +2814,7 @@ index 1a8202a..0af27bb 100644
  
  "\fBgroup remove\fP" is used to remove all of the packages in a group, unlike "groupinstall" this
  will remove everything regardless of group_package_types. It is worth pointing
-@@ -224,10 +265,37 @@ to only remove packages which aren't required by something else.
+@@ -224,10 +274,37 @@ to only remove packages which aren't required by something else.
  
  "\fBgroup info\fP" is used to give the description and package list of a group (and which type
  those packages are marked as). Note that you can use the yum-filter-data and
@@ -2829,7 +2853,7 @@ index 1a8202a..0af27bb 100644
  .IP
  .IP "\fBshell\fP"
  Is used to enter the 'yum shell', when a filename is specified the contents of
-@@ -235,12 +303,13 @@ that file is executed in yum shell mode. See \fIyum-shell(8)\fP for more info
+@@ -235,12 +312,13 @@ that file is executed in yum shell mode. See \fIyum-shell(8)\fP for more info
  .IP
  .IP "\fBresolvedep\fP"
  Is used to list packages providing the specified dependencies, at most one
@@ -2845,7 +2869,7 @@ index 1a8202a..0af27bb 100644
  reasons only.
  .IP
  .IP "\fBlocalupdate\fP"
-@@ -248,7 +317,7 @@ Is used to update the system by specifying local rpm files. Only the specified
+@@ -248,7 +326,7 @@ Is used to update the system by specifying local rpm files. Only the specified
  rpm files of which an older version is already installed will be installed,
  the remaining specified packages will be ignored.
  If required the enabled repositories will be used to resolve dependencies. Note
@@ -2854,7 +2878,7 @@ index 1a8202a..0af27bb 100644
  legacy reasons only.
  .IP
  .IP "\fBreinstall\fP"
-@@ -260,10 +329,26 @@ on groups, files, provides and filelists just like the "install" command\&.
+@@ -260,10 +338,26 @@ on groups, files, provides and filelists just like the "install" command\&.
  Will try and downgrade a package from the version currently installed to the
  previously highest version (or the specified version).
  The depsolver will not necessarily work, but if you specify all the packages it
@@ -2882,7 +2906,7 @@ index 1a8202a..0af27bb 100644
  .IP "\fBdeplist\fP"
  Produces a list of all dependencies and what packages provide those
  dependencies for the given packages. As of 3.2.30 it now just shows the latest
-@@ -291,11 +376,63 @@ then yum will ignore any repo errors and output the information it can get
+@@ -291,11 +385,63 @@ then yum will ignore any repo errors and output the information it can get
  (Eg. "yum clean all; yum -C repolist" will output something, although the
  package counts/etc. will be zeroed out).
  .IP
@@ -2948,7 +2972,7 @@ index 1a8202a..0af27bb 100644
  packages (in sorted order), and the checksum_type/checksum_data entries from
  the yumdb. Note that this rpmdb version is now also used significantly within
  yum (esp. in yum history).
-@@ -321,26 +458,33 @@ and so takes sub-commands:
+@@ -321,26 +467,33 @@ and so takes sub-commands:
  .IP "\fBhistory\fP"
  The history command allows the user to view what has happened in past
  transactions (assuming the history_record config. option is set). You can use
@@ -2988,7 +3012,7 @@ index 1a8202a..0af27bb 100644
  A (if it is not still installed), and "rollback 1" will try to remove packages
  B and C. Note that after a "rollback 1" you will have a fourth transaction,
  although the ending rpmdb version (see: yum version) should be the same in
-@@ -349,6 +493,12 @@ transactions 1 and 4.
+@@ -349,6 +502,12 @@ transactions 1 and 4.
  The addon-info command takes a transaction ID, and the packages-list command
  takes a package (with wildcards).
  
@@ -3001,12 +3025,20 @@ index 1a8202a..0af27bb 100644
  In "history list" you can change the behaviour of the 2nd column via. the
  configuration option history_list_view.
  
-@@ -371,6 +521,20 @@ end of the package column in the packages-list command).
+@@ -356,6 +515,7 @@ In "history list" output the Altered column also gives some extra information
+ if there was something not good with the transaction (this is also shown at the
+ end of the package column in the packages-list command).
+ 
++.br
+ .I \fB>\fR - The rpmdb was changed, outside yum, after the transaction.
+ .br
+ .I \fB<\fR - The rpmdb was changed, outside yum, before the transaction.
+@@ -371,7 +531,123 @@ end of the package column in the packages-list command).
  .I \fBs\fR - The transaction completed fine, but --skip-broken was enabled and had to skip some packages.
  .br
  
 +
-+.IP
+ .IP
 +.IP "\fBload-transaction\fP"
 +This command will re-load a saved yum transaction file, this allows you to
 +run a transaction on one machine and then use it on another.
@@ -3019,10 +3051,113 @@ index 1a8202a..0af27bb 100644
 +still available, if the rpmdb matches the current rpmdb, how many transaction
 +members are in the saved transaction and what the filename is.
 +
- .IP
++.IP
++.IP "\fBupdateinfo\fP"
++This command has a bunch of sub-commands to act on the updateinfo in the
++repositories. The simplest commands are:
++
++.br
++.I \fR yum updateinfo info [all | available | installed | updates]
++.br 
++.I \fR yum updateinfo list [all | available | installed | updates]
++.br 
++.I \fR yum updateinfo [summary] [all | available | installed | updates]
++.br 
++
++which all display information about the available update information relevant
++to your machine (including anything installed, if you supply "all").
++.br
++
++.br
++.I \fR "\fB* all\fP"
++Is used to display information about both install and available advisories.
++.br
++.I \fR "\fB* available\fP"
++Is used to display information about just available advisories. This is the
++default.
++.br
++.I \fR "\fB* installed\fP"
++Is used to display information about just install advisories.
++.br
++.I \fR "\fB* updates\fP"
++This is mostly the same as "available" but it only shows advisory information
++for packages that can be updated to.
++
++
++.br
++They all take as arguments:
++
++.br
++.br
++.I \fR "\fB* <advisory> [advisory...]\fP"
++Is used to display information about one or more advisories.
++
++.br
++.I \fR "\fB* <package> [package...]\fP"
++Is used to display information about one or more packages.
++
++.br
++.I \fR "\fB* bugzillas / bzs\fP"
++Is the subset of the updateinfo information, pertaining to the bugzillas.
++
++.br
++.I \fR "\fB* cves\fP"
++Is the subset of the updateinfo information, pertaining to the CVEs.
++
++.br
++.I \fR "\fB* enhancement\fP"
++Is the subset of the updateinfo information, pertaining to enhancements.
++
++.br
++.I \fR "\fB* bugfix\fP"
++Is the subset of the updateinfo information, pertaining to bugfixes.
++
++.br
++.I \fR "\fB* security / sec\fP"
++Is the subset of the updateinfo information, pertaining to security.
++
++.br
++.I \fR "\fB* recommended\fP"
++Is the subset of the updateinfo information, pertaining to recommended updates.
++
++.br
++.I \fR "\fB* new-packages\fP"
++Is the subset of the updateinfo information, pertaining to new packages. These
++are packages which weren't available at the initial release of your
++distribution.
++.br
++
++There are also three sub-commands to remove packages when using "yum shell", 
++they are:
++
++.br
++.I \fR yum updateinfo remove-pkgs-ts
++
++.br 
++.I \fR yum updateinfo exclude-updates
++
++.br 
++.I \fR yum updateinfo exclude-all
++.br 
++
++they all take the following arguments:
++
++.br
++.I \fR* [bzs=foo] [advisories=foo] [cves=foo] [security-severity=foo] [security] [bugfix]
++.br 
++
++and finally there is a command to manually check the running kernel against
++updateinfo data:
++
++.br
++.I \fR yum updateinfo check-running-kernel
++.br 
++
++.PP
  .IP "\fBcheck\fP"
  Checks the local rpmdb and produces information on any problems it finds. You
-@@ -401,6 +565,11 @@ Assume yes; assume that the answer to any question which would be asked
+ can pass the check command the arguments "dependencies" or "duplicates", to
+@@ -401,6 +677,11 @@ Assume yes; assume that the answer to any question which would be asked
  is yes\&.
  .br
  Configuration Option: \fBassumeyes\fP
@@ -3034,7 +3169,7 @@ index 1a8202a..0af27bb 100644
  .IP "\fB\-c, \-\-config=[config file]\fP" 
  Specifies the config file location - can take HTTP and FTP URLs and local file
  paths\&.
-@@ -420,7 +589,7 @@ Sets the error level to [number] Practical range 0 \- 10. 0 means print only cri
+@@ -420,7 +701,7 @@ Sets the error level to [number] Practical range 0 \- 10. 0 means print only cri
  .br
  Configuration Option: \fBerrorlevel\fP
  .IP "\fB\-\-rpmverbosity=[name]\fP" 
@@ -3043,7 +3178,7 @@ index 1a8202a..0af27bb 100644
  options are: 'critical', 'emergency', 'error', 'warn' and 'debug'.
  .br
  Configuration Option: \fBrpmverbosity\fP
-@@ -461,8 +630,13 @@ processing logic. For more information see the \fBupdate\fP command above.
+@@ -461,8 +742,13 @@ processing logic. For more information see the \fBupdate\fP command above.
  .br
  Configuration Option: \fBobsoletes\fP
  .IP "\fB\-x, \-\-exclude=package\fP"
@@ -3059,7 +3194,7 @@ index 1a8202a..0af27bb 100644
  .br
  .IP "\fB\-\-color=[always|auto|never]\fP"
  Display colorized output automatically, depending on the output terminal,
-@@ -506,7 +680,14 @@ option will corrupt your cache (and you can use $releasever in your cachedir
+@@ -506,7 +792,14 @@ option will corrupt your cache (and you can use $releasever in your cachedir
  configuration to stop this).
  .PP 
  .IP "\fB\-t, \-\-tolerant\fP"
@@ -3075,7 +3210,7 @@ index 1a8202a..0af27bb 100644
  .br
  .IP "\fB\-\-setopt=option=value\fP"
  Set any config option in yum config or repo files. For options in the global 
-@@ -523,7 +704,7 @@ version of the package\&.
+@@ -523,7 +816,7 @@ version of the package\&.
  
  The format of the output of yum list is:
  
@@ -3084,7 +3219,7 @@ index 1a8202a..0af27bb 100644
  
  .IP "\fByum list [all | glob_exp1] [glob_exp2] [\&.\&.\&.]\fP"
  List all available and installed packages\&.
-@@ -542,6 +723,10 @@ shell\-style glob and any matches are printed\&.
+@@ -542,6 +835,10 @@ shell\-style glob and any matches are printed\&.
  List the packages installed on the system that are not available in any yum
  repository listed in the config file.
  .IP
@@ -3764,10 +3899,10 @@ index 63c5ec0..0000000
 -exit $RETVAL
 diff --git a/etc/yum-cron-hourly.conf b/etc/yum-cron-hourly.conf
 new file mode 100644
-index 0000000..b17448c
+index 0000000..3d4392d
 --- /dev/null
 +++ b/etc/yum-cron-hourly.conf
-@@ -0,0 +1,68 @@
+@@ -0,0 +1,70 @@
 +[commands]
 +#  What kind of update to use:
 +# default                            = yum upgrade
@@ -3836,12 +3971,14 @@ index 0000000..b17448c
 +[base]
 +# override yum options of the same name
 +# skip_broken = True
++
++mdpolicy = group:main
 diff --git a/etc/yum-cron.conf b/etc/yum-cron.conf
 new file mode 100644
-index 0000000..3221802
+index 0000000..3fc756e
 --- /dev/null
 +++ b/etc/yum-cron.conf
-@@ -0,0 +1,68 @@
+@@ -0,0 +1,70 @@
 +[commands]
 +#  What kind of update to use:
 +# default                            = yum upgrade
@@ -3910,6 +4047,8 @@ index 0000000..3221802
 +[base]
 +# override yum options of the same name
 +# skip_broken = True
++
++mdpolicy = group:main
 diff --git a/etc/yum-cron.sysconf b/etc/yum-cron.sysconf
 deleted file mode 100644
 index 930341c..0000000
@@ -183634,10 +183773,10 @@ index 0000000..28e1964
 +- Check if we're running as root; exit nicely.
 diff --git a/yum-cron/yum-cron.py b/yum-cron/yum-cron.py
 new file mode 100755
-index 0000000..0b6af7d
+index 0000000..c62414e
 --- /dev/null
 +++ b/yum-cron/yum-cron.py
-@@ -0,0 +1,1119 @@
+@@ -0,0 +1,1120 @@
 +#!/usr/bin/python -tt
 +import os
 +import sys
@@ -183653,6 +183792,7 @@ index 0000000..0b6af7d
 +from email.mime.text import MIMEText
 +from yum.i18n import to_str, to_utf8, to_unicode, utf8_width, utf8_width_fill, utf8_text_fill
 +from yum import  _, P_
++import yum.updateinfo
 +import smtplib
 +from random import random
 +from time import sleep
@@ -184484,7 +184624,7 @@ index 0000000..0b6af7d
 +
 +
 +            if self.opts.update_cmd in ('minimal', 'minimal-security'):
-+                if not updateinfo.update_minimal(self):
++                if not yum.updateinfo.update_minimal(self):
 +                    return False
 +                self.updateinfo_filters['bugfix'] = True
 +            elif self.opts.update_cmd in ('default', 'security',
@@ -184499,10 +184639,10 @@ index 0000000..0b6af7d
 +
 +            if self.opts.update_cmd.endswith("security"):
 +                self.updateinfo_filters['security'] = True
-+                updateinfo.remove_txmbrs(self)
++                yum.updateinfo.remove_txmbrs(self)
 +            elif self.opts.update_cmd == 'minimal':
 +                self.updateinfo_filters['bugfix'] = True
-+                updateinfo.remove_txmbrs(self)
++                yum.updateinfo.remove_txmbrs(self)
 +
 +        except Exception, e:
 +            self.emitCheckFailed("%s" %(e,))
diff --git a/yum.spec b/yum.spec
index 6475d4b..9d1a3d9 100644
--- a/yum.spec
+++ b/yum.spec
@@ -41,7 +41,7 @@ BuildRequires: bash-completion
 Summary: RPM package installer/updater/manager
 Name: yum
 Version: 3.4.3
-Release: 84%{?dist}
+Release: 85%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 Source0: http://yum.baseurl.org/download/3.4/%{name}-%{version}.tar.gz
@@ -402,6 +402,11 @@ exit 0
 %endif
 
 %changelog
+* Fri Apr 19 2013 James Antill <james at fedoraproject.org> - 3.4.3-85
+- update to latest HEAD.
+- A couple of fixes for yum-cron using security.
+- Add documentation for updateinfo merge.
+
 * Thu Apr 18 2013 James Antill <james at fedoraproject.org> - 3.4.3-84
 - update to latest HEAD.
 - Move yum-security into core.


More information about the scm-commits mailing list