summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorStef Walter <stef@thewalter.net>2013-07-17 11:58:05 +0200
committerStef Walter <stef@thewalter.net>2013-07-18 13:04:35 +0200
commit52a84b84a924a9f1cd8090b0a47b9f7d00ca69f3 (patch)
tree32428cc8b83eaa360b8b53e92f769cac1cf8a17e /doc
parent936e4c229a4ed205e9981fc4f31acea063701b69 (diff)
Support expanding $XDG_CONFIG_HOME in user config paths
If ~/.config is specified as a prefix to a configured path, then it is expanded to the $XDG_CONFIG_HOME if that exists Add --with-user-config ./configure option to configure a different user config directory. Interpolate the right directories into documentation.
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/Makefile.am17
-rw-r--r--doc/manual/p11-kit-config.xml18
-rw-r--r--doc/manual/p11-kit-devel.xml10
-rw-r--r--doc/manual/p11-kit-trust.xml10
-rw-r--r--doc/manual/pkcs11.conf.xml14
-rw-r--r--doc/manual/version.xml.in1
6 files changed, 52 insertions, 18 deletions
diff --git a/doc/manual/Makefile.am b/doc/manual/Makefile.am
index ea6166e..ab73373 100644
--- a/doc/manual/Makefile.am
+++ b/doc/manual/Makefile.am
@@ -83,7 +83,11 @@ content_files=p11-kit-config.xml p11-kit-sharing.xml \
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
# These files must be listed here *and* in content_files
# e.g. expand_content_files=running.sgml
-expand_content_files=
+expand_content_files= \
+ version.xml \
+ userdir.xml \
+ sysdir.xml \
+ $(NULL)
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
@@ -98,6 +102,14 @@ p11-kit-sections.txt: $(srcdir)/p11-kit-sections.txt
p11-kit-overrides.txt: $(srcdir)/p11-kit-overrides.txt
cp $(srcdir)/p11-kit-overrides.txt p11-kit-overrides.txt
+# Generate our files with variables
+sysdir.xml:
+ echo -n $(p11_system_config) > "$@"
+userdir.xml:
+ echo -n $(p11_user_config) > "$@"
+version.xml:
+ echo -n $(VERSION) > "$@"
+
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
@@ -140,6 +152,7 @@ CLEANFILES += \
EXTRA_DIST += \
$(MAN_IN_FILES) \
- version.xml.in \
+ sysdir.xml \
+ userdir.xml \
version.xml \
$(NULL)
diff --git a/doc/manual/p11-kit-config.xml b/doc/manual/p11-kit-config.xml
index 1df55b1..ec17b1b 100644
--- a/doc/manual/p11-kit-config.xml
+++ b/doc/manual/p11-kit-config.xml
@@ -1,6 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY sysdir SYSTEM "sysdir.xml">
+ <!ENTITY userdir SYSTEM "userdir.xml">
+]>
<chapter xml:id="config">
<title>PKCS#11 Configuration</title>
@@ -29,17 +33,17 @@
two modules called 'my-module' and 'nss'. The user settings override some
aspects of the system settings.</para>
-<para>Global configuration file: <literal>/etc/pkcs11/pkcs11.conf</literal></para>
+<para>Global configuration file: <literal>&sysdir;/pkcs11.conf</literal></para>
<programlisting>
# This setting controls whether to load user configuration from the
-# ~/.pkcs11 directory. Possible values:
+# &userdir; directory. Possible values:
# none: No user configuration
# merge: Merge the user config over the system configuration (default)
# only: Only user configuration, ignore system configuration
user-config: merge
</programlisting>
-<para>One module configuration file per module: <literal>/etc/pkcs11/modules/my-module</literal></para>
+<para>One module configuration file per module: <literal>&sysdir;/modules/my-module</literal></para>
<programlisting>
# This setting controls the actual module library to load. This config file
# might be installed by the package that installs this module library. This
@@ -52,19 +56,19 @@ module: my-pkcs11-module.so
critical: no
</programlisting>
-<para>User configuration file: <literal>~/.pkcs11/pkcs11.conf</literal></para>
+<para>User configuration file: <literal>&userdir;/pkcs11.conf</literal></para>
<programlisting>
# This is an empty file. Files that do not exist are treated as empty.
</programlisting>
-<para>User configuration file: <literal>~/.pkcs11/modules/my-module</literal></para>
+<para>User configuration file: <literal>&userdir;/modules/my-module</literal></para>
<programlisting>
# Merge with the settings in the system my-module config file. In this case
# a developer has overridden to load a different module for my-module instead.
module: /home/user/src/custom-module/my-module.so
</programlisting>
-<para>User configuration file: <literal>~/.pkcs11/modules/nss</literal></para>
+<para>User configuration file: <literal>&userdir;/modules/nss</literal></para>
<programlisting>
# Load the NSS libsoftokn.so.3 PKCS#11 library as a module. Note that we pass
# some custom non-standard initialization arguments, as NSS expects.
diff --git a/doc/manual/p11-kit-devel.xml b/doc/manual/p11-kit-devel.xml
index 5ffc32b..2ce3f0c 100644
--- a/doc/manual/p11-kit-devel.xml
+++ b/doc/manual/p11-kit-devel.xml
@@ -230,6 +230,16 @@ $ make install
<listitem><para>Specify the path to look for p11-kit config files. This
usually defaults to something like <literal>/etc/pkcs11</literal></para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--with-user-config</option></term>
+ <listitem><para>Specify the path to look for user specific p11-kit config files. If
+ specify a path that begins with <literal>~/</literal> then this is expanded to the
+ home directory of the user running p11-kit. If you specify a path that begins with
+ <literal>~/.config/</literal> then this is expanded to the $XDG_CONFIG_HOME directory,
+ as outlined in the
+ <ulink url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables">XDG Base Dir specification</ulink>.
+ This option defaults to <literal>~/.pkcs11</literal></para></listitem>
+ </varlistentry>
</variablelist>
<para></para>
</section>
diff --git a/doc/manual/p11-kit-trust.xml b/doc/manual/p11-kit-trust.xml
index 999bfef..4b3521a 100644
--- a/doc/manual/p11-kit-trust.xml
+++ b/doc/manual/p11-kit-trust.xml
@@ -1,6 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY sysdir SYSTEM "sysdir.xml">
+ <!ENTITY userdir SYSTEM "userdir.xml">
+]>
<chapter xml:id="trust">
<title>Trust Policy Module</title>
@@ -106,12 +110,12 @@ $ pkg-config --variable p11_trust_paths p11-kit-1
during the <link linkend="devel-building-configure">p11-kit
build</link>.</para></listitem>
<listitem><para>Disable loading trust policy information
- from this module by adding a file to <literal>/etc/pkcs11/modules</literal>
+ from this module by adding a file to <literal>&sysdir;/modules</literal>
called <literal>p11-kit-trust.module</literal> containing a
<literal>trust-policy: no</literal> line.</para></listitem>
<listitem><para>Disable this module completely by
- adding a file to <literal>/etc/pkcs11/modules</literal>
+ adding a file to <literal>&sysdir;/modules</literal>
called <literal>p11-kit-trust.module</literal> containing a
<literal>enable-in:</literal> line (without a value).</para></listitem>
</itemizedlist>
diff --git a/doc/manual/pkcs11.conf.xml b/doc/manual/pkcs11.conf.xml
index cda02ee..14b1783 100644
--- a/doc/manual/pkcs11.conf.xml
+++ b/doc/manual/pkcs11.conf.xml
@@ -1,6 +1,10 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY sysdir SYSTEM "sysdir.xml">
+ <!ENTITY userdir SYSTEM "userdir.xml">
+]>
<refentry id="pkcs11.conf">
@@ -232,13 +236,13 @@ x-custom : text
additional configuration or override the system configuration.</para>
<para>The system global configuration file is usually in
- <literal>/etc/pkcs11/pkcs11.conf</literal> and the user global
- configuration file is in <literal>~/.pkcs11/pkcs11.conf</literal> in the
+ <literal>&sysdir;/pkcs11.conf</literal> and the user global
+ configuration file is in <literal>&userdir;/pkcs11.conf</literal> in the
user's home directory.</para>
<para>The module config files are usually located in the
- <literal>/etc/pkcs11/modules</literal> directory, with one configuration
- file per module. In addition the <literal>~/.pkcs11/modules</literal> directory
+ <literal>&sysdir;/modules</literal> directory, with one configuration
+ file per module. In addition the <literal>&userdir;/modules</literal> directory
can be used for modules installed by the user.</para>
<para>Note that user configuration files are not loaded from the home
diff --git a/doc/manual/version.xml.in b/doc/manual/version.xml.in
deleted file mode 100644
index 27323da..0000000
--- a/doc/manual/version.xml.in
+++ /dev/null
@@ -1 +0,0 @@
-@VERSION@ \ No newline at end of file