Commit a615c378 authored by David Zeuthen's avatar David Zeuthen
Browse files

Merge ../PolicyKit-gnome

svn path=/trunk/; revision=2
parents
David Zeuthen <davidz@redhat.com>
This diff is collapsed.
SCM (will be moved to GNOME SVN at some point)
==============================================
- anonymous checkouts
$ git clone git://people.freedesktop.org/~david/PolicyKit-gnome
- commit to local repository
$ git commit -a
- pull changes from master repository at fd.o
$ git pull
- diff of working tree versus local repository
$ git diff
- diff of local repository vs. master repository at fd.o
synchronize with upstream repo:
$ git pull
(possibly merge changes)
generate the diff:
$ git diff origin HEAD
- influential environment variables (set these in e.g. .bash_profile)
export GIT_AUTHOR_NAME='Your Full Name'
export GIT_COMMITTER_NAME='Your Full Name'
export GIT_COMMITTER_EMAIL=youremail@domain.net
export GIT_AUTHOR_EMAIL=youremail@domain.net
- see also
http://www.kernel.org/pub/software/scm/git/docs/
Committing code
===
- Commit messages should be of the form (the five lines between the
lines starting with ===)
=== begin example commit ===
short explanation of the commit
Longer explanation explaining exactly what's changed, whether any
external or private interfaces changed, what bugs were fixed (with bug
tracker reference if applicable) and so forth. Be concise but not too brief.
=== end example commit ===
- Always add a brief description of the commit to the _first_ line of
the commit and terminate by two newlines (it will work without the
second newline, but that is not nice for the interfaces).
- First line (the brief description) must only be one sentence and
must not start with a capital letter. Don't use a trailing period
either.
- The main description (the body) is normal prose and should use normal
punctuation and capital letters where appropriate. Normally, for patches
sent to a mailing list it's copied from there.
- When committing code on behalf of others use the --author option, e.g.
git commit -a --author "Joe Coder <joe@coder.org>"
Coding Style
===
- Please follow the coding style already used - it's not a must, but it's
nice to have consistency.
- Write docs for all functions and structs and so on. We use gtkdoc format.
- All external interfaces (network protocols, file formats, etc.)
should have documented specifications sufficient to allow an
alternative implementation to be written. Our implementation should
be strict about specification compliance (should not for example
heuristically parse a file and accept not-well-formed
data). Avoiding heuristics is also important for security reasons;
if it looks funny, ignore it (or exit, or disconnect).
David Zeuthen <davidz@redhat.com>
SUBDIRS = data src polkit-gnome tools
if BUILD_EXAMPLES
SUBDIRS += examples
endif
# Need to build docs after examples because the docs include generated files
SUBDIRS += doc po
# Creating ChangeLog from git log (taken from cairo/Makefile.am):
ChangeLog: $(srcdir)/ChangeLog
$(srcdir)/ChangeLog:
@if test -d "$(srcdir)/.git"; then \
(cd "$(srcdir)" && \
./missing --run git-log --stat) | fmt --split-only > $@.tmp \
&& mv -f $@.tmp $@ \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
(test -f $@ || echo git-log is required to generate this file >> $@)); \
else \
test -f $@ || \
(echo A git checkout and git-log is required to generate ChangeLog >&2 && \
echo A git checkout and git-log is required to generate this file >> $@); \
fi
.PHONY: ChangeLog $(srcdir)/ChangeLog
EXTRA_DIST = \
autogen.sh \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
TODO \
HACKING \
ChangeLog
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update
clean-local :
rm -f *~ po/*~
==========
PolicyKit-gnome 0.7
==========
Released on December 5th 2007.
This is the fifth release of PolicyKit-gnome.
Highlights of this release
o Also listen on the new desktop-neutral session bus interface as
defined by PolicyKit
http://hal.freedesktop.org/docs/PolicyKit/model-authentication-agent.html
o New libpolkit-gnome library with lots of cool features
o New polkit-gnome-authorizations tool for managing authorizations
o Support for vendor name, site and icon. The icon will be blended over
the south-east quarter of the lock icon
o Various bug fixes
David Zeuthen (65):
post-release version bump
grab the pointer and keyboard when showing an auth dialog
don't grab the X keyboard; only grab the X pointer
do grab the keyboard anyway
add infrastructure for building a library
forgot to add gtk-doc.make
first stab at subclassing GtkAction for the libpolkit-gnome library
add authentication convience function and make PolKitGnomeAction smarter
add a polkit_gnome_action_create_button() convenience method
remove functionality to pass the X11 XID in PolKitGnomeAction
pass XID for top-level of the widget that caused the ::activate signal
show labels in buttons created by polkit_gnome_action_create_button()
add signals for ::auth_start, ::auth_end on PolKitGnomeAction
make all setters of PolKitGnomeAction private
clean up the example, include it in inline docs and remove the helper
ref the PolKitAction when returning it as a property
in the example, unref the PolKitAction objects to plug memory leaks
require (unreleased) PolicyKit 0.7 instead of 0.5
update label for buttons created with polkit_gnome_action_create_button()
show an example of properties of PolKitGnomeAction can be overridden
also propagate the ::activate signal if PolicyKit says 'no'
update example
add support for the 'short-label' property in PolKitGnomeAction
add toolbar and menubar to the example
minor style / translation fixes for polkit-gnome-example
fixed some i18n issues with polkit-gnome-example
add documentation for the authentication daemon
add some warning flags from gcc and fix up some warnings
the auth daemon is not multi-threaded, no need to init threads
we don't use libgnome nor libgnomeui so don't check for it in configure.ac
separate library dependencies into separate pkg-config modules
clean TODO - yay, down to one single trivial entry
for PolKitGnomeAction define what happens if PolKitAction is set to NULL
assorted libpolkit-gnome fixes
fix description of the Kick actions in the example
add a "Manage Authorization" application
various fixed for PolKitGnomeAction
include png
new class PolKitGnomeToggleAction
include PolKitGnomeToggleAction and update a screenshot
use PolKitGnomeToggleAction in example
various work-in-progress bits for the authorization tool
update for recent changes on PolicyKit HEAD
add support for one-shot authorizations
update screenshots in docs
update to slightly modified iterator API in PolicyKit HEAD
update to gtk-doc.make to handle parallel builds
use a tree for the actions and their namespaces instead of a flat list
add support for grant, revoke and editing implicit authorizations
add notebook to avoid showing summary when an action isn't selected
add support for vendor and icon
pull in sexy and gnome-vfs for better presentation and handling of vendor url's
make auth dialog show a link to the auth manager and add a .desktop file
actually do single instance by refusing to run if we can't claim the Name
add support for negative auths
fix corner case for the toggle action
also claim the name org.freedesktop.PolicyKit.AuthenticationAgent
add support for "target-pid" property and streamline auth interface
fix up POLKIT_TYPE_GNOME_CONTEXT to be POLKIT_GNOME_TYPE_CONTEXT
update docs to reflect the interface switch from org.gnome to org.freedesktop
for negative auths, make the face bw to make the stop icon stand out
update to latest PolicyKit API changes
introduce new polkit-action-sufficient property
update for latest PolicyKit API changes
update NEWS file
Requirements for PolicyKit-gnome 0.7
- PolicyKit == 0.7
- GTK+ >= 2.12
- dbus >= 1.0
- dbus-glib >= 0.71
- gnome-vfs >= 2.4
- libsexy >= 0.1.11
==========
PolicyKit-gnome 0.6
==========
Released on October 11th 2007.
This is the fourth release of PolicyKit-gnome. This release should be
compatible with the PolicyKit-gnome 0.5 release.
David Zeuthen (9):
post-release version bump
Revert "post-release version bump"
removed bogus aclocal.m4 file from repository
build example by default
post release bump to 0.6
fix heuristics for localizing PAM strings and support thinkfinger better
fix danish translations
exit authentication daemon after 30 seconds of inactivity
add a --no-exit option to polkit-gnome-manager
Michael Biebl (1):
make it possible to build without the demo application
Requirements for PolicyKit-gnome 0.6
- PolicyKit == 0.6
- GTK+ >= 2.11 (2.10 will do if you don't build the demos)
- dbus >= 1.0
- dbus-glib >= 0.71
- libgnome >= 2.14.0
- libgnome-ui >= 2.14.0
==========
PolicyKit-gnome 0.5
==========
Released on August 31st 2007.
This is the third release of PolicyKit-gnome. An incompatible change
from the 0.4 release has been introduced; the signature of the method
ShowDialog() has changed; it now takes an X11 window ID. Pass zero
as the identifier if you don't have a window.
David Zeuthen (12):
post-release version bump to version 0.5
fix up i18n framework and add Danish translations
fix make distcheck
put icons on buttons to signify whether the action is permitted
update to work with PolicyKit HEAD's support for <define_admin_auth/>
break the D-Bus by taking an X11 window ID
add en_CA translations
update to be compatible with PolicyKit HEAD
add an example of how annotations are used
update danish translations and remove en_CA translations
rename the session daemon from polkit-gnome to polkit-gnome-manager
update NEWS
WARNING WARNING WARNING: do not use this software in a stable
distribution; there are still security sensitive things that needs to
be audited.
Requirements for PolicyKit-gnome 0.5
- PolicyKit == 0.5
- GTK+ >= 2.11
- dbus >= 0.90
- dbus-glib >= 0.71
- libgnome >= 2.14.0
- libgnome-ui >= 2.14.0
==========
PolicyKit-gnome 0.4
==========
Released on July 25th 2007.
This is the second release of PolicyKit-gnome.
WARNING WARNING WARNING: do not use this software in a stable
distribution; there are still security sensitive things that needs to
be audited.
Requirements for PolicyKit-gnome 0.4
- PolicyKit == 0.4
- GTK+ >= 2.6
- dbus >= 0.90
- dbus-glib >= 0.71
- libgnome >= 2.14.0
- libgnome-ui >= 2.14.0
==========
PolicyKit-gnome 0.3
==========
Released on June 20th 2007.
This is the first release of PolicyKit-gnome.
WARNING WARNING WARNING: do not use this software in a stable
distribution; there are still security sensitive things that needs to
be audited.
Requirements for PolicyKit-gnome 0.3
- PolicyKit == 0.3
- GTK+ >= 2.6
- dbus >= 0.90
- dbus-glib >= 0.71
- libgnome >= 2.14.0
- libgnome-ui >= 2.14.0
TODO: write me
- Move the GNOME SVN (ticket ID [gnome.org #2863])
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="PolicyKit-gnome"
(test -f $srcdir/src/Makefile.am) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
}
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME SVN repository"
exit 1
}
REQUIRED_AUTOMAKE_VERSION=1.9 USE_GNOME2_MACROS=1 USE_COMMON_DOC_BUILD=yes . gnome-autogen.sh
AC_INIT([PolicyKit-gnome],[0.8],[mailto:david@fubar.dk],[PolicyKit-gnome])
AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip])
AC_CONFIG_SRCDIR([src])
AC_CONFIG_HEADERS([config.h])
AM_MAINTAINER_MODE
# libtool versioning - this applies to all libraries in this package
#
# See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details
#
LT_CURRENT=0
LT_REVISION=0
LT_AGE=0
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
AC_PROG_CC
AC_ISC_POSIX
AC_HEADER_STDC
AC_PROG_LIBTOOL
#### gcc warning flags
if test "x$GCC" = "xyes"; then
changequote(,)dnl
case " $CFLAGS " in
*[\ \ ]-Wall[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wall" ;;
esac
case " $CFLAGS " in
*[\ \ ]-Wchar-subscripts[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
esac
case " $CFLAGS " in
*[\ \ ]-Wmissing-declarations[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
esac
case " $CFLAGS " in
*[\ \ ]-Wnested-externs[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wnested-externs" ;;
esac
case " $CFLAGS " in
*[\ \ ]-Wpointer-arith[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wpointer-arith" ;;
esac
case " $CFLAGS " in
*[\ \ ]-Wcast-align[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wcast-align" ;;
esac
case " $CFLAGS " in
*[\ \ ]-Wsign-compare[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wsign-compare" ;;
esac
if test "x$enable_ansi" = "xyes"; then
case " $CFLAGS " in
*[\ \ ]-ansi[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -ansi" ;;
esac
case " $CFLAGS " in
*[\ \ ]-D_POSIX_C_SOURCE*) ;;
*) CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L" ;;
esac
case " $CFLAGS " in
*[\ \ ]-D_BSD_SOURCE[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -D_BSD_SOURCE" ;;
esac
case " $CFLAGS " in
*[\ \ ]-pedantic[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -pedantic" ;;
esac
fi
if test x$enable_gcov = xyes; then
case " $CFLAGS " in
*[\ \ ]-fprofile-arcs[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -fprofile-arcs" ;;
esac
case " $CFLAGS " in
*[\ \ ]-ftest-coverage[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -ftest-coverage" ;;
esac
## remove optimization
CFLAGS=`echo "$CFLAGS" | sed -e 's/-O[0-9]*//g'`
fi
changequote([,])dnl
else
if test x$enable_gcov = xyes; then
AC_MSG_ERROR([--enable-gcov can only be used with gcc])
fi
fi
# *****
# GNOME
# *****
GNOME_COMMON_INIT
GNOME_DOC_INIT
GNOME_DEBUG_CHECK
GNOME_COMPILE_WARNINGS([maximum])
GNOME_MAINTAINER_MODE_DEFINES
AC_ARG_ENABLE(gtk-doc, AC_HELP_STRING([--enable-gtk-doc],
[use gtk-doc to build documentation [default=yes]]),,
enable_gtk_doc=yes)
GTK_DOC_CHECK([1.3])
# ***************************
# Check for required packages
# ***************************
GTK_REQUIRED=2.12.0
SEXY_REQUIRED=0.1.11
GNOME_VFS_REQUIRED=2.4
DBUS_GLIB_REQUIRED=0.71
POLKIT_DBUS_REQUIRED=0.7
POLKIT_GRANT_REQUIRED=0.7
PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
PKG_CHECK_MODULES(SEXY, libsexy >= $SEXY_REQUIRED)
AC_SUBST(SEXY_CFLAGS)
AC_SUBST(SEXY_LIBS)
PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0 >= $GNOME_VFS_REQUIRED)
AC_SUBST(GNOME_VFS_CFLAGS)
AC_SUBST(GNOME_VFS_LIBS)
PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1 >= $DBUS_GLIB_REQUIRED)
AC_SUBST(DBUS_GLIB_CFLAGS)
AC_SUBST(DBUS_GLIB_LIBS)
PKG_CHECK_MODULES(POLKIT_DBUS, polkit-dbus >= $POLKIT_DBUS_REQUIRED)
AC_SUBST(POLKIT_DBUS_CFLAGS)
AC_SUBST(POLKIT_DBUS_LIBS)
PKG_CHECK_MODULES(POLKIT_GRANT, polkit-grant >= $POLKIT_GRANT_REQUIRED)
AC_SUBST(POLKIT_GRANT_CFLAGS)
AC_SUBST(POLKIT_GRANT_LIBS)
AC_ARG_ENABLE([examples],
AC_HELP_STRING([--enable-examples], [Build the example programs]),,
[enable_examples=yes])
AM_CONDITIONAL(BUILD_EXAMPLES, test "x$enable_examples" = "xyes")
if test "x$enable_examples" = "xyes"; then
AC_CHECK_PROG([POLKIT_POLICY_FILE_VALIDATE],
[polkit-policy-file-validate], [polkit-policy-file-validate])
if test -z "$POLKIT_POLICY_FILE_VALIDATE"; then
AC_MSG_ERROR([polkit-policy-file-validate not found])
fi
fi
# ********************
# Internationalisation
# ********************
IT_PROG_INTLTOOL([0.35.0])
GETTEXT_PACKAGE=PolicyKit-gnome
AC_SUBST([GETTEXT_PACKAGE])
AM_GLIB_GNU_GETTEXT
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[gettext domain])
# *************************************
# *************************************
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_LDFLAGS])
AC_CONFIG_FILES([
Makefile
data/Makefile
data/polkit-gnome.pc
examples/Makefile
polkit-gnome/Makefile
src/Makefile
tools/Makefile
doc/Makefile
doc/version.xml
po/Makefile.in
])
AC_OUTPUT
echo "
PolicyKit-gnome $VERSION
=======================
prefix: ${prefix}
libdir: ${libdir}
libexecdir: ${libexecdir}
bindir: ${bindir}
sbindir: ${sbindir}
datadir: ${datadir}
sysconfdir: ${sysconfdir}
localstatedir: ${localstatedir}
compiler: ${CC}
cflags: ${CFLAGS}
cppflags: ${CPPFLAGS}
Maintainer mode: ${USE_MAINTAINER_MODE}
Building api docs: ${enable_gtk_doc}
"
@INTLTOOL_DESKTOP_RULE@
desktopdir = $(datadir)/applications
desktop_in_files = polkit-gnome-authorization.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
servicedir = $(datadir)/dbus-1/services
service_in_files = org.gnome.PolicyKit.service.in \
org.gnome.PolicyKit.AuthorizationManager.service.in \
gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service.in
service_DATA = $(service_in_files:.service.in=.service)
org.gnome.PolicyKit.service : org.gnome.PolicyKit.service.in Makefile
@sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service : gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service.in Makefile
@sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
org.gnome.PolicyKit.AuthorizationManager.service : org.gnome.PolicyKit.AuthorizationManager.service.in Makefile
@sed -e "s|\@bindir\@|$(bindir)|" $< > $@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = polkit-gnome.pc
DISTCLEANFILES = $(service_DATA) $(desktop_DATA) $(pkgconfig_DATA)
EXTRA_DIST = $(service_in_files) $(desktop_in_files) polkit-gnome.pc.in
clean-local :
rm -f *~ $(service_DATA) $(pkgconfig_DATA)
[D-BUS Service]
Name=org.freedesktop.PolicyKit.AuthenticationAgent
Exec=@libexecdir@/polkit-gnome-manager
[D-BUS Service]
Name=org.gnome.PolicyKit.AuthorizationManager
Exec=@bindir@/polkit-gnome-authorization
[D-BUS Service]
Name=org.gnome.PolicyKit
Exec=@libexecdir@/polkit-gnome-manager
[Desktop Entry]
Encoding=UTF-8
_Name=Authorizations
_Comment=Configure authorizations
Icon=gtk-dialog-authentication
Exec=polkit-gnome-authorization
Terminal=false
Type=Application
Categories=Settings;X-GNOME-SystemSettings;
OnlyShowIn=GNOME;