diff --git a/SOURCES/BZ-1024070-yum-builddep-requires-source-repos-disabled.patch b/SOURCES/BZ-1024070-yum-builddep-requires-source-repos-disabled.patch
new file mode 100644
index 0000000..0a439b4
--- /dev/null
+++ b/SOURCES/BZ-1024070-yum-builddep-requires-source-repos-disabled.patch
@@ -0,0 +1,66 @@
+commit 8d1f2b4a8ba6306152c25591ab6b14b6ad9915bd
+Author: Zdenek Pavlas <zpavlas@redhat.com>
+Date:   Fri Jan 17 14:45:46 2014 +0100
+
+    yum-builddep: Use srpms in already enabled repos. BZ 1024070
+    
+    Enable "src" arch first, then source repos, then init sacks.
+    Fixes BZ and we don't have to disable/enable to change arches.
+
+diff --git a/yum-builddep.py b/yum-builddep.py
+index b9e682a..216066e 100755
+--- a/yum-builddep.py
++++ b/yum-builddep.py
+@@ -92,6 +92,10 @@ class YumBuildDep(YumUtilBase):
+             self.logger.error("Error: You must be root to install packages")
+             sys.exit(1)
+ 
++        # Use source rpms
++        self.arch.archlist.append('src')
++        self.setupSourceRepos()
++
+         # Setup yum (Ts, RPM db, Repo & Sack)
+         self.doUtilYumSetup()
+         # Do the real action
+@@ -122,7 +126,6 @@ class YumBuildDep(YumUtilBase):
+         
+     def setupSourceRepos(self):
+         # enable the -source repos for enabled primary repos
+-        archlist = rpmUtils.arch.getArchList() + ['src']    
+         for repo in self.repos.listEnabled():
+             issource_repo = repo.id.endswith('-source')
+             if rhn_source_repos and repo.id.endswith('-source-rpms'):
+@@ -133,24 +136,13 @@ class YumBuildDep(YumUtilBase):
+             elif not issource_repo:
+                 srcrepo = '%s-source' % repo.id
+             else:
+-                # Need to change the arch.
+-                repo.close()
+-                self.repos.disableRepo(repo.id)
+-                srcrepo = repo.id
++                continue
+             
+             for r in self.repos.findRepos(srcrepo):
+                 if r in self.repos.listEnabled():
+                     continue
+                 self.logger.info('Enabling %s repository' % r.id)
+                 r.enable()
+-                # Setup the repo, without a cache
+-                r.setup(0)
+-                # Setup pkgSack with 'src' in the archlist
+-                try:
+-                    self._getSacks(archlist=archlist,thisrepo=r.id)
+-                except yum.Errors.RepoError, e:
+-                    print "Could not setup repo %s: %s" % (r.id, e)
+-                    sys.exit(1)
+ 
+     def install_deps(self, deplist):
+         errors = set()
+@@ -213,7 +205,6 @@ class YumBuildDep(YumUtilBase):
+ 
+         toActOn = []     
+         if srcnames:
+-            self.setupSourceRepos()
+             pkgs = self.pkgSack.returnPackages(patterns=srcnames)
+             exact, match, unmatch = yum.packages.parsePackages(pkgs, srcnames, casematch=1)
+             srpms += exact + match
diff --git a/SOURCES/BZ-1050218-YumBaseError-not-defined.patch b/SOURCES/BZ-1050218-YumBaseError-not-defined.patch
new file mode 100644
index 0000000..87224df
--- /dev/null
+++ b/SOURCES/BZ-1050218-YumBaseError-not-defined.patch
@@ -0,0 +1,12 @@
+diff -up yum-utils-1.1.31/repoquery.py.old yum-utils-1.1.31/repoquery.py
+--- yum-utils-1.1.31/repoquery.py.old	2014-01-10 11:43:02.213877563 +0100
++++ yum-utils-1.1.31/repoquery.py	2014-01-10 11:45:52.755169727 +0100
+@@ -1412,7 +1412,7 @@ def main(args):
+     repoq.preconf.root = opts.installroot
+     try:
+         repoq.conf
+-    except YumBaseError, e:
++    except yum.Errors.YumBaseError, e:
+         repoq.logger.error(e)
+         sys.exit(1)
+ 
diff --git a/SOURCES/BZ-1052871-debuginfo-install-wrong-repo-suffix.patch b/SOURCES/BZ-1052871-debuginfo-install-wrong-repo-suffix.patch
new file mode 100644
index 0000000..ca3ce5f
--- /dev/null
+++ b/SOURCES/BZ-1052871-debuginfo-install-wrong-repo-suffix.patch
@@ -0,0 +1,16 @@
+diff --git a/debuginfo-install.py b/debuginfo-install.py
+index 0f026f1..bb61a1d 100755
+--- a/debuginfo-install.py
++++ b/debuginfo-install.py
+@@ -86,7 +86,10 @@ class DebugInfoInstall(YumUtilBase):
+         for repo in self.repos.listEnabled():
+             repos[repo.id] = repo
+         for repoid in repos:
+-            di = '%s-debuginfo' % repoid
++            if repoid.endswith('-rpms'):
++                di = repoid[:-5] + '-debug-rpms'
++            else:
++                di = '%s-debuginfo' % repoid
+             if di in repos:
+                 continue
+             repo = repos[repoid]
diff --git a/SOURCES/BZ-1060702-reposync-nonexistent-repo.patch b/SOURCES/BZ-1060702-reposync-nonexistent-repo.patch
new file mode 100644
index 0000000..33f71e4
--- /dev/null
+++ b/SOURCES/BZ-1060702-reposync-nonexistent-repo.patch
@@ -0,0 +1,30 @@
+commit fbdc19f411ee31bf18af242e7b3b39947ed28f2d
+Author: Valentina Mukhamedzhanova <vmukhame@redhat.com>
+Date:   Thu Feb 13 15:30:23 2014 +0100
+
+     Fix 'reposync -r nosuchrepo' behaviour. BZ 1060702
+    
+    Show a warning if user-provided repoid was not found and
+    exit(1) if none of user-provided repoids were found.
+
+diff --git a/reposync.py b/reposync.py
+index b1ee285..e7c98a3 100755
+--- a/reposync.py
++++ b/reposync.py
+@@ -179,7 +179,15 @@ def main():
+         
+         # find the ones we want
+         for glob in opts.repoid:
+-            myrepos.extend(my.repos.findRepos(glob))
++            add_repos = my.repos.findRepos(glob)
++            if not add_repos:
++                print >> sys.stderr, "Warning: cannot find repository %s" % glob
++                continue
++            myrepos.extend(add_repos)
++
++        if not myrepos:
++            print >> sys.stderr, "No repositories found"
++            sys.exit(1)
+         
+         # disable them all
+         for repo in my.repos.repos.values():
diff --git a/SPECS/yum-utils.spec b/SPECS/yum-utils.spec
index ca84aa8..87e2642 100644
--- a/SPECS/yum-utils.spec
+++ b/SPECS/yum-utils.spec
@@ -12,12 +12,16 @@
 Summary: Utilities based around the yum package manager
 Name: yum-utils
 Version: 1.1.31
-Release: 19%{?dist}
+Release: 24%{?dist}
 License: GPLv2+
 Group: Development/Tools
 Source: http://yum.baseurl.org/download/yum-utils/%{name}-%{version}.tar.gz
 Patch1: yum-utils-HEAD.patch
 Patch2: BZ-1002491-remove-security-plugin.patch
+Patch3: BZ-1050218-YumBaseError-not-defined.patch
+Patch4: BZ-1052871-debuginfo-install-wrong-repo-suffix.patch
+Patch5: BZ-1024070-yum-builddep-requires-source-repos-disabled.patch
+Patch6: BZ-1060702-reposync-nonexistent-repo.patch
 URL: http://yum.baseurl.org/download/yum-utils/
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildArch: noarch
@@ -372,6 +376,10 @@ Supplies checksums for files in packages from puppet's state file.
 %setup -q
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -676,6 +684,25 @@ fi
 %endif
 
 %changelog
+* Fri Feb 14 2014 Valentina Mukhamedzhanova <vmukhame@redhat.com> - 1.1.31-24
+- reposync: fix 'reposync -r nosuchrepo' behaviour.
+- Resolves: bug#1060702
+
+* Mon Jan 20 2014 Valentina Mukhamedzhanova <vmukhame@redhat.com> - 1.1.31-23
+- yum-builddep: Use srpms in already enabled repos.
+- Resolves: bug1024070
+
+* Wed Jan 15 2014 Valentina Mukhamedzhanova <vmukhame@redhat.com> - 1.1.31-22
+- Fix repo suffix to '-debug-rpms' in debuginfo-install.
+- Resolves: bug#1052871
+
+* Fri Jan 10 2014 Valentina Mukhamedzhanova <vmukhame@redhat.com> - 1.1.31-21
+- Fix YumBaseError name error in repoquery
+- Resolves: bug#1050218
+
+* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.1.31-20
+- Mass rebuild 2013-12-27
+
 * Fri Nov  1 2013 James Antill <james.antill@redhat.com> - 1.1.31-19
 - Remove security plugin.
 - Resolves: rhbz#1002491