[Bug 811162] New: texlive-scheme-medium won't install due to many uninstallable texlive components
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c0 Summary: texlive-scheme-medium won't install due to many uninstallable texlive components Classification: openSUSE Product: openSUSE 12.3 Version: Final Platform: i686 OS/Version: openSUSE 12.2 Status: NEW Severity: Normal Priority: P5 - None Component: Other AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: jimc@math.ucla.edu QAContact: qa-bugs@suse.de Found By: Customer Blocker: --- (This is actually for OS = openSUSE 12.3) I do: zypper install texlive-scheme-medium . It complains that texlive-scheme-medium-2012.61.svn18615-4.2.1 requires uninstallable provider texlive-collection-context-2012.61.svn23785-4.2.1.noarch . Following the chain of A requires uninstallable B requires uninstallable C... I reached: texlive-tools-2012.60.svn26263-4.2.1.noarch requires texlive-extratools >= 2012 Uninstallable provider: texlive-extratools-2012.61-4.2.1.noarch And texlive-extratools is installable by itself. If I do: zypper install texlive-extratools texlive-tools it says texlive-extratools-2012.61-4.2.1.noarch obsoletes texlive-tools provided by texlive-tools-2012.60.svn26263-4.2.1.noarch Note that %{texlive_noarch} is 61 on extratools and 60 on tools. The source RPM for all these packages is texlive-filesystem-2012.61-4.2.1.src.rpm In the texlive-extratools section it says: Obsoletes: texlive-tools < %{texlive_version} (value is 2012). I think Zypper is overinterpreting the Obsoletes relation. I commented out the Obsoletes statement, and this pair of packages became installable, but there were several other similar dependency chains that I followed, stomping Obsoletes statements one at a time, but I did not finish that project. Workaround: I edited texlive-filesystem.spec removing every Obsoletes statement, incremented the build number on all packages (78 of them I think) to 4.2.2 (from 4.2.1) so the recompiled package will be preferred, and did: rpmbuild -bb /usr/src/packages/SPECS/texlive-filesystem.spec I made the built packages, from /usr/src/packages/RPMS/noarch, available on my enterprise mirror. Now texlive-scheme-medium, which is my desired keystone package, can be installed. What I would like the developers to do: I'm not completely sure. A. Is libzypp or satsolver comparing the complete versions of potentially obsolete packages (wrong)? It should do just the comparison listed in the Obsoletes statement, which would have let these packages on. B. Is texlive-filesystem.spec overzealous with the Obsoletes relations? What's in the spec file seems reasonable, if it would just be obeyed. C. All these packages originate from the Official Release on download.opensuse.org (no Pbone, no "unstable packages"). Although I believe all the packages out of texlive-filesystem have %{texlive_noarch}=61, there are a number of other packages back at minor(?) version 60, such as texlive-tools-2012.60.svn26263-4.2.1.noarch and texlive-xdvi-2012.60.22.84.16svn23138-4.2.1.noarch . Is this version skew actually causing the problem, and would upgrading all packages to minor version 61 put a band-aid on it? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c Andreas Jaeger <aj@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team-screening@forge.pr |werner@suse.com |ovo.novell.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c1 Dr. Werner Fink <werner@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO CC| |ma@suse.com, ro@suse.com InfoProvider| |ma@suse.com --- Comment #1 from Dr. Werner Fink <werner@suse.com> 2013-03-27 08:51:02 UTC --- There is a problem with removing this obsoletes: an existion TeXLive 2011 of e.g. openSUSE 12.2 would crash then. As I'm not allowed to move subversions like .60.svn26263 into the Release and zypper seems not be able to determine e.g. texlive-tools < %{texlive_version} without the subversions I don't know how to solve this. Removing will lead to problems if old packages will not be removed, not removing it causing such bugs. @Michael and Rudi? How can this be solved? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c2 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- InfoProvider|ma@suse.com |jimc@math.ucla.edu --- Comment #2 from Michael Andres <ma@suse.com> 2013-03-27 11:34:21 CET --- (In reply to comment #1)
like .60.svn26263 into the Release and zypper seems not be able to determine e.g. texlive-tools < %{texlive_version}
To be sure we should figure out what James problem actually is. For this we need a solver testcase. @James: Your system needs to be in the state where 'zypper install texlive-scheme-medium' fails as described above. Create and attach a solver testcase: # zypper install --debug-solver texlive-scheme-medium ... Generating solver test case... Solver test case generated successfully at /var/log/zypper.solverTestCase. Please tar the output directory and attach it to the bugreport. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c3 --- Comment #3 from Dr. Werner Fink <werner@suse.com> 2013-03-27 10:38:57 UTC --- I thought about ... maybe the obsolete lines should become e.g. texlive-tools <= 2011 as this was the last TeXLive version from openmSUSE 12.2 and below. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c4 --- Comment #4 from Michael Andres <ma@suse.com> 2013-03-27 12:18:34 CET ---
texlive-tools <= 2011
No, this won't obsolete any '2011.<something>'. Appart from that, 'texlive-tools < 2012' is right and I don't expect this being the actual problem here. In case it turns out to be, then it would be a serious bug that needs to be fixed in the solver, not in the packages. Let's wait for the testcase. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c5 --- Comment #5 from Dr. Werner Fink <werner@suse.com> 2013-03-27 11:38:10 UTC --- (In reply to comment #4) Indeed it would be a problem is there would be a TeXLive '2011.<something>' but there is no such beast ;) But OK this is could be a general problem of the solver as well. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c6 --- Comment #6 from James Carter <jimc@math.ucla.edu> 2013-03-28 05:16:18 UTC --- Created an attachment (id=532306) --> (http://bugzilla.novell.com/attachment.cgi?id=532306) Test case for texlive-scheme-medium -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c7 --- Comment #7 from James Carter <jimc@math.ucla.edu> 2013-03-28 05:17:52 UTC --- Created an attachment (id=532307) --> (http://bugzilla.novell.com/attachment.cgi?id=532307) Zypper test case for texlive-extratools texlive-tools -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c8 James Carter <jimc@math.ucla.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|jimc@math.ucla.edu | --- Comment #8 from James Carter <jimc@math.ucla.edu> 2013-03-28 05:23:28 UTC --- @Michael: here are 2 test cases. I removed the de-obsolete packages from my enterprise repo, restored the virtual test machine to a state with a minimal installation, and did: zypper refresh zypper install texlive-scheme-medium It claimed that texlive-collection-context-2012.61.svn23785-4.2.1.noarch was uninstallable, i.e. I had successfully reverted to the failing state. Then I did: zypper install --debug-solver texlive-scheme-medium That's attachment 532506. I also did zypper install --debug-solver texlive-extratools texlive-tools (having checked that it also fails); this is attachment 532307. This one should provide a more limited and clearer picture of the failure in action. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c9 --- Comment #9 from Michael Andres <ma@suse.com> 2013-03-28 12:48:47 CET --- Thanks for the testcase. One problem is texlive-collection-context: DUMP texlive-collection-context { ============================== (841)texlive-collection-context-2012.61.svn23785-4.2.1.noarch(Couch-Build-12.3) PROVIDES (1){ texlive-collection-context == 2012.61.svn23785-4.2.1 } REQUIRES (32){ ... texlive-context >= 2012 ... } OBSOLETES (1){ texlive-context } } You can't require texlive-context and at the same time obsolete all texlive-context versions. This makes the package uninstallable. It had to be 'texlive-context < 2012', but actually a REQUIRES/OBSOLETES does not make much sense to me at all. If there still is a texlive-context package, it will take care about obsoleting it's old versions when it gets installed. So the OBSOLETES is IMO needless. Likewise in PROVIDES/OBSOLETES, indicating a package renames: avoid unconditional obsoletes! texlive-collection-documentation-base-2012.61.svn17091-4.2.1.noarch: PROVIDES texlive-doc == 2012 OBSOLETES texlive-doc It should be 'OBSOLETES texlive-doc < 2012' === A quick query on the testcase listing texlive packages with unconditional obsoletes. They should be reviewed. There are also some more uninstallable packages (obsolets/requires): texlive-collection-binextra-2012.61.svn25648-4.2.1.noarch obs: texlive-bin obs: texlive-dvilj texlive-collection-context-2012.61.svn23785-4.2.1.noarch obs: texlive-context texlive-collection-documentation-base-2012.61.svn17091-4.2.1.noarch obs: texlive-doc texlive-collection-latex-2012.61.svn25030-4.2.1.noarch obs: texlive-latex *** req: texlive-latex >= 2012 *** UNINSTALLABLE obs: texlive-latex-doc texlive-collection-metapost-2012.61.svn23252-4.2.1.noarch obs: texlive-metapost texlive-collection-xetex-2012.61.svn25850-4.2.1.noarch obs: texlive-xetex *** req: texlive-xetex >= 2012 *** UNINSTALLABLE texlive-dviljk-bin-2012.20120611.svn22981-3.3.1.i586 obs: texlive-bin-dvilj texlive-extratools-2012.57-3.4.noarch obs: texlive-tools texlive-latex-bin-bin-2012.20120611.svn14050-3.3.1.i586 obs: texlive-bin-latex texlive-metapost-bin-2012.20120611.svn22981-3.3.1.i586 obs: texlive-bin-metapost texlive-xetex-bin-2012.20120611.svn22981-3.3.1.i586 obs: texlive-bin-xetex texlive-filesystem-2012.61-4.2.1.noarc obs: tetex -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c10 Dr. Werner Fink <werner@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |ma@suse.com --- Comment #10 from Dr. Werner Fink <werner@suse.com> 2013-03-28 12:08:28 UTC --- (In reply to comment #9) In the spec files the only obsoletes line withouzt a version check is Obsoletes: tetex in texlive.spec for package texlive its self. An other obsoletes line has clearly a well defined version check. I've checked this again with find -name '*.spec' | xargs grep Obsoletes: how can (lib)zypp(er) remove such a version check? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c11 Dr. Werner Fink <werner@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- InfoProvider|ma@suse.com |jimc@math.ucla.edu --- Comment #11 from Dr. Werner Fink <werner@suse.com> 2013-03-28 12:35:59 UTC --- @James: Please explain where the unconditional obsoletes come from? The only unconditional obsolete is for tetex only, any other obsolete line was in the original spec files given with < %{texlive_version}. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c14 James Carter <jimc@math.ucla.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|jimc@math.ucla.edu | --- Comment #14 from James Carter <jimc@math.ucla.edu> 2013-03-28 18:19:04 UTC --- I didn't put the "obsoletes" lines in there; they were in the spec file when I got it from the source RPM. As for tetex, this is an old metapackage for TeX, like 10 years old, from before texlive. It's appropriate to force every version of tetex off the machine. Texlive is the current metapackage and will drag in all the wanted components such as LaTeX and AMSTeX. To my mind, it's semi-appropriate for texlive-filesystem to have an obsolete relation with other packages such that the 2011, 2010... major version is not allowed to co-exist with texlive-filesystem-2012. Of course this requires the user to upgrade everything at once, which is inappropriate in some contexts but maybe OK in this one. I suspect the problem is that the solver is messing up the version comparison, so it's false that 2012 >= 2012. I'll bet that if you focus on the second test case you will find a smoking gun more quickly because there are fewer packages. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c15 --- Comment #15 from James Carter <jimc@math.ucla.edu> 2013-04-02 00:00:18 UTC --- Growl, snarl, everyone can start pointing fingers at everyone else now. The cause of this screwup is that .../suse/setup/descr/packages.gz on my enterprise repo has incorrect Obs lines. Looking at =Pkg: texlive-extratools 2012.61 4.2.1 noarch on SuSE Build Service (base url, replacing ..., is http://download.opensuse.org/repositories/openSUSE:/12.3/standard/ ) versus my own package index, SBS says +Obs: texlive-tools < 2012 -Obs: (correct) whereas mine says +Obs: texlive-tools -Obs: which is the bogosity noted in the libzypp test cases. So why is this incorrect data in the file? The script that generates the file does the following: rpm -q --qf "obso=[%{OBSOLETES}\n]" -p texlive-extratools-2012.61-4.2.1.noarch.rpm Its output: obso=texlive-tools (Of course it extracts the other needed fields and lists also, and these are reformatted with proper item tags to make the package stanza.) Tested with rpm-4.8.0-28.41.1.i586 , rpm-4.9.1.2-18.2.2.i586 , rpm-4.10.2-2.1.1.i586 , they all give the same output on the same file. What tipped me off was, last night I was downloading some codecs from SBS and Packman, and my package management script included the request for texlive-scheme-medium (I planned to just ignore when the thing failed to install). So Zypper proposed to install 797 packages, mostly texlive stuff. I let it run, and the installation was successful. I had keeppackages=1 (so I could copy the codecs into the enterprise repo), and the downloaded texlive packages were the ones we've seen problems with in the obsoletes issue. So the solver recognizes that SBS says that the SBS packages are not incompatible with other required packages, while my bit-for-bit identical packages are incompatible, so the solver uses the ones from SBS and gets everything onto the machine. So I would say that the solver's comparison machinery is off the hook, and the finger of blame points at rpm. So now what? A. Am I abusing the format mechanism in rpm? B. Is the relation info (texlive-tools < 2012) actually in the package file? C. Is rpm messing up extracting the relation info, e.g. stopping at the first blank? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c16 --- Comment #16 from James Carter <jimc@math.ucla.edu> 2013-04-02 00:09:42 UTC --- If I disable the SuSE Build Service repo and do: zypper install texlive-tools texlive-extratools then texlive-extratools obsoletes texlive-tools; however, if I specify URLs of the packages on the enterprise repo, they both can be installed (with dependencies). This means that the correct relation info (texlive-tools < 2012) must be in the texlive-extratools package. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c17 Dr. Werner Fink <werner@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #17 from Dr. Werner Fink <werner@suse.com> 2013-05-03 07:48:20 UTC --- This one is fixed, from changelog: Wed Mar 27 2013 werner@suse.de - Change Obsoletes from < 2012+subversion to <= 2011 (bnc#811162) - Let mathdesign require tex(texnansi.enc) (bnc#808731) - Let biber-bin require perl(Text::BibTeX) (bnc#811258) - Do not require xfs as we do not use xfs at all, otherwise we have to add some more lua code in the %post scriptlet. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c18 --- Comment #18 from Bernhard Wiedemann <bwiedemann@suse.com> 2013-05-07 16:00:26 CEST --- This is an autogenerated message for OBS integration: This bug (811162) was mentioned in https://build.opensuse.org/request/show/174720 Factory / texlive https://build.opensuse.org/request/show/174733 Factory / texlive-specs-l -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c19 --- Comment #19 from Bernhard Wiedemann <bwiedemann@suse.com> 2013-07-19 12:00:24 CEST --- This is an autogenerated message for OBS integration: This bug (811162) was mentioned in https://build.opensuse.org/request/show/183711 Maintenance / https://build.opensuse.org/request/show/183712 Maintenance / -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c20 --- Comment #20 from Bernhard Wiedemann <bwiedemann@suse.com> 2013-07-19 14:00:28 CEST --- This is an autogenerated message for OBS integration: This bug (811162) was mentioned in https://build.opensuse.org/request/show/183724 Maintenance / https://build.opensuse.org/request/show/183725 Maintenance / https://build.opensuse.org/request/show/183726 Maintenance / https://build.opensuse.org/request/show/183727 Maintenance / https://build.opensuse.org/request/show/183728 Maintenance / https://build.opensuse.org/request/show/183729 Maintenance / https://build.opensuse.org/request/show/183730 Maintenance / https://build.opensuse.org/request/show/183731 Maintenance / https://build.opensuse.org/request/show/183732 Maintenance / https://build.opensuse.org/request/show/183733 Maintenance / https://build.opensuse.org/request/show/183734 Maintenance / https://build.opensuse.org/request/show/183735 Maintenance / https://build.opensuse.org/request/show/183736 Maintenance / https://build.opensuse.org/request/show/183737 Maintenance / https://build.opensuse.org/request/show/183738 Maintenance / https://build.opensuse.org/request/show/183739 Maintenance / https://build.opensuse.org/request/show/183740 Maintenance / https://build.opensuse.org/request/show/183741 Maintenance / https://build.opensuse.org/request/show/183742 Maintenance / https://build.opensuse.org/request/show/183743 Maintenance / https://build.opensuse.org/request/show/183744 Maintenance / https://build.opensuse.org/request/show/183745 Maintenance / https://build.opensuse.org/request/show/183746 Maintenance / https://build.opensuse.org/request/show/183747 Maintenance / https://build.opensuse.org/request/show/183748 Maintenance / https://build.opensuse.org/request/show/183749 Maintenance / -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=811162 https://bugzilla.novell.com/show_bug.cgi?id=811162#c21 --- Comment #21 from Bernhard Wiedemann <bwiedemann@suse.com> 2013-07-22 15:00:31 CEST --- This is an autogenerated message for OBS integration: This bug (811162) was mentioned in https://build.opensuse.org/request/show/183983 Maintenance / texlive-specs-a.openSUSE_12.3_Update -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com