Bug 208520

Summary: yum doesn't respect in/excludes from repo-files
Product: [Fedora] Fedora Reporter: Lars G <researchlab>
Component: yumAssignee: Jeremy Katz <katzj>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: btanastasov, bugs.michael, mefoster
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-09-29 05:33:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
yum.conf
none
JPackage 1.7 repo file none

Description Lars G 2006-09-29 04:13:32 UTC
Description of problem:
after updating to yum-2.9.7-3
yum doesn't in/exclude packages from repo-files.

Version-Release number of selected component (if applicable):
yum-2.9.7-3

How reproducible:
always

Steps to Reproduce:
1. exclude some packages in a repo-file
2. do a yum update
3. package excludes are not respected
  
Additional info:

doing "--exclude=foo" on the commandline works ok, only repo-files are
not parsed correctly.

Comment 1 Seth Vidal 2006-09-29 05:33:48 UTC
This is fixed in cvs. It will be released in 2.9.8 or later - definitely before
fc6 release.


Comment 2 Seth Vidal 2006-09-30 17:25:05 UTC
*** Bug 208713 has been marked as a duplicate of this bug. ***

Comment 3 Mary Ellen Foster 2007-02-10 11:21:18 UTC
I think I'm seeing this in the current version of yum on FC6 (yum-3.0.3-1.fc6).
Here's jpackage.repo; I'm excluding lucene because of bug 228141:
[jpackage17-generic]
name=JPackage 1.7 (free), generic
# mirrorlist=http://www.jpackage.org/jpackage_generic.txt
baseurl=http://www.mirrorservice.org/sites/jpackage.org/1.7/generic/free/
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1
exclude=lucene*


And here's what happens when I try "yum update":
sudo yum --disablerepo=\* --enablerepo=jpackage17-generic update
Loading "kmdl" plugin
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files
Excluding Packages from JPackage 1.7 (free), generic
Finished
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package lucene.noarch 0:1.9.1-1jpp set to be updated
--> Running transaction check
--> Processing Dependency: berkeleydb for package: lucene
--> Processing Dependency: berkeleydb-native >= 0:4.3.29 for package: lucene
--> Processing Dependency: jline for package: lucene
--> Processing Dependency: javacc for package: lucene
--> Processing Dependency: jtidy for package: lucene
--> Processing Dependency: lucene = 0:1.4.3-1jpp.14 for package: lucene-devel
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package berkeleydb-native.noarch 0:4.3.29-2jpp set to be updated
---> Package jline.noarch 0:0.9.9-1jpp set to be updated
---> Package jtidy.noarch 1:1.0-0.20000804r7dev.6jpp set to be updated
---> Package berkeleydb.noarch 0:2.0.90-1jpp set to be updated
---> Package javacc.noarch 0:4.0-3jpp set to be updated
--> Running transaction check
--> Processing Dependency: lucene = 0:1.4.3-1jpp.14 for package: lucene-devel
--> Processing Dependency: j2ee-connector for package: berkeleydb
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package geronimo-j2ee-connector-1.5-api.noarch 0:1.1-1jpp set to be updated
--> Running transaction check
--> Processing Dependency: lucene = 0:1.4.3-1jpp.14 for package: lucene-devel
--> Finished Dependency Resolution
Error: Missing Dependency: lucene = 0:1.4.3-1jpp.14 is needed by package
lucene-devel


Note that I've got a couple of "include"s in *.repo files that work, but this is
the first time I'm trying "exclude" and it doesn't seem to be doing what I want.

Comment 4 Seth Vidal 2007-03-13 14:04:34 UTC
are you sure that the only place the lucene pkgs are is in that one repository?

try this for me, with the exclude in place run:

yum list available lucene\*

Comment 5 Mary Ellen Foster 2007-03-13 15:01:24 UTC
(NB: I did a "yum clean all" right before this, so it re-downloaded all of the
headers etc.)

% sudo yum list available lucene\*
Loading "installonlyn" plugin
Loading "fastestmirror" plugin
Setting up repositories
macromedia                100% |=========================|  951 B    00:00
livna                     100% |=========================| 1.1 kB    00:00
extras                    100% |=========================| 1.1 kB    00:00
gemi                      100% |=========================|  951 B    00:00
jpackage17-generic        100% |=========================|  951 B    00:00
updates                   100% |=========================| 1.2 kB    00:00
core                      100% |=========================| 1.1 kB    00:00
updates-testing           100% |=========================| 1.2 kB    00:00
Determining fastest mirrors
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 1.1 kB    00:00
macromedia: ################################################## 3/3
primary.xml.gz            100% |=========================| 115 kB    00:00
livna     : ################################################## 385/385
primary.xml.gz            100% |=========================| 1.4 MB    00:00
extras    : ################################################## 4441/4441
primary.xml.gz            100% |=========================|  64 kB    00:00
gemi      : ################################################## 165/165
primary.xml.gz            100% |=========================| 470 kB    00:00
jpackage17: ################################################## 2023/2023
primary.xml.gz            100% |=========================| 547 kB    00:00
updates   : ################################################## 1240/1240
primary.xml.gz            100% |=========================| 824 kB    00:00
core      : ################################################## 2242/2242
primary.xml.gz            100% |=========================|  48 kB    00:00
updates-te: ################################################## 61/61
Excluding Packages from JPackage 1.7 (free), generic
Finished
Available Packages
lucene.noarch                            1.9.1-1jpp             jpackage17-gener
lucene-demo.i386                         1.4.3-1jpp.14          core
lucene-javadoc.i386                      1.4.3-1jpp.14          core


And here's the "lucene" I do have installed (from core; I think it's i386):
lucene-1.4.3-1jpp.14

Comment 6 Seth Vidal 2007-03-13 15:05:41 UTC
and this is happening on yum 3.0.3 or 3.0.4? b/c I can't seem to duplicate this
at all.


Comment 7 Mary Ellen Foster 2007-03-13 15:54:46 UTC
Created attachment 149941 [details]
yum.conf

Comment 8 Mary Ellen Foster 2007-03-13 15:55:44 UTC
Created attachment 149942 [details]
JPackage 1.7 repo file

Comment 9 Mary Ellen Foster 2007-03-13 15:57:30 UTC
I just tried a minimal test using the above two files that I attached. It's
weird ... some of the excludes seem to work, but some don't. Is it a noarch/i386
issue or something weird like that?

% sudo yum -d5 --disablerepo=\* --enablerepo=jpackage17-generic check-update
Loading "installonlyn" plugin
Loading "fastestmirror" plugin
Running "config" handler for "installonlyn" plugin
Running "init" handler for "fastestmirror" plugin
Yum Version: 3.0.4
COMMAND: yum -d5
Installroot: /
Setting up repositories
jpackage17-generic        100% |=========================|  951 B    00:00
Running "postreposetup" handler for "fastestmirror" plugin
Determining fastest mirrors
Reading repository metadata in from local files
Setting up Package Sacks
primary.xml.gz            100% |=========================| 470 kB    00:00
jpackage17: ################################################## 2023/2023
Excluding Packages from JPackage 1.7 (free), generic
Excluding tomcat5-jsp-2.0-api - 5.5.23-3jpp.noarch
Excluding geronimo11-config-daytrader-derby-tomcat-streamer - 1.1-1jpp.noarch
Excluding geronimo-corba-1.0-apis - 1.1-3jpp.noarch
Excluding geronimo-specs-poms - 1.1-3jpp.noarch
Excluding tomcat5-server-lib - 5.5.23-3jpp.noarch
Excluding geronimo-jaxrpc-1.1-api - 1.1-3jpp.noarch
Excluding geronimo-jta-1.0.1B-api - 1.1-3jpp.noarch
Excluding geronimo-specs-javadoc - 1.1-3jpp.noarch
Excluding tomcat5-admin-webapps - 5.5.23-3jpp.noarch
Excluding geronimo-j2ee-management-1.0-api - 1.1-3jpp.noarch
Excluding geronimo11-server-base - 1.1-1jpp.noarch
Excluding tomcat5-webapps - 5.5.23-3jpp.noarch
Excluding geronimo-jms-1.1-api - 1.1-3jpp.noarch
Excluding geronimo-jaf-1.0.2-api - 1.1-3jpp.noarch
Excluding geronimo11-config-uddi-tomcat - 1.1-1jpp.noarch
Excluding geronimo11-server-tomcat-base - 1.1-1jpp.noarch
Excluding geronimo11-config-remote-deploy-tomcat - 1.1-1jpp.noarch
Excluding geronimo-corba-2.3-apis - 1.1-3jpp.noarch
Excluding geronimo-ejb-2.1-api - 1.1-3jpp.noarch
Excluding geronimo11-config-ldap-demo-tomcat - 1.1-1jpp.noarch
Excluding lucene - 1.9.1-1jpp.noarch
Excluding geronimo11-config-jsp-examples-jetty - 1.1-1jpp.noarch
Excluding geronimo11-config-daytrader-derby-tomcat - 1.1-1jpp.noarch
Excluding geronimo-saaj-1.1-api - 1.1-3jpp.noarch
Excluding geronimo11-base - 1.1-1jpp.noarch
Excluding geronimo-specs - 1.1-3jpp.noarch
Excluding geronimo-j2ee-deployment-1.1-api - 1.1-3jpp.noarch
Excluding geronimo11-config-daytrader-derby-jetty-streamer - 1.1-1jpp.noarch
Excluding tomcat5 - 5.5.23-3jpp.noarch
Excluding geronimo11-config-webconsole-tomcat - 1.1-1jpp.noarch
Excluding geronimo11-server-j2ee-jetty - 1.1-1jpp.noarch
Excluding lucene-contrib-db - 1.9.1-1jpp.noarch
Excluding geronimo-jaxr-1.0-api - 1.1-3jpp.noarch
Excluding tomcat5-jsp-2.0-api-javadoc - 5.5.23-3jpp.noarch
Excluding geronimo-jacc-1.0-api - 1.1-3jpp.noarch
Excluding geronimo11-installer-support - 1.1-1jpp.noarch
Excluding geronimo11-izpack-plugin - 1.1-1jpp.noarch
Excluding geronimo11-server-minimal-base - 1.1-1jpp.noarch
Excluding geronimo11-dependency-plugin - 1.1-1jpp.noarch
Excluding geronimo11-server-j2ee-base - 1.1-1jpp.noarch
Excluding tomcat5-servlet-2.4-api - 5.5.23-3jpp.noarch
Excluding geronimo-jcache-1.0-api-javadoc - 1.0-1jpp.noarch
Excluding geronimo-j2ee-connector-1.5-api - 1.1-3jpp.noarch
Excluding lucene-contrib - 1.9.1-1jpp.noarch
Excluding lucene-javadoc - 1.9.1-1jpp.noarch
Excluding tomcat5-jasper - 5.5.23-3jpp.noarch
Excluding geronimo11-config-jsp-examples-tomcat - 1.1-1jpp.noarch
Excluding lucene-demo - 1.9.1-1jpp.noarch
Excluding geronimo11-config-welcome-tomcat - 1.1-1jpp.noarch
Excluding geronimo-jsp-2.0-api - 1.1-3jpp.noarch
Excluding geronimo11-server-j2ee-tomcat - 1.1-1jpp.noarch
Excluding geronimo11-config-ldap-demo-jetty - 1.1-1jpp.noarch
Excluding geronimo11-config-daytrader-derby-jetty - 1.1-1jpp.noarch
Excluding geronimo11-daytrader-derby - 1.1-1jpp.noarch
Excluding geronimo11-config-servlets-examples-jetty - 1.1-1jpp.noarch
Excluding tomcat5-jasper-javadoc - 5.5.23-3jpp.noarch
Excluding geronimo-javamail-1.3.1-api - 1.1-3jpp.noarch
Excluding geronimo11-server-jetty-base - 1.1-1jpp.noarch
Excluding geronimo11-installer-processing - 1.1-1jpp.noarch
Excluding geronimo11-deployment-plugin - 1.1-1jpp.noarch
Excluding geronimo11-server-minimal-tomcat - 1.1-1jpp.noarch
Excluding geronimo11-javadoc - 1.1-1jpp.noarch
Excluding geronimo11-packaging-plugin - 1.1-1jpp.noarch
Excluding geronimo-jcache-1.0-api - 1.0-1jpp.noarch
Excluding geronimo11-config-directory - 1.1-1jpp.noarch
Excluding geronimo-servlet-2.4-api - 1.1-3jpp.noarch
Excluding geronimo11-config-servlets-examples-tomcat - 1.1-1jpp.noarch
Excluding geronimo-qname-1.1-api - 1.1-3jpp.noarch
Excluding geronimo11-config-remote-deploy-jetty - 1.1-1jpp.noarch
Excluding geronimo11-directory - 1.1-1jpp.noarch
Excluding tomcat5-common-lib - 5.5.23-3jpp.noarch
Excluding geronimo11-config-webconsole-jetty - 1.1-1jpp.noarch
Excluding geronimo11-assembly-plugin - 1.1-1jpp.noarch
Excluding geronimo-corba-3.0-apis - 1.1-3jpp.noarch
Excluding geronimo11-config-uddi-jetty - 1.1-1jpp.noarch
Excluding geronimo-j2ee-1.4-apis - 1.1-3jpp.noarch
Excluding geronimo11 - 1.1-1jpp.noarch
Excluding geronimo-commonj-1.1-apis - 1.1-3jpp.noarch
Excluding geronimo11-config-ldap-realm - 1.1-1jpp.noarch
Excluding geronimo11-server-minimal-jetty - 1.1-1jpp.noarch
Excluding geronimo11-config-welcome-jetty - 1.1-1jpp.noarch
Excluding tomcat5-servlet-2.4-api-javadoc - 5.5.23-3jpp.noarch
Finished
Reading Local RPMDB
Building updates object

lucene.noarch                            1.9.1-1jpp             jpackage17-gener
tomcat5.noarch                           5.5.23-3jpp            jpackage17-gener


Comment 10 Mary Ellen Foster 2007-03-13 16:06:04 UTC
Okay, a bit more information. If I put the "excludes" into just yum.conf, I get
basically the same output as above except it's "excluding" from the global
exclude list. However, if I put the exclude line into *both* yum.conf and the
.repo file, it seems to stick: note that the exclude line is *identical* in both
files ("exclude=tomcat* lucene* geronimo*"), but the second exclude still seems
to grab stuff that the first doesn't. (Note that the two "geronimo" packages
mentioned in the second exclude aren't installed on my system at all, but
tomcat5-5.5.17-6jpp.2 and lucene-1.4.3-1jpp.14 are.)

% sudo yum -d5 --disablerepo=\* --enablerepo=jpackage17-generic check-update
Loading "installonlyn" plugin
Loading "fastestmirror" plugin
Running "config" handler for "installonlyn" plugin
Running "init" handler for "fastestmirror" plugin
Yum Version: 3.0.4
COMMAND: yum -d5
Installroot: /
Setting up repositories
jpackage17-generic        100% |=========================|  951 B    00:00
Running "postreposetup" handler for "fastestmirror" plugin
Determining fastest mirrors
Reading repository metadata in from local files
Setting up Package Sacks
primary.xml.gz            100% |=========================| 470 kB    00:00
jpackage17: ################################################## 2023/2023
Excluding Packages in global exclude list
Excluding tomcat5-jsp-2.0-api - 5.5.23-3jpp.noarch
Excluding geronimo11-config-daytrader-derby-tomcat-streamer - 1.1-1jpp.noarch
Excluding geronimo-corba-1.0-apis - 1.1-3jpp.noarch
Excluding geronimo-specs-poms - 1.1-3jpp.noarch
Excluding tomcat5-server-lib - 5.5.23-3jpp.noarch
Excluding geronimo-jaxrpc-1.1-api - 1.1-3jpp.noarch
Excluding geronimo-jta-1.0.1B-api - 1.1-3jpp.noarch
Excluding geronimo-specs-javadoc - 1.1-3jpp.noarch
Excluding tomcat5-admin-webapps - 5.5.23-3jpp.noarch
Excluding geronimo-j2ee-management-1.0-api - 1.1-3jpp.noarch
Excluding geronimo11-server-base - 1.1-1jpp.noarch
Excluding tomcat5-webapps - 5.5.23-3jpp.noarch
Excluding geronimo-jms-1.1-api - 1.1-3jpp.noarch
Excluding geronimo-jaf-1.0.2-api - 1.1-3jpp.noarch
Excluding geronimo11-config-uddi-tomcat - 1.1-1jpp.noarch
Excluding geronimo11-server-tomcat-base - 1.1-1jpp.noarch
Excluding geronimo11-config-remote-deploy-tomcat - 1.1-1jpp.noarch
Excluding geronimo-corba-2.3-apis - 1.1-3jpp.noarch
Excluding geronimo-ejb-2.1-api - 1.1-3jpp.noarch
Excluding geronimo11-config-ldap-demo-tomcat - 1.1-1jpp.noarch
Excluding lucene - 1.9.1-1jpp.noarch
Excluding geronimo11-config-jsp-examples-jetty - 1.1-1jpp.noarch
Excluding geronimo11-config-daytrader-derby-tomcat - 1.1-1jpp.noarch
Excluding geronimo-saaj-1.1-api - 1.1-3jpp.noarch
Excluding geronimo11-base - 1.1-1jpp.noarch
Excluding geronimo-specs - 1.1-3jpp.noarch
Excluding geronimo-j2ee-deployment-1.1-api - 1.1-3jpp.noarch
Excluding geronimo11-config-daytrader-derby-jetty-streamer - 1.1-1jpp.noarch
Excluding tomcat5 - 5.5.23-3jpp.noarch
Excluding geronimo11-config-webconsole-tomcat - 1.1-1jpp.noarch
Excluding geronimo11-server-j2ee-jetty - 1.1-1jpp.noarch
Excluding lucene-contrib-db - 1.9.1-1jpp.noarch
Excluding geronimo-jaxr-1.0-api - 1.1-3jpp.noarch
Excluding tomcat5-jsp-2.0-api-javadoc - 5.5.23-3jpp.noarch
Excluding geronimo-jacc-1.0-api - 1.1-3jpp.noarch
Excluding geronimo11-installer-support - 1.1-1jpp.noarch
Excluding geronimo11-izpack-plugin - 1.1-1jpp.noarch
Excluding geronimo11-server-minimal-base - 1.1-1jpp.noarch
Excluding geronimo11-dependency-plugin - 1.1-1jpp.noarch
Excluding geronimo11-server-j2ee-base - 1.1-1jpp.noarch
Excluding tomcat5-servlet-2.4-api - 5.5.23-3jpp.noarch
Excluding geronimo-jcache-1.0-api-javadoc - 1.0-1jpp.noarch
Excluding geronimo-j2ee-connector-1.5-api - 1.1-3jpp.noarch
Excluding lucene-contrib - 1.9.1-1jpp.noarch
Excluding lucene-javadoc - 1.9.1-1jpp.noarch
Excluding tomcat5-jasper - 5.5.23-3jpp.noarch
Excluding geronimo11-config-jsp-examples-tomcat - 1.1-1jpp.noarch
Excluding lucene-demo - 1.9.1-1jpp.noarch
Excluding geronimo11-config-welcome-tomcat - 1.1-1jpp.noarch
Excluding geronimo-jsp-2.0-api - 1.1-3jpp.noarch
Excluding geronimo11-server-j2ee-tomcat - 1.1-1jpp.noarch
Excluding geronimo11-config-ldap-demo-jetty - 1.1-1jpp.noarch
Excluding geronimo11-config-daytrader-derby-jetty - 1.1-1jpp.noarch
Excluding geronimo11-daytrader-derby - 1.1-1jpp.noarch
Excluding geronimo11-config-servlets-examples-jetty - 1.1-1jpp.noarch
Excluding tomcat5-jasper-javadoc - 5.5.23-3jpp.noarch
Excluding geronimo-javamail-1.3.1-api - 1.1-3jpp.noarch
Excluding geronimo11-server-jetty-base - 1.1-1jpp.noarch
Excluding geronimo11-installer-processing - 1.1-1jpp.noarch
Excluding geronimo11-deployment-plugin - 1.1-1jpp.noarch
Excluding geronimo11-server-minimal-tomcat - 1.1-1jpp.noarch
Excluding geronimo11-javadoc - 1.1-1jpp.noarch
Excluding geronimo11-packaging-plugin - 1.1-1jpp.noarch
Excluding geronimo-jcache-1.0-api - 1.0-1jpp.noarch
Excluding geronimo11-config-directory - 1.1-1jpp.noarch
Excluding geronimo-servlet-2.4-api - 1.1-3jpp.noarch
Excluding geronimo11-config-servlets-examples-tomcat - 1.1-1jpp.noarch
Excluding geronimo-qname-1.1-api - 1.1-3jpp.noarch
Excluding geronimo11-config-remote-deploy-jetty - 1.1-1jpp.noarch
Excluding geronimo11-directory - 1.1-1jpp.noarch
Excluding tomcat5-common-lib - 5.5.23-3jpp.noarch
Excluding geronimo11-config-webconsole-jetty - 1.1-1jpp.noarch
Excluding geronimo11-assembly-plugin - 1.1-1jpp.noarch
Excluding geronimo-corba-3.0-apis - 1.1-3jpp.noarch
Excluding geronimo11-config-uddi-jetty - 1.1-1jpp.noarch
Excluding geronimo-j2ee-1.4-apis - 1.1-3jpp.noarch
Excluding geronimo11 - 1.1-1jpp.noarch
Excluding geronimo-commonj-1.1-apis - 1.1-3jpp.noarch
Excluding geronimo11-config-ldap-realm - 1.1-1jpp.noarch
Excluding geronimo11-server-minimal-jetty - 1.1-1jpp.noarch
Excluding geronimo11-config-welcome-jetty - 1.1-1jpp.noarch
Excluding tomcat5-servlet-2.4-api-javadoc - 5.5.23-3jpp.noarch
Finished
Excluding Packages from JPackage 1.7 (free), generic
Excluding geronimo-jcache-1.0-api - 1.0-1jpp.noarch
Excluding lucene - 1.9.1-1jpp.noarch
Excluding tomcat5 - 5.5.23-3jpp.noarch
Excluding geronimo-specs - 1.1-3jpp.noarch
Finished
Reading Local RPMDB
Building updates object


Comment 11 Seth Vidal 2007-03-14 19:42:34 UTC
I cannot replicate this, at all, on 3.0.4. I've tried with pkgs with multiple
arches in a repo (i386 and noarch). Are you sure you don't have part of an old
yum install somewhere or anything else going on  b/c I can't find this problem.

Thanks

Comment 12 Mary Ellen Foster 2007-04-30 15:22:23 UTC
Here's another interesting tidbit ... with yum 3.0.6 and the same config files
but with *no* excludes at all, I see the following logging message at higher
debug levels:

More than one identical match in sack for tomcat5 - 5.5.23-7jpp.noarch
More than one identical match in sack for lucene - 1.9.1-1jpp.noarch

Does that give any clues as to what the problem might be?

This is still 100% reproducible on my laptop. Do you have any suggestions on how
I could go about debugging this? I'm comfortable with programming and with
building and testing RPMs.

Comment 13 Mary Ellen Foster 2007-05-08 14:06:07 UTC
Okay, did a bit more investigation. This is a problem with the JPackage
repositories: they have a bunch of SRPMS listed in addition to the normal RPMS,
so "lucene" and "tomcat5" both show up *twice* in the list of packages. That's
why there's the message about "More than one identical match" and why it takes
two "exclude"s to really exclude them.

False alarm; NOTABUG in yum, as far as I can tell.