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 <vmukhame@redhat.com>
+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 <vmukhame@redhat.com>
+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 <vmukhame@redhat.com>
+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 <podvody@redhat.com>
++#
++# 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 <vmukhame@redhat.com>
+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 <vmukhame@redhat.com>
+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 <vmukhame@redhat.com>
+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 <podvody@redhat.com>
+-#
+-# 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 <vmukhame@redhat.com>
+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 <podvody@redhat.com>
+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 <podvody@redhat.com>
+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 <vmukhame@redhat.com>
+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 <vmukhame@redhat.com>
+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 <vmukhame@redhat.com> - 1.1.31-34
+- ovl plugin: run at init_hook stage.
+- Resolves: bug#1269395
+
+* Fri Sep 04 2015 Valentina Mukhamedzhanova <vmukhame@redhat.com> - 1.1.31-33
+- ovl plugin: remove fs check and add manpage.
+- Related: bug#1213602
+
+* Tue Aug 04 2015 Valentina Mukhamedzhanova <vmukhame@redhat.com> - 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 <vmukhame@redhat.com> - 1.1.31-31
+- yum-builddep: respect --tolerant to ignore missing dependencies.
+- Resolves: bug#817046
+
+* Tue May 26 2015 Valentina Mukhamedzhanova <vmukhame@redhat.com> - 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 <vmukhame@redhat.com> - 1.1.31-29
 - reposync: fix man page formatting.
 - Related: bug#1121714