diff --git a/SOURCES/BZ-1075708-yum-config-manager-config-file-update.patch b/SOURCES/BZ-1075708-yum-config-manager-config-file-update.patch new file mode 100644 index 0000000..c85ce91 --- /dev/null +++ b/SOURCES/BZ-1075708-yum-config-manager-config-file-update.patch @@ -0,0 +1,37 @@ +commit 2b617b86358aeedd3ed83fad0719cb0fada3241c +Author: Valentina Mukhamedzhanova +Date: Tue May 26 09:08:37 2015 +0200 + + yum-config-manager: update config file specified using -c option. BZ#1075708 + +diff --git a/README b/README +index 8abe805..0c01d0e 100644 +--- a/README ++++ b/README +@@ -67,3 +67,5 @@ Author of the update on boot init scripts + - Tim Lauridsen + Maintainer of yum-utils - fixer of a lot of misc utils. + ++- Valentina Mukhamedzhanova ++Maintainer of yum-utils. +diff --git a/yum-config-manager.py b/yum-config-manager.py +index 380a54f..708c33f 100755 +--- a/yum-config-manager.py ++++ b/yum-config-manager.py +@@ -155,10 +155,13 @@ if (not args and not opts.addrepo) or 'main' in args: + print yb.fmtSection('main') + print yb.conf.dump() + if opts.save and hasattr(yb, 'main_setopts') and yb.main_setopts: +- fn = '/etc/yum/yum.conf' ++ fn = opts.conffile + if not os.path.exists(fn): +- # Try the old default +- fn = '/etc/yum.conf' ++ if fn == '/etc/yum/yum.conf': ++ # Try the old default ++ fn = '/etc/yum.conf' ++ else: ++ raise yum.Errors.ConfigError("Error accessing file for config %s" % fn) + ybc = yb.conf + writeRawConfigFile(fn, 'main', ybc.yumvar, + ybc.cfg.options, ybc.iteritems, ybc.optionobj, diff --git a/SOURCES/BZ-1151154-yum-config-manager-disable-all-repos.patch b/SOURCES/BZ-1151154-yum-config-manager-disable-all-repos.patch new file mode 100644 index 0000000..4609cf7 --- /dev/null +++ b/SOURCES/BZ-1151154-yum-config-manager-disable-all-repos.patch @@ -0,0 +1,23 @@ +commit b6e8afc8511262ca5405a084d806cdd5e52519c7 +Author: Valentina Mukhamedzhanova +Date: Tue May 26 10:01:07 2015 +0200 + + yum-config-manager: require \* syntax to disable all repos. BZ#1151154 + +diff --git a/yum-config-manager.py b/yum-config-manager.py +index 708c33f..0531c72 100755 +--- a/yum-config-manager.py ++++ b/yum-config-manager.py +@@ -146,8 +146,11 @@ if opts.enable and opts.disable: + logger.error("Error: Trying to enable and disable repos.") + opts.enable = opts.disable = False + if opts.enable and not args: +- logger.error("Error: Trying to enable already enabled repos.") ++ logger.error("Error: please specify repos to enable (\* to enable all).") + opts.enable = False ++if opts.disable and not args: ++ logger.error("Error: please specify repos to disable (\* to disable all).") ++ opts.disable = False + + only = None + diff --git a/SOURCES/BZ-1213602-overlayfs-workaround-plugin.patch b/SOURCES/BZ-1213602-overlayfs-workaround-plugin.patch new file mode 100644 index 0000000..3dedb64 --- /dev/null +++ b/SOURCES/BZ-1213602-overlayfs-workaround-plugin.patch @@ -0,0 +1,480 @@ +commit 0c0b029122b476c269a4b560d9be558e69e054ae +Author: Valentina Mukhamedzhanova +Date: Thu Jun 25 12:09:52 2015 +0200 + + Add plugin for overlayfs issue workaround. Patch by Pavel Odvody. BZ#1213602 + +diff --git a/plugins/ovl/ovl.conf b/plugins/ovl/ovl.conf +new file mode 100644 +index 0000000..8e4d76c +--- /dev/null ++++ b/plugins/ovl/ovl.conf +@@ -0,0 +1,2 @@ ++[main] ++enabled=1 +diff --git a/plugins/ovl/ovl.py b/plugins/ovl/ovl.py +new file mode 100644 +index 0000000..de34081 +--- /dev/null ++++ b/plugins/ovl/ovl.py +@@ -0,0 +1,48 @@ ++# Copyright (C) 2015 Red Hat, Inc. ++# ++# Authors: Pavel Odvody ++# ++# This copyrighted material is made available to anyone wishing to use, ++# modify, copy, or redistribute it subject to the terms and conditions of ++# the GNU General Public License v.2, or (at your option) any later version. ++# This program is distributed in the hope that it will be useful, but WITHOUT ++# ANY WARRANTY expressed or implied, including the implied warranties of ++# 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., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the ++# source code or documentation are not subject to the GNU General Public ++# License and may only be used or replicated with the express permission of ++# Red Hat, Inc. ++ ++from yum.plugins import TYPE_CORE ++from os import utime, walk, path ++ ++requires_api_version = '2.3' ++plugin_type = (TYPE_CORE,) ++base_dir = 'var/lib/rpm/' ++mtab = '/etc/mtab' ++ ++def should_touch(): ++ """ ++ Touch the files only once we've verified that ++ we're on overlay mount ++ """ ++ with open(mtab, 'r') as f: ++ line = f.readline() ++ return line and line.startswith('overlay /') ++ return False ++ ++def init_hook(conduit): ++ if not should_touch(): ++ return ++ ir = conduit.getConf().installroot ++ try: ++ for root, _, files in walk(path.join(ir, base_dir)): ++ for f in files: ++ p = path.join(root, f) ++ with open(p, 'a'): ++ utime(p, None) ++ except Exception as e: ++ conduit.error(1, "Error while doing RPMdb copy-up:\n%s" % e) +commit 1555cfa6465e6e31515a86f097c8993d89c0085e +Author: Valentina Mukhamedzhanova +Date: Thu Jun 25 12:30:13 2015 +0200 + + ovl plugin: fix indentation + +diff --git a/plugins/ovl/ovl.py b/plugins/ovl/ovl.py +index de34081..eda784e 100644 +--- a/plugins/ovl/ovl.py ++++ b/plugins/ovl/ovl.py +@@ -25,24 +25,24 @@ base_dir = 'var/lib/rpm/' + mtab = '/etc/mtab' + + def should_touch(): +- """ +- Touch the files only once we've verified that +- we're on overlay mount +- """ +- with open(mtab, 'r') as f: +- line = f.readline() +- return line and line.startswith('overlay /') +- return False ++ """ ++ Touch the files only once we've verified that ++ we're on overlay mount ++ """ ++ with open(mtab, 'r') as f: ++ line = f.readline() ++ return line and line.startswith('overlay /') ++ return False + + def init_hook(conduit): +- if not should_touch(): +- return ++ if not should_touch(): ++ return + ir = conduit.getConf().installroot +- try: +- for root, _, files in walk(path.join(ir, base_dir)): +- for f in files: +- p = path.join(root, f) +- with open(p, 'a'): +- utime(p, None) +- except Exception as e: +- conduit.error(1, "Error while doing RPMdb copy-up:\n%s" % e) ++ try: ++ for root, _, files in walk(path.join(ir, base_dir)): ++ for f in files: ++ p = path.join(root, f) ++ with open(p, 'a'): ++ utime(p, None) ++ except Exception as e: ++ conduit.error(1, "Error while doing RPMdb copy-up:\n%s" % e) +commit 617d2d90a553f9e5bc4dfd9ab2f9c194b956fcab +Author: Valentina Mukhamedzhanova +Date: Thu Jun 25 12:53:39 2015 +0200 + + ovl plugin: get rpmdbpath from conduit + +diff --git a/plugins/ovl/ovl.py b/plugins/ovl/ovl.py +index eda784e..f2fbdd4 100644 +--- a/plugins/ovl/ovl.py ++++ b/plugins/ovl/ovl.py +@@ -21,7 +21,6 @@ from os import utime, walk, path + + requires_api_version = '2.3' + plugin_type = (TYPE_CORE,) +-base_dir = 'var/lib/rpm/' + mtab = '/etc/mtab' + + def should_touch(): +@@ -34,12 +33,12 @@ def should_touch(): + return line and line.startswith('overlay /') + return False + +-def init_hook(conduit): ++def prereposetup_hook(conduit): + if not should_touch(): + return +- ir = conduit.getConf().installroot ++ rpmdb_path = conduit.getRpmDB()._rpmdbpath + try: +- for root, _, files in walk(path.join(ir, base_dir)): ++ for root, _, files in walk(rpmdb_path): + for f in files: + p = path.join(root, f) + with open(p, 'a'): +commit 5cd70d30bcdbd544e086a1aa3e7522c89bbd893a +Author: Valentina Mukhamedzhanova +Date: Tue Aug 4 12:00:37 2015 +0200 + + ovl plugin: change copy-up strategy, execute when root fs is mounted OverlayFS, add logging. Patch by Pavel Odvody. + +diff --git a/plugins/ovl/ovl.py b/plugins/ovl/ovl.py +index f2fbdd4..8dd0a9e 100644 +--- a/plugins/ovl/ovl.py ++++ b/plugins/ovl/ovl.py +@@ -1,47 +1,93 @@ +-# Copyright (C) 2015 Red Hat, Inc. +-# +-# Authors: Pavel Odvody +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# 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., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +- + from yum.plugins import TYPE_CORE +-from os import utime, walk, path ++from os import walk, path, fstat + + requires_api_version = '2.3' + plugin_type = (TYPE_CORE,) + mtab = '/etc/mtab' + ++ ++def _stat_ino_fp(fp): ++ """ ++ Get the inode number from file descriptor ++ """ ++ return fstat(fp.fileno()).st_ino ++ ++ ++def get_file_list(rpmpath): ++ """ ++ Enumerate all files in a directory ++ """ ++ for root, _, files in walk(rpmpath): ++ for f in files: ++ yield path.join(root, f) ++ ++ ++def for_each_file(files, cb, m='rb'): ++ """ ++ Open each file with mode specified in `m` ++ and invoke `cb` on each of the file objects ++ """ ++ if not files or not cb: ++ return [] ++ ret = [] ++ for f in files: ++ with open(f, m) as fp: ++ ret.append(cb(fp)) ++ return ret ++ ++ ++def do_detect_copy_up(files): ++ """ ++ Open the files first R/O, then R/W and count unique ++ inode numbers ++ """ ++ num_files = len(files) ++ lower = for_each_file(files, _stat_ino_fp, 'rb') ++ upper = for_each_file(files, _stat_ino_fp, 'ab') ++ diff = set(lower + upper) ++ return len(diff) - num_files ++ ++ ++def raw_copy_up(files): ++ """ ++ Induce a copy-up by opening R/W ++ """ ++ return for_each_file(files, _stat_ino_fp, 'ab') ++ ++ ++def should_be_verbose(cmd): ++ """ ++ If the debuglevel is > 2 then be verbose ++ """ ++ if not hasattr(cmd, 'debuglevel'): ++ return False ++ return cmd.debuglevel > 2 ++ ++ + def should_touch(): + """ + Touch the files only once we've verified that + we're on overlay mount + """ ++ if not path.exists(mtab): ++ return False + with open(mtab, 'r') as f: + line = f.readline() +- return line and line.startswith('overlay /') ++ return line.startswith('overlay / overlay') + return False + ++ + def prereposetup_hook(conduit): + if not should_touch(): + return ++ + rpmdb_path = conduit.getRpmDB()._rpmdbpath ++ + try: +- for root, _, files in walk(rpmdb_path): +- for f in files: +- p = path.join(root, f) +- with open(p, 'a'): +- utime(p, None) ++ files = list(get_file_list(rpmdb_path)) ++ if should_be_verbose(conduit.getCmdLine()[0]): ++ conduit.info(1, "ovl: Copying up (%i) files from OverlayFS lower layer" % do_detect_copy_up(files)) ++ else: ++ raw_copy_up(files) + except Exception as e: +- conduit.error(1, "Error while doing RPMdb copy-up:\n%s" % e) ++ conduit.error(1, "ovl: Error while doing RPMdb copy-up:\n%s" % e) +commit 11e4a7386e2e351e0ff5f8d89663eb66220a6100 +Author: Valentina Mukhamedzhanova +Date: Tue Aug 4 12:18:49 2015 +0200 + + ovl plugin: remove redundant debuglevel check + +diff --git a/plugins/ovl/ovl.py b/plugins/ovl/ovl.py +index 8dd0a9e..400d3c7 100644 +--- a/plugins/ovl/ovl.py ++++ b/plugins/ovl/ovl.py +@@ -4,6 +4,7 @@ from os import walk, path, fstat + requires_api_version = '2.3' + plugin_type = (TYPE_CORE,) + mtab = '/etc/mtab' ++VERBOSE_DEBUGLEVEL = 3 + + + def _stat_ino_fp(fp): +@@ -48,22 +49,6 @@ def do_detect_copy_up(files): + return len(diff) - num_files + + +-def raw_copy_up(files): +- """ +- Induce a copy-up by opening R/W +- """ +- return for_each_file(files, _stat_ino_fp, 'ab') +- +- +-def should_be_verbose(cmd): +- """ +- If the debuglevel is > 2 then be verbose +- """ +- if not hasattr(cmd, 'debuglevel'): +- return False +- return cmd.debuglevel > 2 +- +- + def should_touch(): + """ + Touch the files only once we've verified that +@@ -85,9 +70,7 @@ def prereposetup_hook(conduit): + + try: + files = list(get_file_list(rpmdb_path)) +- if should_be_verbose(conduit.getCmdLine()[0]): +- conduit.info(1, "ovl: Copying up (%i) files from OverlayFS lower layer" % do_detect_copy_up(files)) +- else: +- raw_copy_up(files) ++ copied_num = do_detect_copy_up(files) ++ conduit.info(VERBOSE_DEBUGLEVEL, "ovl: Copying up (%i) files from OverlayFS lower layer" % copied_num) + except Exception as e: + conduit.error(1, "ovl: Error while doing RPMdb copy-up:\n%s" % e) +commit 6f43c2e1aff0ee0746685778544f7b05d2ef78a1 +Author: Pavel Odvody +Date: Thu Sep 3 18:09:58 2015 +0200 + + Add manpage, remove file-system check + +diff --git a/docs/yum-ovl.1 b/docs/yum-ovl.1 +new file mode 100644 +index 0000000..ddfbfab +--- /dev/null ++++ b/docs/yum-ovl.1 +@@ -0,0 +1,22 @@ ++.TH "yum\-ovl" "1" "September 2015" "Red Hat" "User Manual" ++. ++.SH "NAME" ++yum\-ovl \- Performs an initial copy\-up of yum(8) package database\. ++. ++.SH "OPTIONS" ++\fB\-d\fR \fIdebug\-level\fR If debug level is \fI2\fR and more, print out the number of files copied up from the lower layer ++. ++.SH "FILES" ++\fI/usr/lib/yum\-plugins/ovl\.py\fR Plugin itself ++. ++.P ++\fI/etc/yum/pluginconf\.d/ovl\.conf\fR Configuration file allowing to enable/disable the plugin ++. ++.SH "AUTHOR" ++Pavel Odvody \fIpodvody@redhat\.com\fR ++. ++.SH "LICENSE" ++2015, Red Hat, Licensed under GPLv2+ ++. ++.SH "SEE ALSO" ++yum(1) yum(8) +diff --git a/plugins/ovl/ovl.py b/plugins/ovl/ovl.py +index 400d3c7..3d547ed 100644 +--- a/plugins/ovl/ovl.py ++++ b/plugins/ovl/ovl.py +@@ -3,7 +3,6 @@ from os import walk, path, fstat + + requires_api_version = '2.3' + plugin_type = (TYPE_CORE,) +-mtab = '/etc/mtab' + VERBOSE_DEBUGLEVEL = 3 + + +@@ -49,23 +48,7 @@ def do_detect_copy_up(files): + return len(diff) - num_files + + +-def should_touch(): +- """ +- Touch the files only once we've verified that +- we're on overlay mount +- """ +- if not path.exists(mtab): +- return False +- with open(mtab, 'r') as f: +- line = f.readline() +- return line.startswith('overlay / overlay') +- return False +- +- + def prereposetup_hook(conduit): +- if not should_touch(): +- return +- + rpmdb_path = conduit.getRpmDB()._rpmdbpath + + try: +commit 3980742eb6477c5bd5366222fb033cfc5c95d260 +Author: Pavel Odvody +Date: Fri Sep 4 10:38:32 2015 +0200 + + Added manpage description and reference to rpmdb + +diff --git a/docs/yum-ovl.1 b/docs/yum-ovl.1 +index ddfbfab..33e0dfb 100644 +--- a/docs/yum-ovl.1 ++++ b/docs/yum-ovl.1 +@@ -6,6 +6,21 @@ yum\-ovl \- Performs an initial copy\-up of yum(8) package database\. + .SH "OPTIONS" + \fB\-d\fR \fIdebug\-level\fR If debug level is \fI2\fR and more, print out the number of files copied up from the lower layer + . ++.SH "DESCRIPTION" ++Opening a file on OverlayFS in read\-only mode causes the file from ++.br ++lower layer to be opened, then later on, if the same file is opened ++.br ++in write mode, a copy-up into the upper layer takes place, ++.br ++resulting into a \fBnew\fR file being opened\. ++.br ++Since yum(8) needs to open the \fBRPMdb\fR first read-only, and then ++.br ++also with write access, we need to copy-up the files beforehand to ++.br ++make sure that the access is consistent. ++. + .SH "FILES" + \fI/usr/lib/yum\-plugins/ovl\.py\fR Plugin itself + . +@@ -19,4 +34,4 @@ Pavel Odvody \fIpodvody@redhat\.com\fR + 2015, Red Hat, Licensed under GPLv2+ + . + .SH "SEE ALSO" +-yum(1) yum(8) ++yum(1) yum(8) rpmdb(8) +diff -up yum-utils-1.1.31/docs/Makefile.old yum-utils-1.1.31/docs/Makefile +--- yum-utils-1.1.31/docs/Makefile.old 2015-09-04 17:10:03.460207371 +0200 ++++ yum-utils-1.1.31/docs/Makefile 2015-09-04 17:10:19.167260413 +0200 +@@ -3,7 +3,7 @@ DOCS = repoquery package-cleanup repo-rs + yum-groups-manager debuginfo-install repodiff yum-fs-snapshot \ + show-installed show-changed-rco yum-debug-restore \ + find-repos-of-install needs-restarting repo-graph repoclosure \ +- repomanage repotrack verifytree yum-config-manager ++ repomanage repotrack verifytree yum-config-manager yum-ovl + DOCS5 = yum-changelog.conf yum-versionlock.conf yum-fs-snapshot.conf + DOCS8 = yum-complete-transaction yumdb + +commit d03fce57c1fa3f9dff6fdd9867cbcaf66df9f841 +Author: Valentina Mukhamedzhanova +Date: Fri Oct 9 15:16:33 2015 +0200 + + ovl plugin: run at init_hook stage + +diff --git a/plugins/ovl/ovl.py b/plugins/ovl/ovl.py +index 3d547ed..fe27022 100644 +--- a/plugins/ovl/ovl.py ++++ b/plugins/ovl/ovl.py +@@ -47,9 +47,8 @@ def do_detect_copy_up(files): + diff = set(lower + upper) + return len(diff) - num_files + +- +-def prereposetup_hook(conduit): +- rpmdb_path = conduit.getRpmDB()._rpmdbpath ++def init_hook(conduit): ++ rpmdb_path = conduit._base.rpmdb._rpmdbpath + + try: + files = list(get_file_list(rpmdb_path)) diff --git a/SOURCES/BZ-817046-yum-builddep-respect-tolerant-ignore-missing-reqs.patch b/SOURCES/BZ-817046-yum-builddep-respect-tolerant-ignore-missing-reqs.patch new file mode 100644 index 0000000..ced85c3 --- /dev/null +++ b/SOURCES/BZ-817046-yum-builddep-respect-tolerant-ignore-missing-reqs.patch @@ -0,0 +1,47 @@ +commit 744cf9259ccec046a15ab5372270d931b7d74fc9 +Author: Valentina Mukhamedzhanova +Date: Thu Jul 2 16:21:22 2015 +0200 + + yum-builddep: respect --tolerant to ignore missing dependencies + +diff --git a/yum-builddep.py b/yum-builddep.py +index 7c40713..5f59ab8 100755 +--- a/yum-builddep.py ++++ b/yum-builddep.py +@@ -145,7 +145,7 @@ class YumBuildDep(YumUtilBase): + self.logger.info('Enabling %s repository' % r.id) + r.enable() + +- def install_deps(self, deplist): ++ def install_deps(self, deplist, opts): + errors = set() + for dep in deplist: + self.logger.debug(' REQ: %s' % dep) +@@ -165,7 +165,8 @@ class YumBuildDep(YumUtilBase): + if errors: + for i in sorted(errors): + self.logger.error("Error: %s" % i) +- sys.exit(1) ++ if not opts.tolerant: ++ sys.exit(1) + + # go through each of the pkgs, figure out what they are/where they are + # if they are not a local package then run +@@ -226,7 +227,7 @@ class YumBuildDep(YumUtilBase): + + for srpm in toActOn: + self.logger.info('Getting requirements for %s' % srpm) +- self.install_deps(srpm.requiresList()) ++ self.install_deps(srpm.requiresList(), opts) + + for name in specnames: + # (re)load rpm config for target if set +@@ -248,7 +249,7 @@ class YumBuildDep(YumUtilBase): + buildreqs.append(d.DNEVR()[2:]) + + self.logger.info('Getting requirements for %s' % name) +- self.install_deps(buildreqs) ++ self.install_deps(buildreqs, opts) + + if __name__ == '__main__': + setup_locale() diff --git a/SPECS/yum-utils.spec b/SPECS/yum-utils.spec index 5f5c4ff..dadc9f4 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: 29%{?dist} +Release: 34%{?dist} License: GPLv2+ Group: Development/Tools Source: http://yum.baseurl.org/download/yum-utils/%{name}-%{version}.tar.gz @@ -37,6 +37,12 @@ Patch58: BZ-1139032-reposync-directory-structure.patch Patch59: BZ-1140864-reposync-urls-option-ignores-downloaded.patch Patch60: BZ-1107658-needs-restarting-graceful-error.patch +#rhel-7.2 +Patch100: BZ-1075708-yum-config-manager-config-file-update.patch +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 + URL: http://yum.baseurl.org/download/yum-utils/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -387,6 +393,15 @@ Requires: puppet Supplies checksums for files in packages from puppet's state file. %endif +%package -n yum-plugin-ovl +Summary: Yum plugin to work around overlayfs issues +Group: System Environment/Base +Provides: yum-ovl = %{version}-%{release} +Requires: yum >= 3.4.3 + +%description -n yum-plugin-ovl +This plugin touches rpmdb files to work around overlayfs issues. + %prep %setup -q %patch1 -p1 @@ -410,6 +425,13 @@ Supplies checksums for files in packages from puppet's state file. %patch59 -p1 %patch60 -p1 +#rhel-7.2 +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 +%patch103 -p1 + + %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install @@ -441,6 +463,7 @@ plugins="\ local \ fs-snapshot \ ps \ + ovl \ " %if %{package_puppetverify} plugins="$plugins \ @@ -712,7 +735,38 @@ fi %{pluginhome}/puppetverify.* %endif +%files -n yum-plugin-ovl +%defattr(-, root, root) +%doc COPYING +%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/ovl.conf +%{pluginhome}/ovl.* +%{_mandir}/man1/yum-ovl.1.* + %changelog +* Mon Oct 12 2015 Valentina Mukhamedzhanova - 1.1.31-34 +- ovl plugin: run at init_hook stage. +- Resolves: bug#1269395 + +* Fri Sep 04 2015 Valentina Mukhamedzhanova - 1.1.31-33 +- ovl plugin: remove fs check and add manpage. +- Related: bug#1213602 + +* Tue Aug 04 2015 Valentina Mukhamedzhanova - 1.1.31-32 +- ovl plugin: change copy-up strategy, execute when root fs is mounted OverlayFS, add logging. +- Related: bug#1213602 + +* Thu Jul 02 2015 Valentina Mukhamedzhanova - 1.1.31-31 +- yum-builddep: respect --tolerant to ignore missing dependencies. +- Resolves: bug#817046 + +* Tue May 26 2015 Valentina Mukhamedzhanova - 1.1.31-30 +- yum-config-manager: update config file specified using -c option. +- Resolves: bug#1075708 +- yum-config-manager: require \* syntax to disable all repos. +- Resolves: bug#1151154 +- Add plugin for overlayfs issue workaround. +- Resolves: bug#1213602 + * Mon Nov 10 2014 Valentina Mukhamedzhanova - 1.1.31-29 - reposync: fix man page formatting. - Related: bug#1121714