
must be forced to accept them. Signing packages is highly recommended and is covered in
Section 2, “Digital Signatures for RHN Packages”.
6. If the package is changed in any way, including changing the signature or recompiling, the
version or release must be increased incrementally. In other words, the NVRA (including
architecture) for each RPM distributed through RHN must correspond to a unique build to
avoid ambiguities.
7. No RPM package may obsolete itself.
8. If a package is split into separate packages, be extremely careful with the dependencies. Do
not split an existing package unless there is a compelling reason to do so.
9. No package may rely upon interactive pre-install, post-install, pre-uninstall, or post-uninstall
scripts. If the package requires direct user intervention during installation, it cannot work with
Red Hat Network.
10.Any pre-install, post-install, pre-uninstall, and post-uninstall scripts should never write
anything to stderr or stdout. Redirect the messages to /dev/null if they are not necessary.
Otherwise, write them to a file.
11.When creating the spec file, use the group definitions from
/usr/share/doc/rpm-<version>/GROUPS. If there is not an exact match, select the next
best match.
12.Use the RPM dependency feature to make sure the program runs after it is installed.
Important
Do not create an RPM by archiving files and then unarchiving them in the
post-install script. This defeats the purpose of RPM.
If the files in the archive are not included in the file list, they cannot be verified or examined for
conflicts. In the vast majority of cases, RPM itself can pack and unpack archives most
effectively anyway. For instance, do n't create files in a %post that you do not clean up in a
%postun section.
2. Digital Signatures for RHN Packages
All packages distributed through RHN should have a digital signature. A digital signature is
created with a unique private key and can be verified with the corresponding public key. After
creating a package, the SRPM (Source RPM) and the RPM can be digitally signed with a
GnuPG key. Before the package is installed, the public key is used to verify the package was
signed by a trusted party and the package has not changed since it was signed.
Digital Signatures for RHN Packages
9
Comentarios a estos manuales