Page MenuHomePhorge

generic-macros-and-conditions.rst
No OneTemporary

Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None

generic-macros-and-conditions.rst

=============================
Generic Macros and Conditions
=============================
**Always ship sources and patches**
RPM packages should always ship all sources and patches to all
distributions.
In RPM ``.spec`` files, it is possible to create a construction like:
.. parsed-literal::
%if 0%{?suse_version}
Source1: extra-source.for.suse
Patch1: patch.for.suse
%endif
These lines describe what to include in the source RPM, and should therefore
be avoided (as files may get excluded).
Instead, use:
.. parsed-literal::
Source1: extra-source.for.suse
Patch1: patch.for.suse
(...)
%prep
%setup
%if 0%{?suse_version}
%{__install} -p -m 644 %{SOURCE1} some/where
%patch1 -p1
%endif
**Define whether the system uses systemd or sysvinit**
Use ``%{suse_version}`` and ``%{rhel}`` to determine whether **systemd** or
**SysVinit** is in use.
.. NOTE::
All openSUSE versions supported use systemd, and all Fedora versions
supported use systemd. This means that for as far as RPM packaging goes,
basically only ``%{rhel}`` < 7 does not use systemd.
.. parsed-literal::
%if 0%{?suse_version} < 1 && 0%{?fedora} < 1 && 0%{?rhel} < 7
%global with_systemd 0
%else
%global with_systemd 1
%endif
Note that the **SysVinit** to **systemd** change also affects the
dependencies:
.. parsed-literal::
%if 0%{?with_systemd}
%if 0%{?suse_version}
Requires(post): systemd
Requires(postun): systemd
Requires(preun): systemd
%else
Requires(post): systemd-units
Requires(postun): systemd-units
Requires(preun): coreutils
Requires(preun): systemd-units
%endif
%else
Requires(post): chkconfig
Requires(post): initscripts
Requires(postun): initscripts
Requires(preun): chkconfig
Requires(preun): initscripts
%endif

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 24, 9:53 AM (1 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18766335
Default Alt Text
generic-macros-and-conditions.rst (2 KB)

Event Timeline