diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..137fcee --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +yum-utils-1.1.27.tar.gz +yum-utils-1.1.28.tar.gz +/yum-utils-1.1.29.tar.gz +/yum-utils-1.1.30.tar.gz +/yum-utils-1.1.31.tar.gz diff --git a/auto-update-debuginfo.patch b/auto-update-debuginfo.patch new file mode 100644 index 0000000..5c3e5aa --- /dev/null +++ b/auto-update-debuginfo.patch @@ -0,0 +1,24 @@ +From: Zdeněk Pavlas +Date: Thu, 11 Aug 2011 12:34:42 +0000 (+0200) +Subject: Fix check for repos in opts, in auto-update-debuginfo plugin. BZ 729964. +X-Git-Url: http://yum.baseurl.org/gitweb?p=yum-utils.git;a=commitdiff_plain;h=efb3c7b3fb96523bb5997c163bf4e33ab897f1b8 + + Fix check for repos in opts, in auto-update-debuginfo plugin. BZ 729964. + + Also hasattr(None, 'repos') == False, so we don't need +to check for None explicitly. +--- + +diff --git a/plugins/auto-update-debuginfo/auto-update-debuginfo.py b/plugins/auto-update-debuginfo/auto-update-debuginfo.py +index 39993ad..9ff927c 100644 +--- a/plugins/auto-update-debuginfo/auto-update-debuginfo.py ++++ b/plugins/auto-update-debuginfo/auto-update-debuginfo.py +@@ -38,7 +38,7 @@ def _check_man_disable(mdrs, di): + def enable_debuginfo_repos(yb, conduit): + mdrs = set() + opts, args = conduit.getCmdLine() +- if opts is not None and hasattr(opts.repos) : ++ if hasattr(opts, 'repos'): + for opt, repoexp in opts.repos: + if opt == '--disablerepo': + mdrs.add(repoexp) diff --git a/dead.package b/dead.package deleted file mode 100644 index 85a5025..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Superseded by DNF. For details, see: https://fedoraproject.org/wiki/Changes/Retire_YUM_3 diff --git a/sources b/sources new file mode 100644 index 0000000..09a2534 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +b2859b89321b98f2581243536e1b4993 yum-utils-1.1.31.tar.gz diff --git a/yum-utils-HEAD.patch b/yum-utils-HEAD.patch new file mode 100644 index 0000000..ce921f9 --- /dev/null +++ b/yum-utils-HEAD.patch @@ -0,0 +1,3250 @@ +diff --git a/COPYING b/COPYING +index e77696a..d159169 100644 +--- a/COPYING ++++ b/COPYING +@@ -1,12 +1,12 @@ +- GNU GENERAL PUBLIC LICENSE +- Version 2, June 1991 ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 + +- Copyright (C) 1989, 1991 Free Software Foundation, Inc. +- 675 Mass Ave, Cambridge, MA 02139, USA ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +- Preamble ++ Preamble + + The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General Public +@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This + General Public License applies to most of the Free Software + Foundation's software and to any other program whose authors commit to + using it. (Some other Free Software Foundation software is covered by +-the GNU Library General Public License instead.) You can apply it to ++the GNU Lesser General Public License instead.) You can apply it to + your programs, too. + + When we speak of free software, we are referring to freedom, not +@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and + modification follow. +- +- GNU GENERAL PUBLIC LICENSE ++ ++ GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions: + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) +- ++ + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the Program, + and can be reasonably considered independent and separate works in +@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent + access to copy the source code from the same place counts as + distribution of the source code, even though third parties are not + compelled to copy the source along with the object code. +- ++ + 4. You may not copy, modify, sublicense, or distribute the Program + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense or distribute the Program is +@@ -225,7 +225,7 @@ impose that choice. + + This section is intended to make thoroughly clear what is believed to + be a consequence of the rest of this License. +- ++ + 8. If the distribution and/or use of the Program is restricted in + certain countries either by patents or by copyrighted interfaces, the + original copyright holder who places the Program under this License +@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals + of preserving the free status of all derivatives of our free software and + of promoting the sharing and reuse of software generally. + +- NO WARRANTY ++ NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY + FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + +- END OF TERMS AND CONDITIONS +- +- How to Apply These Terms to Your New Programs ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest + possible use to the public, the best way to achieve this is to make it +@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least + the "copyright" line and a pointer to where the full notice is found. + + +- Copyright (C) 19yy ++ Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -303,16 +303,16 @@ the "copyright" line and a pointer to where the full notice is found. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + +- You should have received a copy of the GNU General Public License +- along with this program; if not, write to the Free Software +- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ You should have received a copy of the GNU General Public License along ++ with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Also add information on how to contact you by electronic and paper mail. + + If the program is interactive, make it output a short notice like this + when it starts in an interactive mode: + +- Gnomovision version 69, Copyright (C) 19yy name of author ++ Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. +@@ -335,5 +335,5 @@ necessary. Here is a sample; alter the names: + This General Public License does not permit incorporating your program into + proprietary programs. If your program is a subroutine library, you may + consider it more useful to permit linking proprietary applications with the +-library. If this is what you want to do, use the GNU Library General ++library. If this is what you want to do, use the GNU Lesser General + Public License instead of this License. +diff --git a/debuginfo-install.py b/debuginfo-install.py +index 177c6c3..27d19ac 100755 +--- a/debuginfo-install.py ++++ b/debuginfo-install.py +@@ -7,11 +7,11 @@ + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU Library General Public License for more details. ++# GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + # Copyright 2007 Seth Vidal + + import sys +diff --git a/docs/Makefile b/docs/Makefile +index d01c1e4..13ea4e7 100644 +--- a/docs/Makefile ++++ b/docs/Makefile +@@ -1,7 +1,7 @@ + DOCS = repoquery package-cleanup repo-rss yumdownloader yum-builddep yum-changelog reposync \ + yum-list-data yum-filter-data yum-verify yum-utils yum-aliases yum-debug-dump yum-versionlock \ + yum-groups-manager debuginfo-install repodiff yum-fs-snapshot \ +- show-installed show-changed-rco ++ show-installed show-changed-rco yum-debug-restore + DOCS5 = yum-changelog.conf yum-versionlock.conf yum-fs-snapshot.conf + DOCS8 = yum-security yum-complete-transaction yumdb + +diff --git a/docs/package-cleanup.1 b/docs/package-cleanup.1 +index 867cf4d..0405e09 100644 +--- a/docs/package-cleanup.1 ++++ b/docs/package-cleanup.1 +@@ -14,7 +14,7 @@ Use alternative config file (default is /etc/yum.conf). + .IP "\fB\-h, \-\-help\fP" + Help; display a help message and then quit\&. + .IP "\fB\-q, \-\-quiet\fP" +-Print out nothing unecessary. ++Print out nothing unnecessary. + .IP "\fB\-v, \-\-version\fP" + Report program version and exit. + .IP "\fB\-y\fP" +@@ -36,6 +36,8 @@ Scan for duplicates in the local RPM database. + .IP "\fB\-\-cleandupes\fP" + Scan for duplicates in the local RPM database and clean out the + older versions. ++.IP "\fB\-\-count \fP" ++Number of duplicate/kernel packages to keep on the system (default 2) + .PP + .SH "LEAVES OPTIONS" + .IP "\fB\-\-all\fP" +@@ -49,8 +51,6 @@ When listing leaf nodes do not list development packages. + When listing leaf nodes do not list packages with files in bin directories. + .PP + .SH "OLDKERNELS OPTIONS" +-.IP "\fB\-\-count \fP" +-Number of kernel packages to keep on the system (default 2) + .IP "\fB\-\-keepdevel\fP" + Do not remove kernel-devel packages when removing kernels + +diff --git a/docs/repodiff.1 b/docs/repodiff.1 +index c421c5d..ef2a373 100644 +--- a/docs/repodiff.1 ++++ b/docs/repodiff.1 +@@ -11,9 +11,11 @@ repositories. \fBNote\fP that by default only source packages are compared. + .PP + .SH "GENERAL OPTIONS" + .IP "\fB\-\-old, -o\fP" +-Add a repo. as an old repo. ++Add a repo. as an old repo. Note that if you prefix the url with "mirror:" then ++the following url is treated as a mirror and not a baseurl. + .IP "\fB\-\-new, -n\fP" +-Add a repo. as an new repo. ++Add a repo. as an new repo. Note that if you prefix the url with "mirror:" then ++the following url is treated as a mirror and not a baseurl. + .IP "\fB\-\-archlist, -a\fP" + Add architectures to change the default from just comparing source packages. + Note that if you want the same as a native +@@ -21,10 +23,14 @@ Note that if you want the same as a native + from earlier versions where you needed to specify + "x86_64,athlon,i686,i586,i486,i386,noarch" and you still got "src"). + .IP "\fB\-\-size, -s\fP" +-Ouput additional data about the size of the changes. ++Output additional data about the size of the changes. + .IP "\fB\-\-compare-arch\fP" + Normally packages are just compared based on their name, this flag makes the + comparison also use the arch. So foo.i386 and foo.x86_64 are different. ++.IP "\fB\-\-simple\fP" ++Output a simple one line message for modified packages. ++.IP "\fB\-\-downgrade\fP" ++Split the data for modified packages between upgraded and downgraded packages. + .SH "EXAMPLES" + .IP "Compare source pkgs in two local repos:" + \fBrepodiff --old=/tmp/repo-old --new=/tmp/repo-new\fP +@@ -32,6 +38,8 @@ comparison also use the arch. So foo.i386 and foo.x86_64 are different. + \fBrepodiff -a x86_64 --old=http://example.com/repo1-old --old=/tmp/repo-old --new=http://example.com/repo1-new --new=/tmp/repo-new\fP + .IP "Compare x86_64 compat. binary pkgs, but also compare arch:" + \fBrepodiff -a x86_64 --compare-arch --old=http://example.com/repo1-old --old=/tmp/repo-old --new=http://example.com/repo1-new --new=/tmp/repo-new\fP ++.IP "Compare two releases of Fedora (15 => 16):" ++\fBrepodiff --old='mirror:https://mirrors.fedoraproject.org/metalink?repo=fedora-source-15&arch=i386' --new='mirror:https://mirrors.fedoraproject.org/metalink?repo=fedora-source-16&arch=i386' --size --simple --downgrade\fP + .PP + + .SH "SEE ALSO" +diff --git a/docs/repoquery.1 b/docs/repoquery.1 +index f5a8c5d..fe842f5 100644 +--- a/docs/repoquery.1 ++++ b/docs/repoquery.1 +@@ -130,7 +130,8 @@ package names). This is the default. + When used with --whatrequires, search for dependencies only exactly as given. + This is effectively the opposite of --alldeps. + .IP "\fB\-\-recursive\fP" +-When used with --whatrequires, query packages recursively. ++When used with --whatrequires, and --requires --resolve, query packages ++recursively. + .IP "\fB\-\-archlist=ARCH1[,ARCH2...]\fP" + Limit the query to packages of given architecture(s). Valid values are all + architectures known to rpm/yum such as 'i386' and 'src' for +@@ -166,7 +167,7 @@ Query groups instead of packages. + + .SH "EXAMPLES" + .IP "List all packages whose name contains 'perl':" +-\fBrepoquery '*perl*'\fP ++\fBrepoquery \(aq*perl*\(aq\fP + .IP "List all packages depending on openssl:" + \fBrepoquery --whatrequires openssl\fP + .IP "List all package names and the repository they come from, nicely formatted:" +diff --git a/docs/reposync.1 b/docs/reposync.1 +index c1bc818..1e6c6c2 100644 +--- a/docs/reposync.1 ++++ b/docs/reposync.1 +@@ -14,7 +14,7 @@ Display a help message, and then quit. + Config file to use (defaults to /etc/yum.conf). + .IP "\fB\-a ARCH, \-\-arch=ARCH\fP" + Act as if running the specified arch (default: current arch, note: does +-not override $releasever). ++not override $releasever. x86_64 is a superset for i*86.). + .IP "\fB\-\-source\fP" + Also download .src.rpm files. + .IP "\fB\-r REPOID, \-\-repoid=REPOID\fP" +@@ -26,8 +26,11 @@ Use a temp dir for storing/accessing yum-cache. + Path to download packages to: defaults to current directory. + .IP "\fB\-g, \-\-gpgcheck\fP" + Remove packages that fail GPG signature checking after downloading. ++exit status is '1' if at least one package was removed. + .IP "\fB\-u, \-\-urls\fP" + Just list urls of what would be downloaded, don't download. ++.IP "\fB\-l, \-\-plugins\fP" ++Enable yum plugin support. + .IP "\fB\-n, \-\-newest-only\fP" + Download only newest packages per-repo. + .IP "\fB\-q, \-\-quiet\fP" +@@ -41,6 +44,8 @@ Output as little information as possible. + \fB reposync --repoid=updates --repoid=extras\fP + .IP "Sync all packages from the 'updates' repo to the \fBrepos\fP directory:" + \fB reposync -p repos --repoid=updates\fP ++.IP "Sync all packages from the 'updates' repo to the \fBrepos\fP directory excluding x86_64 arch. Edit \fI/etc/yum.conf\fR adding option \fBexclude=*.x86_64\fR. Then: ++\fBreposync -p repos --repoid=updates\fP + .SH "FILES" + \fBreposync\fP uses the yum libraries for retrieving information and + packages. If no configuration file is specified, the default yum +diff --git a/docs/show-changed-rco.1 b/docs/show-changed-rco.1 +index 3e3b62c..1b0ea65 100644 +--- a/docs/show-changed-rco.1 ++++ b/docs/show-changed-rco.1 +@@ -11,7 +11,7 @@ packages Requires, Conflicts and Obsoletes data from the installed (or old) to + a specified rpm file. + .SH OPTIONS + .TP +-.IP \-h, \-\-help ++.IP "\fB\-h, \-\-help\fP" + show this help message and exit + .IP "\fB\-C, \-\-cache\fP" + Tells repoquery to run entirely from YUM cache - does not download any metadata +diff --git a/docs/show-installed.1 b/docs/show-installed.1 +index 7072b63..18c4af8 100644 +--- a/docs/show-installed.1 ++++ b/docs/show-installed.1 +@@ -16,10 +16,10 @@ show this help message and exit + yum, kickstart or human; yum gives the result as a yum command line; kickstart the content of a %packages section; "human" readable is default. + .TP + .B \-i INPUT, \-\-input=INPUT +-File to read the package list from instead of using the rpmdb. \- for stdin. The file must contain package names only separated by white space (including newlines). rpm \-qa \-\-qf='%{name}\\n' produces proper output. ++File to read the package list from instead of using the rpmdb. \- for stdin. The file must contain package names only separated by white space (including newlines). rpm \-qa \-\-qf=\(aq%{name}\\n\(aq produces proper output. + .TP + .B \-o OUTPUT, \-\-output=OUTPUT +-File to write the result to. Stdout is used if option is omited. ++File to write the result to. Stdout is used if option is omitted. + .TP + .B \-q, \-\-quiet + Do not show warnings. +diff --git a/docs/yum-aliases.1 b/docs/yum-aliases.1 +index c0f148d..8b943d4 100644 +--- a/docs/yum-aliases.1 ++++ b/docs/yum-aliases.1 +@@ -28,7 +28,7 @@ last form creates a new alias. + .PP + When you type an aliased command, like "yum --disableexcludes UPT lsu" using + the default aliases, the yum-aliases plugin first takes the first "command", by +-skiping over any options, and then looks up the result (in this case "UPT" is converted to "--enablerepo=updates-tesintg"). If there is a match, then it will ++skipping over any options, and then looks up the result (in this case "UPT" is converted to "--enablerepo=updates-testing"). If there is a match, then it will + replace the aliased "command" in the argument list and try again (again + skipping over any options). By convention, in the default aliases list, alias + "commands" that are in all CAPS only add options so you can join together a +diff --git a/docs/yum-debug-dump.1 b/docs/yum-debug-dump.1 +index 0e65a07..71e5f3f 100644 +--- a/docs/yum-debug-dump.1 ++++ b/docs/yum-debug-dump.1 +@@ -10,11 +10,15 @@ yum-debug-dump + lot of information useful to developers trying to debug a problem. + .PP + By default it will output a file to the current working directory named +-yum_debug_dump.txt.gz. This file contains no private information but does ++yum_debug_dump--