Bug 1044521

Summary: suse-xsl-stylesheets update problem switching from liberation-fonts to liberation2-fonts dependency
Product: [openSUSE] openSUSE Distribution Reporter: Andreas Stieger <astieger>
Component: MaintenanceAssignee: Stefan Knorr <sknorr>
Status: VERIFIED FIXED QA Contact: Mr Maintenance <maintenance>
Severity: Major    
Priority: P5 - None CC: antoine.mechelynck, forgotten_7645792743, ftake, i, jnweiger, sbrabec, sknorr, thomas.schraitle, tiwai
Version: Leap 42.2   
Target Milestone: ---   
Hardware: Other   
OS: openSUSE 42.2   
See Also: http://bugzilla.opensuse.org/show_bug.cgi?id=1080244
Whiteboard:
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: zypper log

Description Andreas Stieger 2017-06-15 15:45:19 UTC
suse-xsl-stylesheets maintenance update raises a conflict upon installation.

openSUSE maintenance received an update imported from SLE Maintenance:
https://build.opensuse.org/package/rdiff/openSUSE:Maintenance:6893/suse-xsl-stylesheets.openSUSE_Leap_42.2_Update?linkrev=base&rev=2
https://build.opensuse.org/request/show/503937

This update does not install without manual conflict resolution if liberation-fonts is installed. liberation-fonts is recommended by libreoffice, patterns-openSUSE-fonts, calibre, gnumeric, so can be assumed to be installed on a wide variety of installations, if not even default.

This is shown by openQA tests and direct install:
https://openqa.opensuse.org/tests/421930#step/qam_zypper_patch/5
https://openqa.opensuse.org/tests/421928#step/qam_zypper_patch/5
https://openqa.opensuse.org/tests/421929#step/qam_zypper_patch/5

zypper in --from update-test suse-xsl-stylesheets
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: suse-xsl-stylesheets-2.0.7.2-3.3.1.noarch requires liberation2-fonts, but this requirement cannot be provided
  uninstallable providers: liberation2-fonts-2.00.1-10.1.noarch[oss]
 Solution 1: deinstallation of liberation-fonts-1.07.2-4.2.noarch
 Solution 2: do not install suse-xsl-stylesheets-2.0.7.2-3.3.1.noarch
 Solution 3: break suse-xsl-stylesheets-2.0.7.2-3.3.1.noarch by ignoring some of its dependencies

old: SUSE:SLE-12-SP2:GA/suse-xsl-stylesheets
new: SUSE:SLE-12-SP2:Update/suse-xsl-stylesheets.4913

Relevant diff snippet:

+* Packaging
+  - On non-SLE platforms, require liberation2-fonts instead of
+    liberation-fonts (suse-xsl #298)
[...]
+# (openSUSE provides liberation2-fonts, while SLE 12 is currently stuck on v1.)
+%if 0%{?is_opensuse} || 0%{suse_version} > 1320
+Requires:       liberation2-fonts
+%else
 Requires:       liberation-fonts
+%endif

This change is not suitable for a maintenance update of suse-xsl-stylesheets. Can you propose a different change that works around the problem?

Alternatively something could be tweaked in the packaging of liberation{,2}-fonts, e.g. 2 obsoleting the prior version in addition to conflicting.

Rejecting maintenance update for now. Could the maintainers please comment on a possible solution?
Comment 1 Tony Mechelynck 2017-06-15 20:20:57 UTC
Created attachment 729142 [details]
zypper log

I had the same problem, trying to apply Leap 42.2 Update-Test patch 6893. I'm attaching my zypper console log for reference.
Comment 2 Stefan Knorr 2017-06-16 08:22:46 UTC
The old liberation fonts package will work just fine. The only reason we switched to liberation2-fonts is that we were one of the last packages still depending on the old version.

Therefore, I can produce a compliant spec file just for Leap 42.2 without issue by just removing the whole if/else block. But that will only work if that modified package does not have to work on other OS versions. Also, it should not be inherited by Leap 42.3 in this modified form. What do you propose?

Also, we are not mortally dependent on this update going through on Leap 42.2 -- just the SLE would be fine by me. (And this is not a security update either.)

My understanding is that the SLE update is out already and unaffected by whatever decision is taken for openSUSE. Is that correct?
Comment 3 Andreas Stieger 2017-06-16 08:49:38 UTC
Proposed block that works on SLE, Leap 42.2 maintenance and 42.3 (new installs and upgrades):

# (openSUSE provides liberation2-fonts, while SLE 12 is currently stuck on v1.)
# only pull liberation2-fonts from 42.3 to prevent 42.2 update issue bsc#1044521
%if ( 0%{?is_opensuse} && 0%{?sle_version} > 120200 ) || 0%{suse_version} > 1320
Requires:       liberation2-fonts
%else
Requires:       liberation-fonts
%endif
 
> Also, we are not mortally dependent on this update going through on Leap
> 42.2 -- just the SLE would be fine by me. (And this is not a security update
> either.)

We would like to keep auto-importing updates to packages that were originally taken from SLE.

> My understanding is that the SLE update is out already and unaffected by
> whatever decision is taken for openSUSE. Is that correct?

Yes.


So I think we should do the following:

For 42.2 temporarily fork suse-xsl-stylesheets with either the removal of the block, or the above suggestion (preferred). Please submit into openSUSE Maintenance.

If you agree with the above suggested block, it should be used for the next  available maintenance update of suse-xsl-stylesheets in SLE 12 SP2.
Comment 4 Andreas Stieger 2017-06-17 20:40:29 UTC
Fixed in Documentation:Tools/suse-xsl-stylesheets, copied fix to openSUSE Leap 42.2 maintenance queue and submitted to SLE.
Comment 6 Bernhard Wiedemann 2017-06-17 22:01:23 UTC
This is an autogenerated message for OBS integration:
This bug (1044521) was mentioned in
https://build.opensuse.org/request/show/504403 42.2 / suse-xsl-stylesheets
Comment 7 Tony Mechelynck 2017-06-17 22:24:56 UTC
After having "hung" for some time with "1 patch found" but "no package found" in "zypper up -t package -t patch", package suse-xsl-stylesheets could finally be updated wioth no conflicts. After that, patch 6893 is not listed as "needed" anymore, but as "applied" (in the listing produced by "zypper lp -a").

=> VERIFIED for Leap 42.2 / x86_64 with Update-Test repo enabled. Since this is a noarch package, I assume that a separate verification is not needed on 32-bit Linux. Feel free to turn my VERIFIED back to RESOLVED (via REOPENED if Bugzilla doesn't allow going directly from VERIFIED to RESOLVED) if further testing is still needed.
Comment 8 Tony Mechelynck 2017-06-17 22:43:18 UTC
oops... in the first sentence of comment #7, replace the third quoted string by "zypper lu -t package -t patch".
Comment 9 Swamp Workflow Management 2017-06-26 13:17:47 UTC
openSUSE-RU-2017:1683-1: An update that has two recommended fixes can now be installed.

Category: recommended (low)
Bug References: 1032909,1044521
CVE References: 
Sources used:
openSUSE Leap 42.2 (src):    suse-xsl-stylesheets-2.0.7.2-3.5.1
Comment 10 Tony Mechelynck 2018-04-25 23:50:42 UTC
See also bug 1080244 for Leap 42.3 and Tumbleweed.
Comment 11 Thomas Schraitle 2018-05-03 13:11:49 UTC
*** Bug 1080244 has been marked as a duplicate of this bug. ***