- <para>With
- <varname>ConditionPathExists=</varname>
- a file existence condition is
- checked before a unit is started. If
- the specified absolute path name does
- not exist, the condition will
- fail. If the absolute path name passed
- to
- <varname>ConditionPathExists=</varname>
- is prefixed with an exclamation mark
- (<literal>!</literal>), the test is negated, and the unit
- is only started if the path does not
- exist.</para>
-
- <para><varname>ConditionPathExistsGlob=</varname>
- is similar to
- <varname>ConditionPathExists=</varname>,
- but checks for the existence of at
- least one file or directory matching
- the specified globbing pattern.</para>
-
- <para><varname>ConditionPathIsDirectory=</varname>
- is similar to
- <varname>ConditionPathExists=</varname>
- but verifies whether a certain path
- exists and is a
- directory.</para>
-
- <para><varname>ConditionPathIsSymbolicLink=</varname>
- is similar to
- <varname>ConditionPathExists=</varname>
- but verifies whether a certain path
- exists and is a symbolic
- link.</para>
-
- <para><varname>ConditionPathIsMountPoint=</varname>
- is similar to
- <varname>ConditionPathExists=</varname>
- but verifies whether a certain path
- exists and is a mount
- point.</para>
-
- <para><varname>ConditionPathIsReadWrite=</varname>
- is similar to
- <varname>ConditionPathExists=</varname>
- but verifies whether the underlying
- file system is readable and writable
- (i.e. not mounted
- read-only).</para>
-
- <para><varname>ConditionDirectoryNotEmpty=</varname>
- is similar to
- <varname>ConditionPathExists=</varname>
- but verifies whether a certain path
- exists and is a non-empty
- directory.</para>
-
- <para><varname>ConditionFileNotEmpty=</varname>
- is similar to
- <varname>ConditionPathExists=</varname>
- but verifies whether a certain path
- exists and refers to a regular file
- with a non-zero size.</para>
-
- <para><varname>ConditionFileIsExecutable=</varname>
- is similar to
- <varname>ConditionPathExists=</varname>
- but verifies whether a certain path
- exists, is a regular file and marked
- executable.</para>
-
- <para>Similar,
- <varname>ConditionKernelCommandLine=</varname>
- may be used to check whether a
- specific kernel command line option is
- set (or if prefixed with the
- exclamation mark unset). The argument
- must either be a single word, or an
- assignment (i.e. two words, separated
- <literal>=</literal>). In the former
- case the kernel command line is
- searched for the word appearing as is,
- or as left hand side of an
- assignment. In the latter case the
- exact assignment is looked for with
- right and left hand side
- matching.</para>
+ <para><varname>ConditionArchitecture=</varname>
+ may be used to check whether the
+ system is running on a specific
+ architecture. Takes one of
+ <varname>x86</varname>,
+ <varname>x86-64</varname>,
+ <varname>ppc</varname>,
+ <varname>ppc64</varname>,
+ <varname>ia64</varname>,
+ <varname>parisc</varname>,
+ <varname>parisc64</varname>,
+ <varname>s390</varname>,
+ <varname>s390x</varname>,
+ <varname>sparc</varname>,
+ <varname>sparc64</varname>,
+ <varname>mips</varname>,
+ <varname>mips64</varname>,
+ <varname>alpha</varname>,
+ <varname>arm</varname>,
+ <varname>arm-be</varname>,
+ <varname>arm64</varname>,
+ <varname>arm64-be</varname>,
+ <varname>sh</varname>,
+ <varname>sh64</varname>,
+ <varname>m86k</varname> to test
+ against a specific architecture. The
+ architecture is determined from the
+ information returned by
+ <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ and is thus subject to
+ <citerefentry><refentrytitle>personality</refentrytitle><manvolnum>2</manvolnum></citerefentry>. Note
+ that a <varname>Personality=</varname>
+ setting in the same unit file has no
+ effect on this condition. A special
+ architecture name
+ <varname>native</varname> is mapped to
+ the architecture the system manager
+ itself is compiled for. The test may
+ be negated by prepending an
+ exclamation mark.</para>