diff --git a/SOURCES/BZ-1091698-fs-snapshot-obsolete-btrfsctl.patch b/SOURCES/BZ-1091698-fs-snapshot-obsolete-btrfsctl.patch new file mode 100644 index 0000000..ed21715 --- /dev/null +++ b/SOURCES/BZ-1091698-fs-snapshot-obsolete-btrfsctl.patch @@ -0,0 +1,36 @@ +commit 92fd923f75f1f42d246e925f1c4526f36f6fd88d +Author: Stephen Degler +Date: Tue Sep 24 17:06:14 2013 +0200 + + fs-snapshot: btrfsctl is obsolete, use btrfs. BZ 1010974 + +diff --git a/plugins/fs-snapshot/fs-snapshot.py b/plugins/fs-snapshot/fs-snapshot.py +index 4f99b6a..786b0c1 100644 +--- a/plugins/fs-snapshot/fs-snapshot.py ++++ b/plugins/fs-snapshot/fs-snapshot.py +@@ -198,9 +198,8 @@ def _create_btrfs_snapshot(conduit, snapshot_tag, volume): + """ + Runs the commands necessary for a snapshot. Basically its just + +- btrfsctl -c /dir/to/snapshot #this syncs the fs +- btrfsctl -s /dir/to/snapshot/${snapshot_tag} +- /dir/to/snapshot ++ btrfs filesystem sync /dir/to/snapshot #this syncs the fs ++ btrfs subvolume snapshot /dir/to/snapshot /dir/to/snapshot/${snapshot_tag} + + and then we're done. + """ +@@ -212,11 +211,11 @@ def _create_btrfs_snapshot(conduit, snapshot_tag, volume): + + snapname = mntpnt + snapshot_tag + conduit.info(1, "fs-snapshot: snapshotting " + mntpnt + ": " + snapname) +- p = Popen(["/sbin/btrfsctl", "-c", mntpnt], stdout=PIPE, stderr=PIPE) ++ p = Popen(["/sbin/btrfs", "filesystem", "sync", mntpnt], stdout=PIPE, stderr=PIPE) + err = p.wait() + if err: + return 1 +- p = Popen(["/sbin/btrfsctl", "-s", snapname, mntpnt], stdout=PIPE, stderr=PIPE) ++ p = Popen(["/sbin/btrfs", "subvolume", "snapshot", mntpnt, snapname], stdout=PIPE, stderr=PIPE) + err = p.wait() + if err: + return 1 diff --git a/SOURCES/BZ-1156057-yum-builddep-manpage-arched-requires.patch b/SOURCES/BZ-1156057-yum-builddep-manpage-arched-requires.patch new file mode 100644 index 0000000..825b27c --- /dev/null +++ b/SOURCES/BZ-1156057-yum-builddep-manpage-arched-requires.patch @@ -0,0 +1,60 @@ +commit d9adda1589e131fa0d499432dcfc46b0a72ce519 +Author: Ville Skyttä +Date: Sat Feb 8 13:22:22 2014 +0200 + + yum-builddep: Note spec support in man page + +diff --git a/docs/yum-builddep.1 b/docs/yum-builddep.1 +index ac7601e..6cad8a6 100644 +--- a/docs/yum-builddep.1 ++++ b/docs/yum-builddep.1 +@@ -9,7 +9,7 @@ yum-builddep \- install missing dependencies for building an RPM package + \fByum-builddep\fP is a program which installs the RPMs needed to build + the specified package. The source RPM for the specified package must + be available in a Yum repository (which will be automatically enabled, if it is +-disabled) or it can be a local source RPM file. ++disabled) or it can be a local source RPM or a spec file. + .PP + .SH "EXAMPLES" + .IP "Download and install all the RPMs needed to build the kernel RPM:" +commit c08a67e9923ea9c095d62ccb931c0b8a589e4b1e +Author: Valentina Mukhamedzhanova +Date: Tue Mar 1 18:08:32 2016 +0100 + + yum-builddep: mention the workaround for arched srpms in the man page. BZ#1156057 + +diff --git a/docs/yum-builddep.1 b/docs/yum-builddep.1 +index 6cad8a6..fbe32bd 100644 +--- a/docs/yum-builddep.1 ++++ b/docs/yum-builddep.1 +@@ -4,17 +4,28 @@ + yum-builddep \- install missing dependencies for building an RPM package + .SH "SYNOPSIS" + \fByum-builddep\fP package +-.SH "DESCRIPTION" + .PP ++\fByum-builddep\fP /path/to/local/package.src.rpm ++.PP ++\fByum-builddep\fP /path/to/local/package.spec ++.SH "DESCRIPTION" ++.PP + \fByum-builddep\fP is a program which installs the RPMs needed to build + the specified package. The source RPM for the specified package must + be available in a Yum repository (which will be automatically enabled, if it is + disabled) or it can be a local source RPM or a spec file. + .PP ++Note, that only the BuildRequires information within the SRPM header information is used to determine build dependencies. This will specifically omit any dependencies that are required only for specific architectures. ++.PP + .SH "EXAMPLES" + .IP "Download and install all the RPMs needed to build the kernel RPM:" +-\fByum-builddep kernel\fP ++\fByumdownloader --source kernel && rpm2cpio kernel*src.rpm | cpio -i kernel.spec && \\ \fP ++.br ++\fByum-builddep kernel.spec\fP + .PP ++The kernel includes specific BuildRequires dependencies for different architectures. In order to make sure that those dependencies are downloaded and installed, the SRPM should be downloaded, the .spec file extracted from it and used to determine the full dependency list. ++.PP ++ + .SH "FILES" + As yum-builddep uses YUM libraries for retrieving all the information, it + relies on YUM configuration for its default values like which repositories diff --git a/SOURCES/BZ-1184912-yum-config-manager-fix-add-repo.patch b/SOURCES/BZ-1184912-yum-config-manager-fix-add-repo.patch new file mode 100644 index 0000000..d5bd5dd --- /dev/null +++ b/SOURCES/BZ-1184912-yum-config-manager-fix-add-repo.patch @@ -0,0 +1,33 @@ +--- yum-utils-1.1.31/yum-config-manager.py.orig 2016-02-04 13:54:28.339084020 +0100 ++++ yum-utils-1.1.31/yum-config-manager.py 2016-02-04 13:55:02.427900621 +0100 +@@ -10,6 +10,8 @@ + import fnmatch + + from iniparse import INIConfig ++import yum.config ++import yum.yumRepo + + from yum.parser import varReplace + +@@ -209,13 +211,16 @@ + if url.endswith('.repo'): # this is a .repo file - fetch it, put it in our reposdir and enable it + destname = os.path.basename(url) + destname = myrepodir + '/' + destname +- # this sucks - but take the first repo we come to that's enabled +- # and steal it's grabber object - it could be proxy-laden but that's the risk we take +- # grumbledy grumble +- grabber = yb.repos.listEnabled()[0].grabfunc ++ ++ # dummy grabfunc, using [main] options ++ repo = yum.yumRepo.YumRepository('dummy') ++ repo.baseurl = ['http://dummy'] ++ repo.populate(yum.config.ConfigParser(), None, yb.conf) ++ grabber = repo.grabfunc; del repo ++ + print 'grabbing file %s to %s' % (url, destname) + try: +- result = grabber.urlgrab(url, filename=destname, copy_local=True) ++ result = grabber.urlgrab(url, filename=destname, copy_local=True, reget=None) + except (IOError, OSError, yum.Errors.YumBaseError), e: + logger.error('Could not fetch/save url %s to file %s: %s' % (url, destname, e)) + continue diff --git a/SOURCES/BZ-1192946-needs-restarting-add-reboothint-opt.patch b/SOURCES/BZ-1192946-needs-restarting-add-reboothint-opt.patch new file mode 100644 index 0000000..4ad9364 --- /dev/null +++ b/SOURCES/BZ-1192946-needs-restarting-add-reboothint-opt.patch @@ -0,0 +1,70 @@ +diff -up yum-utils-1.1.31/docs/needs-restarting.1.orig yum-utils-1.1.31/docs/needs-restarting.1 +--- yum-utils-1.1.31/docs/needs-restarting.1.orig 2016-08-04 12:17:58.638041851 +0200 ++++ yum-utils-1.1.31/docs/needs-restarting.1 2016-08-04 12:18:37.479777824 +0200 +@@ -14,6 +14,8 @@ started running before they or some comp + Display a help message, and then quit. + .IP "\fB\-u, \-\-useronly\fP" + Show processes for my userid only. ++.IP "\fB\-r, \-\-reboothint\fP" ++Only report whether a full reboot is required (returns 1) or not (returns 0). + + .PP + .SH "SEE ALSO" +diff -up yum-utils-1.1.31/needs-restarting.py.orig yum-utils-1.1.31/needs-restarting.py +--- yum-utils-1.1.31/needs-restarting.py.orig 2016-08-04 12:17:41.397159047 +0200 ++++ yum-utils-1.1.31/needs-restarting.py 2016-08-04 12:19:22.944468776 +0200 +@@ -48,6 +48,11 @@ from yum.Errors import RepoError + sys.path.insert(0,'/usr/share/yum-cli') + import utils + ++# For which package updates we should recommend a reboot ++# Taken from https://access.redhat.com/solutions/27943 ++REBOOTPKGS = ['kernel', 'glibc', 'linux-firmware', 'systemd', 'udev', ++ 'openssl-libs', 'gnutls', 'dbus'] ++ + def parseargs(args): + usage = """ + needs-restarting: Report a list of process ids of programs that started +@@ -57,6 +62,9 @@ def parseargs(args): + + parser.add_option("-u", "--useronly", default=False, action="store_true", + help='show processes for my userid only') ++ parser.add_option("-r", "--reboothint", default=False, action="store_true", ++ help=('only report whether a full reboot is required (returns 1) or not ' ++ '(returns 0)')) + + (opts, args) = parser.parse_args(args) + return (opts, args) +@@ -111,9 +119,30 @@ def main(args): + if opts.useronly: + myuid = os.getuid() + +- needing_restart = set() +- + boot_time = utils.get_boot_time() ++ ++ if opts.reboothint: ++ needing_reboot = set() ++ for pkg in my.rpmdb.searchNames(REBOOTPKGS): ++ if float(pkg.installtime) > float(boot_time): ++ needing_reboot.add(pkg) ++ if needing_reboot: ++ print 'Core libraries or services have been updated:' ++ for pkg in needing_reboot: ++ print ' %s ->' % pkg.name, pkg.printVer() ++ print ++ print 'Reboot is required to ensure that your system benefits', ++ print 'from these updates.' ++ print ++ print 'More information:' ++ print 'https://access.redhat.com/solutions/27943' ++ return 1 ++ else: ++ print 'No core libraries or services have been updated.' ++ print 'Reboot is probably not necessary.' ++ return 0 ++ ++ needing_restart = set() + for pid in return_running_pids(uid=myuid): + try: + pid_start = utils.get_process_time(int(pid), boot_time)['start_time'] diff --git a/SOURCES/BZ-1245117-yum-config-manager-all-repos.patch b/SOURCES/BZ-1245117-yum-config-manager-all-repos.patch new file mode 100644 index 0000000..c36458d --- /dev/null +++ b/SOURCES/BZ-1245117-yum-config-manager-all-repos.patch @@ -0,0 +1,22 @@ +commit 84988d6ae0e3d6dad07cde3701a69f7717cf8962 +Author: Valentina Mukhamedzhanova +Date: Fri May 13 12:19:33 2016 +0200 + + yum-config-manager: document syntax for enabling/disabling all repos. + +diff --git a/docs/yum-config-manager.1 b/docs/yum-config-manager.1 +index 81b895b..c130070 100644 +--- a/docs/yum-config-manager.1 ++++ b/docs/yum-config-manager.1 +@@ -16,9 +16,9 @@ Display a help message, and then quit. + .IP "\fB\-\-save\fP" + Save the current options (useful with \-\-setopt). + .IP "\fB\-\-enable\fP" +-Enable the specified repos (automatically saves). ++Enable the specified repos (automatically saves). To enable all repositories run 'yum-config-manager --enable \\*". + .IP "\fB\-\-disable\fP" +-Disable the specified repos (automatically saves). ++Disable the specified repos (automatically saves). To disable all repositories run "yum-config-manager --disable \\*". + .IP "\fB\-\-add\-repo=ADDREPO\fP" + Add (and enable) the repo from the specified file or url. + .SH "ADDITIONAL OPTIONS" diff --git a/SOURCES/BZ-1264774-archlist-docs.patch b/SOURCES/BZ-1264774-archlist-docs.patch new file mode 100644 index 0000000..ecd40dd --- /dev/null +++ b/SOURCES/BZ-1264774-archlist-docs.patch @@ -0,0 +1,19 @@ +commit ac1a9d171548057961ea040d7f1eaae61cb54bf1 +Author: Valentina Mukhamedzhanova +Date: Tue Mar 11 17:40:48 2014 +0100 + + Fix description of --archlist in the manpage. BZ 1045871 + +diff --git a/docs/yumdownloader.1 b/docs/yumdownloader.1 +index e290268..d2cb276 100644 +--- a/docs/yumdownloader.1 ++++ b/docs/yumdownloader.1 +@@ -20,7 +20,7 @@ When downloading RPMs, resolve dependencies and also download the required packa + .IP "\fB\-\-source\fP" + Instead of downloading the binary RPMs, download the source RPMs. + .IP "\fB\-\-archlist=ARCH1[,ARCH2...]\fP" +-Limit the query to packages of given architecture(s). Valid values are all ++Limit the query to packages of given and compatible architectures. Valid values are all + architectures known to rpm/yum such as 'i386' and 'src' for + source RPMS. Note that repoquery will now change yum's "arch" to the first + value in the archlist. So "\-\-archlist=i386,i686" will change yum's canonical diff --git a/SOURCES/BZ-1269414-yum-plugin-priorities-obsoletes.patch b/SOURCES/BZ-1269414-yum-plugin-priorities-obsoletes.patch new file mode 100644 index 0000000..c909262 --- /dev/null +++ b/SOURCES/BZ-1269414-yum-plugin-priorities-obsoletes.patch @@ -0,0 +1,19 @@ +commit 834a4ff4f2752631252cff4e3b2ba87bee62965b +Author: Valentina Mukhamedzhanova +Date: Thu Dec 10 16:24:18 2015 +0100 + + yum-plugin-priorities: get all obsoletes, not just the newest. BZ#1269414 + +diff --git a/plugins/priorities/priorities.py b/plugins/priorities/priorities.py +index ce98583..006c545 100644 +--- a/plugins/priorities/priorities.py ++++ b/plugins/priorities/priorities.py +@@ -111,7 +111,7 @@ def exclude_hook(conduit): + if check_obsoletes and not conduit._base.conf.obsoletes: + check_obsoletes = False + if check_obsoletes: +- obsoletes = conduit._base.up.rawobsoletes ++ obsoletes = conduit._base.pkgSack.returnObsoletes() + + # Build a dictionary with package priorities. Either with arch or + # archless, based on the user's settings. diff --git a/SOURCES/BZ-1285750-repoquery-version.patch b/SOURCES/BZ-1285750-repoquery-version.patch new file mode 100644 index 0000000..dd3395a --- /dev/null +++ b/SOURCES/BZ-1285750-repoquery-version.patch @@ -0,0 +1,19 @@ +commit 624cf40406a2e8bacde8afde807d5efbf74ca4ab +Author: James Antill +Date: Thu Dec 5 16:43:04 2013 -0500 + + Remove -v from repoquery man page. + +diff --git a/docs/repoquery.1 b/docs/repoquery.1 +index 30fda8a..85b0047 100644 +--- a/docs/repoquery.1 ++++ b/docs/repoquery.1 +@@ -14,7 +14,7 @@ similarly to rpm queries. + .SH "GENERAL OPTIONS" + .IP "\fB\-\-querytags\fP" + List valid queryformat tags and exit.. +-.IP "\fB\-v, \-\-version\fP" ++.IP "\fB\-\-version\fP" + Report program version and exit. + .IP "\fB\-\-repoid=\fP" + Specify which repository to query. Using this option disables all repositories diff --git a/SOURCES/BZ-1293707-debuginfo-installonly-latest-version.patch b/SOURCES/BZ-1293707-debuginfo-installonly-latest-version.patch new file mode 100644 index 0000000..d93c064 --- /dev/null +++ b/SOURCES/BZ-1293707-debuginfo-installonly-latest-version.patch @@ -0,0 +1,52 @@ +commit 2f1605f65e6bc24d6a2515b99f1486085f281a49 +Author: Valentina Mukhamedzhanova +Date: Tue Mar 1 16:18:39 2016 +0100 + + debuginfo-install: install debuginfo only for the latest installed version of installonly package. BZ#1293707 + +diff --git a/debuginfo-install.py b/debuginfo-install.py +index bb61a1d..19fe8b6 100755 +--- a/debuginfo-install.py ++++ b/debuginfo-install.py +@@ -148,9 +148,12 @@ class DebugInfoInstall(YumUtilBase): + # add that debuginfo to the ts + # look through that pkgs' deps + # add all the debuginfos for the pkgs providing those deps ++ installonly_added = set() + for pkgglob in self.cmds: + e, m, u = self.rpmdb.matchPackageNames([pkgglob]) +- for po in e + m: ++ for po in sorted(e + m, reverse=True): ++ if po.name in installonly_added: ++ continue + try: + self.di_try_install(po) + except yum.Errors.InstallError, e: +@@ -167,6 +170,8 @@ class DebugInfoInstall(YumUtilBase): + self.di_try_install(deppo) + except yum.Errors.InstallError, e: + self.logger.critical('Could not find debuginfo pkg for dependency package %s' % deppo) ++ if po.name in self.conf.installonlypkgs: ++ installonly_added.add(po.name) + + for pkgname in u: + self.logger.critical('Could not find a package for: %s' % pkgname) +commit 8048d25bf3225b8ddd7d0a90b050bce2cc716e2a +Author: Valentina Mukhamedzhanova +Date: Tue Jun 21 14:24:12 2016 +0200 + + debuginfo-install: also respect provides when testing for installonly. + +diff --git a/debuginfo-install.py b/debuginfo-install.py +index 19fe8b6..6053f62 100755 +--- a/debuginfo-install.py ++++ b/debuginfo-install.py +@@ -170,7 +170,7 @@ class DebugInfoInstall(YumUtilBase): + self.di_try_install(deppo) + except yum.Errors.InstallError, e: + self.logger.critical('Could not find debuginfo pkg for dependency package %s' % deppo) +- if po.name in self.conf.installonlypkgs: ++ if self.allowedMultipleInstalls(po): + installonly_added.add(po.name) + + for pkgname in u: diff --git a/SOURCES/BZ-1296282-verifytree-fix-comps-schema.patch b/SOURCES/BZ-1296282-verifytree-fix-comps-schema.patch new file mode 100644 index 0000000..5342d3d --- /dev/null +++ b/SOURCES/BZ-1296282-verifytree-fix-comps-schema.patch @@ -0,0 +1,51 @@ +diff -up yum-utils-1.1.31/verifytree.py.orig yum-utils-1.1.31/verifytree.py +--- yum-utils-1.1.31/verifytree.py.orig 2016-07-21 14:46:21.050199284 +0200 ++++ yum-utils-1.1.31/verifytree.py 2016-07-21 14:46:43.277058501 +0200 +@@ -47,8 +47,22 @@ plan_number = 13 + case_numbers = {'REPODATA': 56, 'CORE_PACKAGES': 57, 'COMPS': 58, + 'BOOT_IMAGES': 59} + +-# URL for the RELAX NG schema for comps +-SCHEMA = 'http://cvs.fedoraproject.org/viewcvs/*checkout*/comps/comps.rng' ++def get_schema_path(): ++ """Return the local path to the RELAX NG comps schema.""" ++ # Depending on whether our distro uses versioned or unversioned docdirs ++ # (the former is true for Fedora < 20, see bug 998579), the schema file ++ # should be provided by yum at either of the following locations: ++ paths = ['/usr/share/doc/yum%s/comps.rng' % s ++ for s in ('', '-' + yum.__version__)] ++ for path in paths: ++ # Better than os.path.exists() as this also ensures we can actually ++ # read the file ++ try: ++ with open(path): ++ return path ++ except IOError: ++ continue ++ raise IOError(paths) + + def testopia_create_run(plan): + '''Create a run of the given test plan. Returns the run ID.''' +@@ -230,9 +244,19 @@ def main(): + + if not (retval & BAD_COMPS): + print " verifying comps.xml grammar with xmllint" +- comps = newrepo.getGroups() +- r = os.system("xmllint --noout --nowarning --relaxng %s %s" % +- (SCHEMA,comps)) ++ try: ++ schema = get_schema_path() ++ except IOError as e: ++ print ' could not read schema file, paths tried:' ++ for path in e.args[0]: ++ print ' ' + path ++ print (' make sure you have the latest version of yum ' ++ 'properly installed') ++ r = 1 ++ else: ++ comps = newrepo.getGroups() ++ r = os.system("xmllint --noout --nowarning --relaxng %s %s" % ++ (schema, comps)) + if r != 0: + retval = retval | BAD_COMPS + report('COMPS','FAILED') diff --git a/SOURCES/BZ-1329649-reposync-download-metadata-manpage.patch b/SOURCES/BZ-1329649-reposync-download-metadata-manpage.patch new file mode 100644 index 0000000..bf260e3 --- /dev/null +++ b/SOURCES/BZ-1329649-reposync-download-metadata-manpage.patch @@ -0,0 +1,19 @@ +commit cd96c21e6c323e4c73555bbc1360a60fa2b9ddeb +Author: Valentina Mukhamedzhanova +Date: Tue Oct 14 18:52:04 2014 +0200 + + reposync: add --download-metadata to the man page. BZ 1079435 + +diff --git a/docs/reposync.1 b/docs/reposync.1 +index d6d245a..ea5653c 100644 +--- a/docs/reposync.1 ++++ b/docs/reposync.1 +@@ -41,6 +41,8 @@ Just list urls of what would be downloaded, don't download. + Enable yum plugin support. + .IP "\fB\-m, \-\-downloadcomps\fP" + Also download comps.xml. ++.IP "\fB\-\-download-metadata\fP" ++Download all the non-default metadata. + .IP "\fB\-n, \-\-newest\-only\fP" + Download only newest packages per-repo. + .IP "\fB\-q, \-\-quiet\fP" diff --git a/SOURCES/BZ-1335587-needs-restarting-add-services-opt.patch b/SOURCES/BZ-1335587-needs-restarting-add-services-opt.patch new file mode 100644 index 0000000..ca92737 --- /dev/null +++ b/SOURCES/BZ-1335587-needs-restarting-add-services-opt.patch @@ -0,0 +1,70 @@ +diff -up yum-utils-1.1.31/docs/needs-restarting.1.orig yum-utils-1.1.31/docs/needs-restarting.1 +--- yum-utils-1.1.31/docs/needs-restarting.1.orig 2016-08-04 12:22:33.765295008 +0200 ++++ yum-utils-1.1.31/docs/needs-restarting.1 2016-08-04 12:24:52.076356702 +0200 +@@ -16,6 +16,8 @@ Display a help message, and then quit. + Show processes for my userid only. + .IP "\fB\-r, \-\-reboothint\fP" + Only report whether a full reboot is required (returns 1) or not (returns 0). ++.IP "\fB\-s, \-\-services\fP" ++List the affected systemd services only. + + .PP + .SH "SEE ALSO" +diff -up yum-utils-1.1.31/needs-restarting.py.orig yum-utils-1.1.31/needs-restarting.py +--- yum-utils-1.1.31/needs-restarting.py.orig 2016-08-04 12:22:15.914287046 +0200 ++++ yum-utils-1.1.31/needs-restarting.py 2016-08-04 12:24:22.235343391 +0200 +@@ -65,6 +65,8 @@ def parseargs(args): + parser.add_option("-r", "--reboothint", default=False, action="store_true", + help=('only report whether a full reboot is required (returns 1) or not ' + '(returns 0)')) ++ parser.add_option("-s", "--services", default=False, action="store_true", ++ help='list the affected systemd services only') + + (opts, args) = parser.parse_args(args) + return (opts, args) +@@ -106,6 +108,31 @@ def get_open_files(pid): + files.append(filename) + return files + ++def get_service(pid): ++ """Return the systemd service to which the process belongs. ++ ++ More details: ++ http://0pointer.de/blog/projects/systemd-for-admins-2.html ++ https://www.freedesktop.org/wiki/Software/systemd/FrequentlyAskedQuestions/ ++ """ ++ ++ fname = '/proc/%s/cgroup' % pid ++ try: ++ with open(fname, 'r') as f: ++ groups = f.readlines() ++ except (IOError, OSError), e: ++ print >>sys.stderr, "Could not open %s" % fname ++ return None ++ ++ for line in groups: ++ line = line.replace('\n', '') ++ hid, hsub, cgroup = line.split(':') ++ if hsub == 'name=systemd': ++ name = cgroup.split('/')[-1] ++ if name.endswith('.service'): ++ return name ++ return None ++ + def main(args): + (opts, args) = parseargs(args) + +@@ -189,6 +216,13 @@ def main(args): + + + ++ if opts.services: ++ names = set([get_service(pid) for pid in needing_restart]) ++ for name in names: ++ if name is not None: ++ print name ++ return 0 ++ + for pid in needing_restart: + try: + cmdline = open('/proc/' +pid+ '/cmdline', 'r').read() diff --git a/SPECS/yum-utils.spec b/SPECS/yum-utils.spec index dadc9f4..5901efd 100644 --- a/SPECS/yum-utils.spec +++ b/SPECS/yum-utils.spec @@ -12,7 +12,7 @@ Summary: Utilities based around the yum package manager Name: yum-utils Version: 1.1.31 -Release: 34%{?dist} +Release: 40%{?dist} License: GPLv2+ Group: Development/Tools Source: http://yum.baseurl.org/download/yum-utils/%{name}-%{version}.tar.gz @@ -43,11 +43,25 @@ Patch101: BZ-1151154-yum-config-manager-disable-all-repos.patch Patch102: BZ-1213602-overlayfs-workaround-plugin.patch Patch103: BZ-817046-yum-builddep-respect-tolerant-ignore-missing-reqs.patch +#rhel-7.3 +Patch120: BZ-1293707-debuginfo-installonly-latest-version.patch +Patch121: BZ-1184912-yum-config-manager-fix-add-repo.patch +Patch122: BZ-1091698-fs-snapshot-obsolete-btrfsctl.patch +Patch123: BZ-1285750-repoquery-version.patch +Patch124: BZ-1269414-yum-plugin-priorities-obsoletes.patch +Patch125: BZ-1264774-archlist-docs.patch +Patch126: BZ-1156057-yum-builddep-manpage-arched-requires.patch +Patch127: BZ-1245117-yum-config-manager-all-repos.patch +Patch128: BZ-1296282-verifytree-fix-comps-schema.patch +Patch129: BZ-1192946-needs-restarting-add-reboothint-opt.patch +Patch130: BZ-1335587-needs-restarting-add-services-opt.patch +Patch131: BZ-1329649-reposync-download-metadata-manpage.patch + URL: http://yum.baseurl.org/download/yum-utils/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch # For new findRepos() API and utils.get_process_info() API. -Requires: yum >= 3.4.3-120 +Requires: yum >= 3.4.3-143, libxml2-python Requires: python-kitchen BuildRequires: python-devel >= 2.4 BuildRequires: gettext @@ -365,6 +379,7 @@ repo. removes it (and can thus. be reinstalled/downgraded/etc.). Summary: Yum plugin to automatically snapshot your filesystems during updates Group: System Environment/Base Requires: yum >= 3.2.22 +Requires: btrfs-progs %description -n yum-plugin-fs-snapshot When this plugin is installed it will automatically snapshot any @@ -431,6 +446,19 @@ This plugin touches rpmdb files to work around overlayfs issues. %patch102 -p1 %patch103 -p1 +#rhel-7.3 +%patch120 -p1 +%patch121 -p1 +%patch122 -p1 +%patch123 -p1 +%patch124 -p1 +%patch125 -p1 +%patch126 -p1 +%patch127 -p1 +%patch128 -p1 +%patch129 -p1 +%patch130 -p1 +%patch131 -p1 %install rm -rf $RPM_BUILD_ROOT @@ -743,6 +771,53 @@ fi %{_mandir}/man1/yum-ovl.1.* %changelog +* Thu Aug 04 2016 Valentina Mukhamedzhanova - 1.1.31-40 +- needs-restarting: rework reboothint logic. +- Related: bug#1192946 +- needs-restarting: rebase patch for 1335587. +- Related: bug#1335587 + +* Fri Jul 22 2016 Valentina Mukhamedzhanova - 1.1.31-39 +- verifytree: don't fail with versioned docdirs. +- Related: bug#1296282 + +* Thu Jun 30 2016 Valentina Mukhamedzhanova - 1.1.31-38 +- verifytree: use local comps schema. +- Related: bug#1296282 +* Tue Jun 21 2016 Valentina Mukhamedzhanova - 1.1.31-37 +- needs-restarting: add option for reboot hint. +- Resolves: bug#1192946 +- needs-restarting: add option to list services. +- Resolves: bug#1335587 +- reposync: add --download-metadata to the man page. +- Resolves: bug#1329649 +- debuginfo-install: also respect provides when testing for installonly. +- Related: bug#1293707 + +* Fri May 13 2016 Valentina Mukhamedzhanova - 1.1.31-36 +- yum-config-manager: document syntax for enabling/disabling all repos. +- Resolves: bug#1245117 +- verifytree: use current url of comps schema. +- Resolves: bug#1296282 + +* Tue Mar 01 2016 Valentina Mukhamedzhanova - 1.1.31-35 +- debuginfo-install: install debuginfo only for the latest installed version of installonly package. +- Resolves: bug#1293707 +- yum-config-manager: don't require enabled repos for --add-repo to work. +- Resolves: bug#1184912 +- fs-snapshot: btrfsctl is obsolete, use btrfs. +- Resolves: bug#1091698 +- Add libxml2-python to Requires for repo-rss. +- Resolves: bug#1297788 +- Remove -v from repoquery man page. +- Resolves: bug#1285750 +- yum-plugin-priorities: get all obsoletes, not just the newest. +- Resolves: bug#1269414 +- yumdownloader: fix description of --archlist in the manpage. +- Resolves: bug#1264774 +- yum-builddep: mention the workaround for arched srpms in the man page. +- Resolves: bug#1156057 + * Mon Oct 12 2015 Valentina Mukhamedzhanova - 1.1.31-34 - ovl plugin: run at init_hook stage. - Resolves: bug#1269395