A short word on how .spec and .inc files work then using rpm packaging for
Sailfish.
Internal variables
Rpm-internal variables - i.e. variables defined in .spec or .inc files - can
be used as follows:
- First, define the variable, e.g. via
%define device kagura. - Then use the variable via
%{device}.
Inclusion
.spec files can include .inc files via %include statements, e.g.
%include common-defs.inc.
It makes most sense to first define a variable in a device-specific .spec file
and then call an .inc file which uses the variable.
Packaging
When using a single .spec or .inc file to define multiple packages, it makes
sense to use the following pattern:
%define rpm_device f8331
[...]
Summary: Droid HAL package for %{rpm_device}
Name: droid-hal-%{rpm_device}
Version: 0.0.6
Provides: droid-hal
BuildRequires: systemd
[...]
%description
%{summary}.
The main name (or stem) for all packages is droid-hal-%{rpm_device}, e.g.
droid-hal-f8331.
Then, further down the file, the sub-packages inherit the stem:
%package devel
Provides: droid-hal-devel
Summary: Development files for droid-hal device: %{rpm_device}
%description devel
Device specific droid headers for %{rpm_device}.
Needed by libhybris
The %package macro takes the stem and prepends it.
Thus, with Name = droid-hal-f8331, %package devel gets expanded to
droid-hal-f8331-devel.