Bug 557433

Summary: rpm: enable xz payload
Product: [openSUSE] openSUSE 11.2 Reporter: Jan Engelhardt <jengelh>
Component: BasesystemAssignee: Stephan Kulow <coolo>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Enhancement    
Priority: P5 - None CC: meissner, mls
Version: Final   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Jan Engelhardt 2009-11-20 22:11:27 UTC
Fedora-12 already uses xz payload. We could do the same, given that rpm-4.7.1 is already used.

(Fedora-11 published an update to rpm to distribute the new feature "quickly", in a single cycle.)
Comment 1 Jan Engelhardt 2009-11-20 22:20:20 UTC
Seems it is already xz-capable at least. What is then needed is to change %_{source,binary}_payload in macros.in to xzdio.
Comment 2 Stephan Kulow 2009-11-24 09:05:14 UTC
I don't get your report - fedora took our patch. What is that you actually want?
Comment 3 Jan Engelhardt 2009-11-24 09:10:34 UTC
In SUSE's /usr/lib/rpm/macros, one can find:

#   →   Compression type and level for source/binary package payloads. 
#   →       →   "w9.gzdio"   →  gzip level 9 (default). 
#   →       →   "w9.bzdio"   →  bzip2 level 9. 
#   →       →   "w7.xzdio"   →  xz level 7, xz's default. 
#   →       →   "w7.lzdio"   →  lzma-alone level 7, lzma's default 
# 
#%_source_payload   →   w9.gzdio 
%_binary_payload    →   w5.lzdio 


I was suggesting to use xzdio instead of lzdio here for the payload.
Comment 4 Stephan Kulow 2009-11-24 09:13:56 UTC
yes, but you failed to express the reasons it would be good to do so. I won't make changes for changes.
Comment 5 Jan Engelhardt 2009-11-24 09:30:29 UTC
The 'badness' of the headerless LZMA has been discussed enough; though I guess it is not so much a problem inside rpm because rpms seem to have a tag what compression what was used. Perhaps still go for consistency?
Comment 6 Michael Schröder 2009-11-24 09:58:49 UTC
The downside is that old rpms can't unpack rpms with xz payloads, that's why we didn't do the change for 11.2. We'll probably do it for 11.3 or 11.4, though.

(Unfortunately SLES11 is based on 11.1, so it doesn't understand xz.)
Comment 7 Jan Engelhardt 2009-11-24 11:04:39 UTC
>The downside is that old rpms can't unpack rpms with xz payloads

I have to disagree. Every supported distro release that can unpack LZMA (that would include both 11.0 and 11.1) also seem to have no problems with my XZ rpms. That is also why it sounded so appalling to use xz.
Comment 8 Michael Schröder 2009-11-24 11:14:54 UTC
Huh, try 'rpm -i' or 'rpm2cpio' of a fedora 12 package on a 11.1 host.
Comment 9 Jan Engelhardt 2009-11-24 15:01:48 UTC
Oh well, turns out rpm2cpio does not throw an error when it encounters an unknown payload type. My bad.