diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/dbus/make-system-conf.xsl')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/dbus/make-system-conf.xsl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/dbus/make-system-conf.xsl b/nixpkgs/pkgs/development/libraries/dbus/make-system-conf.xsl new file mode 100644 index 000000000000..dd644b4bce7c --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/dbus/make-system-conf.xsl @@ -0,0 +1,35 @@ +<?xml version="1.0"?> + +<!-- + This script copies the original system.conf from the dbus + distribution, but sets paths from $serviceDirectories parameter + and suid helper from $suidHelper parameter. +--> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:str="http://exslt.org/strings" + extension-element-prefixes="str" + > + + <xsl:output method='xml' encoding="UTF-8" doctype-system="busconfig.dtd" /> + + <xsl:param name="serviceDirectories" /> + <xsl:param name="suidHelper" /> + + <xsl:template match="/busconfig"> + <busconfig> + <xsl:copy-of select="child::node()[name() != 'include' and name() != 'standard_system_servicedirs' and name() != 'servicehelper' and name() != 'servicedir' and name() != 'includedir']" /> + + <!-- set suid helper --> + <servicehelper><xsl:value-of select="$suidHelper" /></servicehelper> + + <xsl:for-each select="str:tokenize($serviceDirectories)"> + <servicedir><xsl:value-of select="." />/share/dbus-1/system-services</servicedir> + <includedir><xsl:value-of select="." />/etc/dbus-1/system.d</includedir> + <includedir><xsl:value-of select="." />/share/dbus-1/system.d</includedir> + </xsl:for-each> + </busconfig> + </xsl:template> + +</xsl:stylesheet> |