Bug 26447 - File conflict with the xz package
Summary: File conflict with the xz package
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: David GEIGER
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-07 06:41 CEST by Mario Blättermann
Modified: 2020-04-13 12:05 CEST (History)
4 users (show)

See Also:
Source RPM: man-pages-l10n-4.0.0-2.mga8.src.rpm
CVE:
Status comment:


Attachments

Description Mario Blättermann 2020-04-07 06:41:00 CEST
Description of problem:

Recently xz-5.2.5 has been arrived in Cauldron, and this version contains some man pages translated into German:


/usr/share/man/de/man1/lzcat.1.xz
/usr/share/man/de/man1/lzcmp.1.xz
/usr/share/man/de/man1/lzdiff.1.xz
/usr/share/man/de/man1/lzegrep.1.xz
/usr/share/man/de/man1/lzfgrep.1.xz
/usr/share/man/de/man1/lzgrep.1.xz
/usr/share/man/de/man1/lzless.1.xz
/usr/share/man/de/man1/lzma.1.xz
/usr/share/man/de/man1/lzmadec.1.xz
/usr/share/man/de/man1/lzmore.1.xz
/usr/share/man/de/man1/unlzma.1.xz
/usr/share/man/de/man1/unxz.1.xz
/usr/share/man/de/man1/xz.1.xz
/usr/share/man/de/man1/xzcat.1.xz
/usr/share/man/de/man1/xzcmp.1.xz
/usr/share/man/de/man1/xzdec.1.xz
/usr/share/man/de/man1/xzdiff.1.xz
/usr/share/man/de/man1/xzegrep.1.xz
/usr/share/man/de/man1/xzfgrep.1.xz
/usr/share/man/de/man1/xzgrep.1.xz
/usr/share/man/de/man1/xzless.1.xz
/usr/share/man/de/man1/xzmore.1.xz


Because translated man pages shipped from upstream projects should always have priority over those from external projects like manpages-l10n, the mentioned files need to be removed here. The next version of manpages-l10n won't contain the files anymore, but currently there's a file conflict which prevents users from either update to xz-5.2.5 or man-pages-de-4.0.0.

Yet another problem: The  »intro only« still appears some more times in the summary:

Section 6:  Games (intro only)
Section 7:  Conventions, macro packages, etc. (e.g., nroff, ascii)
Section 8:  System administration (intro only)

For section 6, it could be considered as OK, but the summary also applies to Polish translations, and there is one more translated man page in this section. Simply remove all occurences of »intro only« to be safe.
Comment 1 Lewis Smith 2020-04-07 10:11:10 CEST
Thank you for pointing this out.
It is all beyond my ken. It looks as if some effort has already gone into this, and it will be sorted: "The next version of manpages-l10n won't contain the files anymore"; but for now: "currently there's a file conflict which prevents users from either update to xz-5.2.5 or man-pages-de-4.0.0".

Assigning globally, CC'ing Shlomi & DavidW.

Assignee: bugsquad => pkg-bugs
CC: (none) => luigiwalser, shlomif

Comment 2 David GEIGER 2020-04-07 10:17:50 CEST
Assigning to me :)

I'm on it.

CC: (none) => geiger.david68210
Assignee: pkg-bugs => geiger.david68210

Comment 3 David GEIGER 2020-04-07 10:42:12 CEST
Hi Mario,

The only files I found who conflicts between xz-5.2.5 and man-pages-de-4.0.0 are:


/usr/share/man/de/man1/xz.1.xz
/usr/share/man/de/man1/xzdec.1.xz
/usr/share/man/de/man1/xzdiff.1.xz
/usr/share/man/de/man1/xzgrep.1.xz
/usr/share/man/de/man1/xzless.1.xz
/usr/share/man/de/man1/xzmore.1.xz
Comment 4 Mario Blättermann 2020-04-07 11:08:29 CEST
(In reply to David GEIGER from comment #3)
> Hi Mario,
> 
> The only files I found who conflicts between xz-5.2.5 and man-pages-de-4.0.0
> are:
> 
> 
> /usr/share/man/de/man1/xz.1.xz
> /usr/share/man/de/man1/xzdec.1.xz
> /usr/share/man/de/man1/xzdiff.1.xz
> /usr/share/man/de/man1/xzgrep.1.xz
> /usr/share/man/de/man1/xzless.1.xz
> /usr/share/man/de/man1/xzmore.1.xz

Then remove only those. I've listed all German man pages which xz ships, but not all distributions use all of them.
Comment 5 David GEIGER 2020-04-07 12:36:13 CEST
So should be fixed in man-pages-de-4.0.0-4.mga8!
Comment 6 Mario Blättermann 2020-04-10 08:44:12 CEST
I see still the following files in man-pages-de-4.0.0-4.mga8.noarch.rpm:

/usr/share/man/de/man1/xz.1.xz
/usr/share/man/de/man1/xzdec.1.xz
/usr/share/man/de/man1/xzdiff.1.xz
/usr/share/man/de/man1/xzgrep.1.xz
/usr/share/man/de/man1/xzless.1.xz
/usr/share/man/de/man1/xzmore.1.xz

… although you remove them in your spec file:

# remove conflicting files between xz-5.2.5 and man-pages-de-4.0.0 (mga#26447)
rm -rf %{buildroot}%{_mandir}/de/man1/xz.1.xz \
       %{buildroot}%{_mandir}/de/man1/xzdec.1.xz \
       %{buildroot}%{_mandir}/de/man1/xzdiff.1.xz \
       %{buildroot}%{_mandir}/de/man1/xzgrep.1.xz \
       %{buildroot}%{_mandir}/de/man1/xzless.1.xz \
       %{buildroot}%{_mandir}/de/man1/xzmore.1.xz

I don't know what happened here. An alternative way would be to remove the according *.po files directly from the unpacked tarball (in the %prep section). If no *.po files exist, no translated man pages get built:

rm -rf po/de/man1/xz.1.po \
       po/de/man1/xzdec.1.po \
       po/de/man1/xzdiff.1.po \
       po/de/man1/xzgrep.1.po \
       po/de/man1/xzless.1.po \
       po/de/man1/xzmore.1.po
Comment 7 Olav Vitters 2020-04-10 17:48:28 CEST
At the end of building something, you'll see a command such as:
> + /usr/share/spec-helper/compress_files .xz

At the time the manpages are being deleted the files still exist as e.g. xz.1. This without the .xz extension as it's only added after the %install stage.

Various possible solutions:
- replace .xz with {,.*}
- replace .xz with *
- replace .1.xz with .*
- remove .xz

e.g. rm -rf %{buildroot}%{_mandir}/de/man1/xz.1{,.*}

and so on

Good luck! :-D

CC: (none) => olav

Comment 8 David GEIGER 2020-04-11 11:30:55 CEST
Ok, so should be fixed in man-pages-l10n-4.0.0-5.mga8!
Comment 9 Mario Blättermann 2020-04-13 12:05:30 CEST
OK, now I don't see the xz man pages anymore in the man-pages-de package.

Resolution: (none) => FIXED
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.