[Yum-devel] [PATCH] Add a "--disableincludes" option to yum. BZ 911422

Zdenek Pavlas zpavlas at redhat.com
Thu Aug 1 14:21:34 UTC 2013


---
 cli.py          | 10 +++++-----
 docs/yum.8      |  7 +++++++
 yum/__init__.py |  4 ++++
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/cli.py b/cli.py
index 8b6b983..0eece17 100755
--- a/cli.py
+++ b/cli.py
@@ -2208,11 +2208,8 @@ class YumOptionParser(OptionParser):
                 if opts.color != 'auto':
                     self.base.term.reinit(color=opts.color)
 
-            if opts.disableexcludes:
-                disable_excludes = self._splitArg(opts.disableexcludes)
-            else:
-                disable_excludes = []
-            self.base.conf.disable_excludes = disable_excludes
+            self.base.conf.disable_excludes = self._splitArg(opts.disableexcludes)
+            self.base.conf.disable_includes = self._splitArg(opts.disableincludes)
 
             for exclude in self._splitArg(opts.exclude):
                 try:
@@ -2375,6 +2372,9 @@ class YumOptionParser(OptionParser):
         group.add_option("", "--disableexcludes", default=[], action="append",
                 help=_("disable exclude from main, for a repo or for everything"),
                         metavar='[repo]')
+        group.add_option("", "--disableincludes", default=[], action="append",
+                help=_("disable includepkgs for a repo or for everything"),
+                        metavar='[repo]')
         group.add_option("--obsoletes", action="store_true", 
                 help=_("enable obsoletes processing during updates"))
         group.add_option("--noplugins", action="store_true", 
diff --git a/docs/yum.8 b/docs/yum.8
index 39dcbb8..fc0d9ef 100644
--- a/docs/yum.8
+++ b/docs/yum.8
@@ -804,6 +804,13 @@ main == disable excludes defined in [main] in yum.conf
 .br
 repoid == disable excludes defined for that repo
 .br
+.IP "\fB\-\-disableincludes=[all|repoid]\fP"
+Disable the includes defined in your config files. Takes one of two options:
+.br
+all == disable all includes
+.br
+repoid == disable includes defined for that repo
+.br
 .IP "\fB\-\-disableplugin=plugin\fP"
 Run with one or more plugins disabled, the argument is a comma separated list
 of wildcards to match against plugin names.
diff --git a/yum/__init__.py b/yum/__init__.py
index ef56957..029e259 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -2079,6 +2079,10 @@ much more problems).
 
         :param repo: the repository to use
         """
+        if "all" in self.conf.disable_includes:
+            return
+        if repo.id in self.conf.disable_includes:
+            return
         includelist = repo.getIncludePkgList()
         
         if len(includelist) == 0:
-- 
1.7.11.7



More information about the Yum-devel mailing list