Often, there are several options to be taken for solving various recurring packaging issues. This document tries to make a list of those common issues and will serve as a base do define common policies on how to solve them.
Make a list of known problems here and propose workarounds and conventions to apply, whenever possible. Those will be promoted to the Policies document when acknowledged by the Packman members.
Packages versioned as e.g. “2.0_rc20” or “1.9beta4” or “0.9.4rc1” are problematic as rpm/apt/yast won't update when the final version is out → define a convention for defining the RPM version tag for such packages (e.g. “2.0_0.20” / “2.0_1.0”, “1.9_0.4” / “1.9_1.0”, etc…)
Various issues related to building on biarch/amd64 architecture:
... %{?suse_update_config:BuildRequires:autoconf automake libtool}} ... %prep %setup -q ..... %{?suse_update_libdir:%{suse_update_libdir}} %{?suse_update_config:%{suse_update_config -f}}
%configure \ %if %{_lib} == lib64 --enable-libsuffix=64 \ %endif
Every Packman package has to comply with the following release tag naming scheme:
-0.pm.<release>.
The reason for starting the release tag with ”<tt>0.</tt>” is simple: when SUSE provides a newer package (e.g. as part of a security update), it will have a higher priority than ours, which is good: we give priority to packages made by SUSE.
Source files (<tt>Source:</tt>, <tt>Source1:</tt>, <tt>Source2:</tt>, …) should always be mentioned with the complete URL, not just the filename. <u>e.g.:</u>
Source: doxygen-%{_version}.src.tar.gz
Source: <nowiki>ftp://ftp.stack.nl/pub/users/dimitri/doxygen-%{_version}.src.tar.gz</nowiki>
Obviously, this does not apply to <tt>Patch:</tt> or <tt>Source:</tt> files contributed by the packager (e.g. init script, etc…)