Commit 5e55b4a2 authored by David Zeuthen's avatar David Zeuthen

reset project and remove all existing code

Some of the code, e.g. the daemon, will be brought back in other forms.
parent e97e945e
The PolicyKit daemon and associated command-line tools polkit-* is
licensed to you under the GNU General Public License version 2.
The PolicyKit command-line tools are licensed to you under the GNU
General Public License version 2.
libpolkit is licensed to you under your choice of the Academic Free
License version 2.1, or the GNU General Public License version 2.
......
## Process this file with automake to produce Makefile.in
SUBDIRS = libpolkit pam-polkit-console polkitd doc tools privileges
pamdir = $(sysconfdir)/pam.d
pam_DATA = policy-kit
SUBDIRS = libpolkit doc tools
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = polkit.pc
pkgconfig_DATA = libpolkit.pc
# Creating ChangeLog from git log (taken from cairo/Makefile.am):
......@@ -28,9 +25,9 @@ $(srcdir)/ChangeLog:
.PHONY: ChangeLog $(srcdir)/ChangeLog
DISTCLEANFILES = polkit.pc
DISTCLEANFILES = libpolkit.pc
EXTRA_DIST = HACKING polkit-interface-manager.xml polkit-interface-session.xml polkit.pc.in policy-kit.in mkinstalldirs ChangeLog
EXTRA_DIST = HACKING libpolkit.pc.in mkinstalldirs ChangeLog
clean-local :
rm -f *~
......@@ -4,6 +4,6 @@ PolicyKit 0.1 ""
WRITE ME
Requirements for PolicyKit 0.1 "" (and CVS HEAD)
Requirements for PolicyKit 0.1 "" (and git master)
- glib >= 2.6.0
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
AC_INIT(PolicyKit, 0.2, david@fubar.dk)
AM_INIT_AUTOMAKE(PolicyKit, 0.2)
AC_INIT(PolicyKit, 0.3, david@fubar.dk)
AM_INIT_AUTOMAKE(PolicyKit, 0.3)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
......@@ -10,7 +10,7 @@ AM_MAINTAINER_MODE
#
# See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details
#
LT_CURRENT=0
LT_CURRENT=1
LT_REVISION=0
LT_AGE=0
AC_SUBST(LT_CURRENT)
......@@ -26,29 +26,12 @@ AC_PROG_MAKE_SET
AC_PROG_LN_S
AC_SYS_LARGEFILE
AC_ARG_WITH(polkit_user,[ --with-polkit-user=<user> user for PolicyKit])
if test -z "$with_polkit_user" ; then
POLKIT_USER=polkit
else
POLKIT_USER=$with_polkit_user
fi
AC_SUBST(POLKIT_USER)
AC_DEFINE_UNQUOTED(POLKIT_USER, "$POLKIT_USER", [User for PolicyKit])
AC_ARG_WITH(polkit_group,[ --with-polkit-group=<grp> group for PolicyKit])
if test -z "$with_polkit_group" ; then
POLKIT_GROUP=polkit
else
POLKIT_GROUP=$with_polkit_group
fi
AC_SUBST(POLKIT_GROUP)
AC_DEFINE_UNQUOTED(POLKIT_GROUP,"$POLKIT_GROUP", [Group for PolicyKit])
# Taken from dbus
AC_ARG_ENABLE(ansi, [ --enable-ansi enable -ansi -pedantic gcc flags],enable_ansi=$enableval,enable_ansi=no)
AC_ARG_ENABLE(verbose-mode, [ --enable-verbose-mode support verbose debug mode],enable_verbose_mode=$enableval,enable_verbose_mode=$USE_MAINTAINER_MODE)
AC_ARG_ENABLE(docbook-docs, [ --enable-docbook-docs build documentation (requires xmlto)],enable_docbook_docs=$enableval,enable_docbook_docs=auto)
AC_ARG_ENABLE(docbook-docs, [ --enable-docbook-docs build documentation (requires xmlto)],enable_docbook_docs=$enableval,enable_docbook_docs=no)
AC_ARG_ENABLE(man-pages, [ --enable-man-pages build manual pages],enable_man_pages=$enableval,enable_man_pages=yes)
AM_CONDITIONAL(MAN_PAGES_ENABLED, test x$enable_man_pages = xyes)
GTK_DOC_CHECK([1.3])
......@@ -138,30 +121,23 @@ PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.6.0])
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60])
AC_SUBST(DBUS_CFLAGS)
AC_SUBST(DBUS_LIBS)
PKG_CHECK_MODULES(DBUS_GLIB, [dbus-glib-1 >= 0.60])
AC_SUBST(DBUS_GLIB_CFLAGS)
AC_SUBST(DBUS_GLIB_LIBS)
AC_CHECK_FUNCS(getgrouplist)
# DocBook Documentation
AC_PATH_PROG(XMLTO, xmlto, no)
AC_MSG_CHECKING([whether to build DocBook documentation])
if test x$DOCBOOK = xno ; then
have_docbook=no
AC_PATH_PROG(XMLTO, xmlto, no)
AC_PATH_PROG(XMLLINT, xmllint, no)
if test x$XMLLINT = xno ; then
have_xmllint=no
else
have_docbook=yes
have_xmllint=yes
fi
if test x$enable_docbook_docs = xauto ; then
if test x$have_docbook = xno ; then
if test x$have_xmlto = xno || test x$have_xmllint = xno ; then
enable_docbook_docs=no
else
enable_docbook_docs=yes
......@@ -169,8 +145,8 @@ if test x$enable_docbook_docs = xauto ; then
fi
if test x$enable_docbook_docs = xyes; then
if test x$have_docbook = xno; then
AC_MSG_ERROR([Building DocBook docs explicitly required, but DocBook not found])
if test x$have_xmlto = xno; then
AC_MSG_ERROR([Building DocBook docs explicitly required, but xmlto not found])
fi
fi
......@@ -195,186 +171,22 @@ fi
AC_SUBST(DOCDIR)
# PAM stuff borrowed from gnome-screensaver
# Determine PAM prefix
withval=""
AC_ARG_WITH(pam-prefix,
[ --with-pam-prefix=<prefix> specify where pam files go],[
if test x$withval != x; then
AC_MSG_RESULT("PAM files will be installed in prefix ${withval}.")
fi])
if test x$withval != x; then
PAM_PREFIX_UNEXPANDED="$withval"
else
PAM_PREFIX_UNEXPANDED="$sysconfdir"
fi
PAM_PREFIX=`eval echo $PAM_PREFIX_UNEXPANDED`
AC_SUBST(PAM_PREFIX)
dnl ---------------------------------------------------------------------------
dnl - Check for PAM
dnl ---------------------------------------------------------------------------
have_pam=no
AC_CHECK_LIB(pam, pam_start, have_pam=yes)
if test x$have_pam = xno; then
AC_ERROR([Could not find pam/pam-devel, please install the needed packages.])
else
AUTH_LIBS="${AUTH_LIBS} -lpam"
AC_DEFINE(HAVE_PAM, 1, [Define if PAM support is included])
# On Linux, sigtimedwait() is in libc; on Solaris, it's in librt.
have_timedwait=no
AC_CHECK_LIB(c, sigtimedwait, [have_timedwait=yes])
if test "$have_timedwait" = no ; then
AC_CHECK_LIB(rt, sigtimedwait, [AUTH_LIBS="${AUTH_LIBS} -lrt"])
fi
AC_MSG_CHECKING(how to call pam_strerror)
AC_CACHE_VAL(ac_cv_pam_strerror_args,
[AC_TRY_COMPILE([#include <stdio.h>
#include <stdlib.h>
#include <security/pam_appl.h>],
[pam_handle_t *pamh = 0;
char *s = pam_strerror(pamh, PAM_SUCCESS);],
[ac_pam_strerror_args=2],
[AC_TRY_COMPILE([#include <stdio.h>
#include <stdlib.h>
#include <security/pam_appl.h>],
[char *s =
pam_strerror(PAM_SUCCESS);],
[ac_pam_strerror_args=1],
[ac_pam_strerror_args=0])])
ac_cv_pam_strerror_args=$ac_pam_strerror_args])
ac_pam_strerror_args=$ac_cv_pam_strerror_args
if test "$ac_pam_strerror_args" = 1 ; then
AC_MSG_RESULT(one argument)
elif test "$ac_pam_strerror_args" = 2 ; then
AC_DEFINE(PAM_STRERROR_TWO_ARGS, 1, [Define if pam_strerror takes two arguments])
AC_MSG_RESULT(two arguments)
else
AC_MSG_RESULT(unknown)
fi
fi
AM_CONDITIONAL(HAVE_PAM, test x$have_pam = xyes)
AC_SUBST(HAVE_PAM)
AC_SUBST(AUTH_LIBS)
AC_CHECK_HEADER(security/pam_modutil.h, [AC_DEFINE(HAVE_PAM_MODUTIL_H, [], "Have pam_modutil.h")])
AC_CHECK_HEADER(security/pam_ext.h, [AC_DEFINE(HAVE_PAM_EXT_H, [], "Have pam_ext.h")])
AC_CHECK_LIB(pam, pam_vsyslog, [AC_DEFINE(HAVE_PAM_VSYSLOG, [], "Have pam_vsyslog")])
AC_ARG_WITH(pam-module-dir, [ --with-pam-module-dir=[dirname] directory to install PAM security module])
if ! test -z "$with_pam_module_dir"; then
PAM_MODULE_DIR=$with_pam_module_dir
else
PAM_MODULE_DIR="/lib/security"
fi
AC_SUBST(PAM_MODULE_DIR)
AC_ARG_WITH(os-type, [ --with-os-type=<os> distribution or OS (redhat)])
#### Check our operating system (distro-tweaks required)
if test "z$with_os_type" = "z"; then
AC_CHECK_FILE(/etc/redhat-release,distro_type="redhat")
AC_CHECK_FILE(/etc/SuSE-release,distro_type="suse")
if test "z$distro_type" = "z"; then
echo "Linux distribution autodetection failed, specify the distribution to target using --with-os-type="
else
operating_system=`echo ${distro_type} | tr '[[:upper:]]' '[[:lower:]]' `
fi
fi
#### Sort out OS (distro-tweaks required)
if test x$with_os_type = x; then
if test x$operating_system = xredhat ; then
with_os_type=redhat
elif test x$operating_system = xsuse ; then
with_os_type=suse
else
with_os_type=unknown
fi
fi
# (distro-tweaks required)
AM_CONDITIONAL(OS_TYPE_UNKNOWN, test x$with_os_type = xunknown, [Running on unknown OS])
AM_CONDITIONAL(OS_TYPE_RED_HAT, test x$with_os_type = xredhat, [Running on Red Hat OS'es])
AM_CONDITIONAL(OS_TYPE_SUSE, test x$with_os_type = xsuse, [Running on SUSE OS'es])
AC_ARG_WITH(pid-file, [ --with-pid-file=<file> pid file for polkitd])
#### Set up the pid file (distro-tweaks required)
if ! test -z "$with_pid_file"; then
POLKITD_PID_FILE=$with_pid_file
elif test x$with_os_type = xredhat ; then
POLKITD_PID_FILE=${LOCALSTATEDIR}/run/polkitd.pid
elif test x$with_os_type = xsuse ; then
POLKITD_PID_FILE=${LOCALSTATEDIR}/run/polkitd.pid
else
POLKITD_PID_FILE=${LOCALSTATEDIR}/run/polkitd/pid
fi
AC_SUBST(POLKITD_PID_FILE)
AC_DEFINE_UNQUOTED(POLKITD_PID_FILE, "$POLKITD_PID_FILE", [pid file])
AC_ARG_WITH(pam-include, [ --with-pam-include=<file> pam file to include])
#### Set up pam file to include (distro-tweaks required)
if ! test -z "$with_pam_include"; then
PAM_FILE_INCLUDE_AUTH=$with_pam_include
PAM_FILE_INCLUDE_ACCOUNT=$with_pam_include
PAM_FILE_INCLUDE_PASSWORD=$with_pam_include
PAM_FILE_INCLUDE_SESSION=$with_pam_include
elif test x$with_os_type = xredhat ; then
PAM_FILE_INCLUDE_AUTH=system-auth
PAM_FILE_INCLUDE_ACCOUNT=system-auth
PAM_FILE_INCLUDE_PASSWORD=system-auth
PAM_FILE_INCLUDE_SESSION=system-auth
elif test x$with_os_type = xsuse ; then
PAM_FILE_INCLUDE_AUTH=common-auth
PAM_FILE_INCLUDE_ACCOUNT=common-account
PAM_FILE_INCLUDE_PASSWORD=common-password
PAM_FILE_INCLUDE_SESSION=common-session
else
PAM_FILE_INCLUDE_AUTH=system-auth
PAM_FILE_INCLUDE_ACCOUNT=system-auth
PAM_FILE_INCLUDE_PASSWORD=system-auth
PAM_FILE_INCLUDE_SESSION=system-auth
if test "x$GCC" = "xyes"; then
LDFLAGS="-Wl,--as-needed $LDFLAGS"
fi
AC_SUBST(PAM_FILE_INCLUDE_AUTH)
AC_SUBST(PAM_FILE_INCLUDE_ACCOUNT)
AC_SUBST(PAM_FILE_INCLUDE_PASSWORD)
AC_SUBST(PAM_FILE_INCLUDE_SESSION)
AC_DEFINE_UNQUOTED(PAM_FILE_INCLUDE_AUTH, "$PAM_FILE_INCLUDE_AUTH", [pam file auth])
AC_DEFINE_UNQUOTED(PAM_FILE_INCLUDE_ACCOUNT, "$PAM_FILE_INCLUDE_ACCOUNT", [pam file account])
AC_DEFINE_UNQUOTED(PAM_FILE_INCLUDE_PASSWORD, "$PAM_FILE_INCLUDE_PASSWORD", [pam file password])
AC_DEFINE_UNQUOTED(PAM_FILE_INCLUDE_SESSION, "$PAM_FILE_INCLUDE_SESSION", [pam file session])
AC_OUTPUT([
policy-kit
polkit.pc
libpolkit.pc
Makefile
pam-polkit-console/Makefile
polkitd/Makefile
polkitd/PolicyKit
polkitd/PolicyKit.conf
libpolkit/Makefile
tools/Makefile
doc/Makefile
doc/api/Makefile
doc/api/libpolkit/Makefile
doc/api/libpolkit/version.xml
doc/spec/Makefile
doc/spec/polkit-spec.xml
privileges/Makefile
doc/spec/polkit-spec.xml.in
doc/man/Makefile
])
dnl ==========================================================================
......@@ -391,41 +203,16 @@ echo "
sysconfdir: ${SYSCONFDIR}
localstatedir: ${LOCALSTATEDIR}
docdir: ${DOCDIR}
PAM prefix: ${PAM_PREFIX}
PAM module dir: ${PAM_MODULE_DIR}
compiler: ${CC}
cflags: ${CFLAGS}
cppflags: ${CPPFLAGS}
DocBook: ${DOCBOOK}
user for PolicyKit: ${POLKIT_USER}
group for PolicyKit: ${POLKIT_GROUP}
pidfile for polkitd: ${POLKITD_PID_FILE}
Distribution/OS: ${with_os_type}
PAM support: ${have_pam}
PAM file auth: ${PAM_FILE_INCLUDE_AUTH}
PAM file account: ${PAM_FILE_INCLUDE_ACCOUNT}
PAM file password: ${PAM_FILE_INCLUDE_PASSWORD}
PAM file session: ${PAM_FILE_INCLUDE_SESSION}
xmlto: ${XMLTO}
xmllint: ${XMLLINT}
Maintainer mode: ${USE_MAINTAINER_MODE}
Building verbose mode: ${enable_verbose_mode}
Building api docs: ${enable_gtk_doc}
Building docs: ${enable_docbook_docs}
Building man pages: ${enable_man_pages}
"
# (distro-tweaks required)
if test x$with_os_type = xredhat; then
echo "NOTE: Red Hat style init scripts and pam file will be installed"
elif test x$with_os_type = xsuse; then
echo "NOTE: SUSE style init scripts and pam file will be installed"
else
echo "NOTE: You have to install init scripts yourself and tweak your own pam file"
fi
echo
echo "NOTE: Remember to create user ${POLKIT_USER} and group ${POLKIT_GROUP} before make install"
echo
EXTRA_DIST = TODO
SUBDIRS = api spec
SUBDIRS = api spec man
clean-local:
rm -f *~
DONE
- Write up a nice spec about how all this works since it can be a bit
confusing
- Refine the .privilege file format so e.g. user 'foo' is always
allowed to grant privilege 'bar' to other users. Also other stuff.
- write polkit-revoke-privilege
- make polkit-list-privileges and polkit-is-privileged display if a
privilege is granted permanently or temporary. Also display if it's
confined to a certain D-BUS connection.
- Factor out auth code in polkit-is-privileged into a GObject and put
it in a libpolkit-gobject library (since the interaction is pretty
hairy (see interaction diagram in polkitd/polkit-session.c) I will
not put this in libpolkit as I want to use the glib bindings and
these require the glib main loop => not suitable for Qt etc.)
PENDING
- Make polkitd emit signals on an interface such that privileged apps
can be notified when privileges are granted and revoked. Also
export other useful query operations.
- make D-BUS interface in general and polkit-grant-privilege in
particular capable of granting privs permanently
- write some man pages
- write libpolkit-gnome that GNOME apps can consume
- implement D-BUS interfaces suitable for a GUI privilege editor
- write more tests; audit code
- Maybe use straight vsyslog from pam-polkit-console.c if pam_vsyslog
is missing (as recommened by Frederic Peters <fpeters@entrouvert.com>)
TODO: write me
## Process this file with automake to create Makefile.in.
AUTOMAKE_OPTIONS = 1.7
# The name of the module.
DOC_MODULE=polkit
# The top-level SGML file.
DOC_MAIN_SGML_FILE=polkit-docs.xml
# Extra options to supply to gtkdoc-scan
#SCAN_OPTIONS=--deprecated-guards="CAIRO_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../libpolkit
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/libpolkit/*.h
CFILE_GLOB=$(top_srcdir)/libpolkit/*.c
# Headers to ignore
IGNORE_HFILES=
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
INCLUDES =
GTKDOC_LIBS =
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
MKTMPL_OPTIONS=
# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
content_files =
# Images to copy into HTML directory
HTML_IMAGES =
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
SUBDIRS = libpolkit
include $(top_srcdir)/gtk-doc.make
MAINTAINERCLEANFILES = \
*~ \
Makefile.in \
$(NULL)
## Process this file with automake to create Makefile.in.
NULL =
AUTOMAKE_OPTIONS = 1.7
# The name of the module.
DOC_MODULE=libpolkit
# The top-level SGML file.
DOC_MAIN_SGML_FILE=libpolkit-docs.xml
# Extra options to supply to gtkdoc-scan
#SCAN_OPTIONS=--deprecated-guards="CAIRO_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../libpolkit
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/libpolkit/*.h
CFILE_GLOB=$(top_srcdir)/libpolkit/*.c
# Headers to ignore
IGNORE_HFILES= \
$(NULL)
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
INCLUDES = \
$(GLIB_CFLAGS) \
-I$(top_srcdir) \
-I$(top_builddir) \
$(NULL)
GTKDOC_LIBS = \
$(GLIB_LIBS) \
$(top_builddir)/libpolkit/libpolkit.la \
$(NULL)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
MKTMPL_OPTIONS=
# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
content_files = \
version.xml \
$(NULL)
# Images to copy into HTML directory
HTML_IMAGES =
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
MAINTAINERCLEANFILES = \
*~ \
Makefile.in \
libpolkit.types \
libpolkit-*.txt \
$(NULL)
include $(top_srcdir)/gtk-doc.make
# Version information for marking the documentation
EXTRA_DIST += version.xml.in
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>PolicyKit Library Reference Manual</title>
<releaseinfo>Version &version;</releaseinfo>
<authorgroup>
<author>
<firstname>David</firstname>
<surname>Zeuthen</surname>
<affiliation>
<address>
<email>david@fubar.dk</email>
</address>
</affiliation>
</author>
</authorgroup>
<copyright>
<year>2007</year>
<holder>The PolicyKit Authors</holder>
</copyright>
<legalnotice>
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the <citetitle>GNU Free
Documentation License</citetitle>, Version 1.1 or any later
version published by the Free Software Foundation with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. You may obtain a copy of the <citetitle>GNU Free
Documentation License</citetitle> from the Free Software
Foundation by visiting <ulink type="http"
url="http://www.fsf.org">their Web site</ulink> or by writing
to:
<address>
The Free Software Foundation, Inc.,
<street>59 Temple Place</street> - Suite 330,
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
<country>USA</country>
</address>
</para>
<para>
Many of the names used by companies to distinguish their
products and services are claimed as trademarks. Where those
names appear in any GNOME documentation, and those trademarks
are made aware to the members of the GNOME Documentation
Project, the names have been printed in caps or initial caps.
</para>
</legalnotice>
</bookinfo>
<reference>
<title>API Reference</title>
<partintro>
<para>
This part presents the class and function reference for the
PolicyKit library.
</para>
</partintro>
<xi:include href="xml/libpolkit.xml"/>
</reference>
<index>
<title>Index</title>
</index>
<!-- License -->
<appendix id="license">
<title>License</title>
<para>
This library is free software; you can redistribute it and/or
modify it under the terms of the <citetitle>GNU General
Public License</citetitle> as published by the Free Software
Foundation; either version 2 of the License, or (at your option)
any later version.
</para>
<para>
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<citetitle>GNU Library General Public License</citetitle> for
more details.
</para>
<para>
You may obtain a copy of the <citetitle>GNU General
Public License</citetitle> from the Free Software Foundation by
visiting <ulink type="http" url="http://www.fsf.org">their Web
site</ulink> or by writing to:
<address>
Free Software Foundation, Inc.
<street>59 Temple Place</street> - Suite 330
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
<country>USA</country>
</address>
</para>
</appendix>
</book>
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>PolicyKit Reference Manual</title>
</bookinfo>
<chapter>
<title>Client libraries</title>
<xi:include href="xml/libpolkit.xml"/>
<xi:include href="xml/libpolkit-grant.xml"/>
</chapter>
</book>
<!-- ##### SECTION Title ##### -->
libpolkit
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### ENUM LibPolKitResult ##### -->
<para>
</para>
@LIBPOLKIT_RESULT_OK:
@LIBPOLKIT_RESULT_ERROR: