Replies: 9 comments 9 replies
-
As a reminder, I took a stab at this in #360 and later #1038. The big change since then is the introduction of subarches for both ARM and x86_64, and I still expect that to happen for RISC-V too. What are we thinking for this now? |
Beta Was this translation helpful? Give feedback.
-
There's now also a draft PR that implements much of the fundamental structural changes as far as package generation goes: #2920 |
Beta Was this translation helpful? Give feedback.
-
Oh, RPMSIGTAG_FILESIGNATURELENGTH needs to be dropped because it's just broken. |
Beta Was this translation helpful? Give feedback.
-
Ironically dropping the tag entirely would work fine, because of the backwards compatibility backflips that are already in place to deal with v3 packages. Lines 72 to 78 in 1825dbf So... why not? And if you do need to know for some reason, the presence or absence of Alternatively - can we at least update this check with a new name ( |
Beta Was this translation helpful? Give feedback.
-
Are these being specifically singled out for deletion, or can we blanket-delete feature dependencies introduced before 4.6? Because that's a much longer list, e.g.
|
Beta Was this translation helpful? Give feedback.
-
One almost forgotten metadata-level thing added: replace libmagic strings (in RPMTAG_FILECLASS) with MIME classification. I don't know if it makes more sense to reuse the existing tag or reserve a new one just for the purpose though, but probably better to make the change explicit and just use RPMTAG_FILEMIME or such for the new data. |
Beta Was this translation helpful? Give feedback.
-
I guess it's time to move on with the low-level spec: #2988 |
Beta Was this translation helpful? Give feedback.
-
How about defaulting to Zstd compression as opposed to Gzip? (less of a format change and more of a change to the tool defaults) Actually, speaking of, there are perhaps other defaults that ought to be tweaked. A distro can always override them, I know, but updating the upstream defaults eventually is probably useful. |
Beta Was this translation helpful? Give feedback.
-
Is |
Beta Was this translation helpful? Give feedback.
-
Based on the feedback on the initial draft and work in the background, here's a major update to the v6 package format draft. There are still some open questions and details but by now the scope is much clearer, and this should give the reader a fair idea of what to expect in the final spec.
RPM v6 package format (draft v0.8.2)
Summary
RPM v6 is a face-lift on the existing RPM package v4 format, not a radical redesign. The primary motivations for v6 are to bring RPM to this millenium technology-wise: eliminate long obsolete crypto, ensure sufficiently large sizes everywhere and shed some compatibility babbage from the last 20 years.
Format
The following mainly describes differences to the v4 format. The fundamental file-format in v6 remains the same: an rpm package consists of
Compatibility
As the v6 format is practically built from extensions to the v4 format, it is largely compatible with later rpm 4.x versions. Roughly, v6 format packages can be
Headers
"Dropped" in the following sections means: no longer generated or accepted in the v6
format itself. As part of v4 packages, they will remain accepted as long
as v4 is relevant (ie, a long long time).
Lead
Signature header
(v3 signatures are no longer generated by default since 4.16)
when all of the above is done: all signature tags are between 256 and 999
Main header
Payload
Metadata level
Beta Was this translation helpful? Give feedback.
All reactions