Table of Contents

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.

Issues

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.

Beta Versions

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…)

Biarch/AMD64

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

General Policies

Release Tag

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

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…)

Patch Files

Use macros