PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB` REDROOM
PHP 5.6.40
Preview: hregions Size: 2.90 KB
//usr/share/doc/rpm/hregions

/*! \page hregions Immutable header regions in rpm-4.0.1 and later

The header data structure has changed in rpm-4.0.[12] to preserve the
original header from a package. The goal is to keep the original
header intact so that metadata can be verified separately from the
payload by the RHN up2date client and by the rpm command line verify
mode using signatures saved in the rpm database. I believe the change
is entirely forward and backward compatible, and will not require
any artifacts like changing the version number of packaging or 
adding an "rpmlib(...)" tracking dependency. We'll see ...

Here's a short description of the change. An rpm header has three sections:
\verbatim
	1) intro		(# entries in index, # bytes of data)
	2) index		16 byte entries, one per tag, big endian
	3) data			tag values, properly aligned, big endian
\endverbatim

Representing sections in the header (ignoring the intro) with
\verbatim
	A,B,C			index entries sorted by tag number
	a,b,c			variable length entry data
	| 			boundary between index/data
\endverbatim
a header with 3 tag/value pairs (A,a) can be represented something like
\verbatim
	ABC|abc
\endverbatim

The change is to introduce a new tag that keeps track of a contiguous
region (i.e. the original header). Representing the boundaries with
square/angle brackets, an "immutable region" in the header thus becomes
\verbatim
	[ABC|abc]
\endverbatim
or more generally (spaces added for clarity)
\verbatim
	[ABC> QRS | <abc] qrs
\endverbatim
or with concatenated regions (not implemented yet)
\verbatim
	[ABC> [DEF> QRS | <abc] <def] qrs
\endverbatim
or with nested regions (not implemented yet)
\verbatim
	[ABC [DEF>> QRS | <<abc] def] qrs
\endverbatim

\todo Either concatenated/nested regions may be used to implement
a metarpm, aka a package of packages, dunno how, when, or even if, yet.

What complicates the above is legacy issues, as various versions of rpm
have added/deleted/modified entries in the header freely. Thus, representing
altered tag entries/data with a '.', there is a need to preserve deleted
information something like

\verbatim
	[A.C> QRS XYZ | <a.c] qrs xyz
\endverbatim

\note This is basically the change that replaces the filename with
	a {dirname,basename,dirindex} triple between rpm-3.x and rpm-4.x.

or

\verbatim
	[AB.> QRS D | <ab.] qrs d
\endverbatim

\note The header is no longer sorted because of replacing Cc with Dd.

and yet permit retrieval of the original

\verbatim
	[ABC|abc]
\endverbatim

region. PITA, really.

What made header regions trickier yet is the desire to have an implementation
that is both backward and forward compatible. I won't bore you with the
tedious details.

However, even after doing regressions against supported Red Hat releases,
there's a Great Big Universe of rpm packages out there, and I'm *very*
interested in hearing (as bug reports against rpm at http://bugzilla.redhat.com)
about any and all problems with header regions in rpm-4.0.1.

*/

Directory Contents

Dirs: 0 × Files: 15

Name Size Perms Modified Actions
6.34 KB lrw-r--r-- 2020-01-08 17:17:27
Edit Download
3.67 KB lrw-r--r-- 2020-01-08 17:17:27
Edit Download
3.96 KB lrw-r--r-- 2020-01-08 17:17:27
Edit Download
2.61 KB lrw-r--r-- 2020-04-28 12:50:11
Edit Download
13.34 KB lrw-r--r-- 2020-04-28 12:50:11
Edit Download
10.18 KB lrw-r--r-- 2020-01-08 17:17:27
Edit Download
2.90 KB lrw-r--r-- 2017-08-09 15:23:43
Edit Download
9.33 KB lrw-r--r-- 2020-04-28 12:50:11
Edit Download
1.82 KB lrw-r--r-- 2017-08-09 15:23:43
Edit Download
6.18 KB lrw-r--r-- 2020-04-28 12:50:11
Edit Download
1.98 KB lrw-r--r-- 2020-01-08 17:17:27
Edit Download
2.57 KB lrw-r--r-- 2020-01-08 17:17:27
Edit Download
7.71 KB lrw-r--r-- 2020-04-28 12:50:11
Edit Download
5.54 KB lrw-r--r-- 2020-04-28 12:50:11
Edit Download
5.33 KB lrw-r--r-- 2020-01-08 17:17:27
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 REDROOM — Secure File Manager. All rights reserved. Built with ❤️ & Red Dark UI