From 9cbfa48073b47148a42b65c729423e873488c39c Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Sat, 12 Oct 2013 16:05:27 +0100 Subject: Use polkit for authorisation (mga#11125) --- Makefile | 19 ++++++++----------- NEWS | 2 ++ po/Makefile | 21 ++++++++++----------- po/POTFILES.in | 2 -- polkit/Makefile | 24 ++++++++++++++++++++++++ polkit/org.mageia.drakuser.policy.in | 22 ++++++++++++++++++++++ 6 files changed, 66 insertions(+), 24 deletions(-) delete mode 100644 po/POTFILES.in create mode 100644 polkit/Makefile create mode 100644 polkit/org.mageia.drakuser.policy.in diff --git a/Makefile b/Makefile index 6558e13..7841f42 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,3 @@ - VERSION = 1.14 NAME = userdrake BINNAME = userdrake @@ -6,28 +5,26 @@ BINNAME = userdrake PREFIX = / DATADIR = $(PREFIX)/usr/share ICONSDIR = $(DATADIR)/icons -SBINDIR = $(PREFIX)/usr/sbin +LIBEXECDIR = $(PREFIX)/usr/libexec BINDIR = $(PREFIX)/usr/bin SYSCONFDIR = $(PREFIX)/etc/sysconfig -SBINREL = ../sbin -SUBDIRS = po +SUBDIRS = po polkit localedir = $(prefix)/usr/share/locale all: userdrake - for d in $(SUBDIRS); do ( cd $$d ; make $@ ) ; done + for d in $(SUBDIRS); do ( make -C $$d $@ ) ; done clean: $(MAKE) -C po $@ rm -f core .#*[0-9] - for d in $(SUBDIRS); do ( cd $$d ; make $@ ) ; done + for d in $(SUBDIRS); do ( make -C $$d $@ ) ; done install: all $(MAKE) -C po $@ - install -d $(PREFIX)/{/etc/sysconfig,usr/{bin,sbin,share/$(NAME)/pixmaps,share/icons/{mini,large}}} - install -m755 $(NAME) $(SBINDIR)/ - ln -sf $(SBINREL)/userdrake $(BINDIR)/userdrake - ln -sf $(SBINREL)/userdrake $(SBINDIR)/drakuser + install -d $(PREFIX)/{/etc/sysconfig,usr/{bin,libexec,share/$(NAME)/pixmaps,share/icons/{mini,large}}} + install -m755 $(NAME) $(LIBEXECDIR)/drakuser + ln -sf drakuser $(BINDIR)/$(NAME) install -d $(SYSCONFDIR) install -m644 userdrake.prefs $(SYSCONFDIR)/userdrake install -m644 pixmaps/*.png $(DATADIR)/$(NAME)/pixmaps @@ -35,7 +32,7 @@ install: all install -m644 icons/$(NAME)32.png $(ICONSDIR)/$(NAME).png install -m644 icons/$(NAME)48.png $(ICONSDIR)/large/$(NAME).png install -m644 icons/*selec*.png $(DATADIR)/$(NAME)/pixmaps - for d in $(SUBDIRS); do ( cd $$d ; make $@ ) ; done + for d in $(SUBDIRS); do ( make -C $$d $@ ) ; done dis: dist dist: clean diff --git a/NEWS b/NEWS index 54bd81c..cb57fdb 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +- use polkit for authorisation (mga#11125) + Version 1.14 - 23 April 2013, Thierry Vignaud - fix compiling with latest libuser diff --git a/po/Makefile b/po/Makefile index f9d5721..e773ff9 100644 --- a/po/Makefile +++ b/po/Makefile @@ -4,7 +4,7 @@ localedir = $(PREFIX)/usr/share/locale PGOAL = userdrake # perl files to search translatable strings in -PL_FILES = $(shell cat POTFILES.in | sed 's,^,../,' ) +PL_FILES = ../userdrake ../USER/USER.pm # C-like files to search translatable strings in CFILES = ../USER/USER.xs @@ -23,20 +23,19 @@ install: all done clean: - rm -f *~ *.[oas] *.mo TAGS + rm -f *~ *.[oas] *.mo TAGS POTFILES.in %.mo: %.po msgfmt -o $@ $< -$(PGOAL).pot: POTFILES.in $(PL_FILES) $(CFILES) - xgettext -F -n --add-comments \ - --keyword=_ --keyword=__ --keyword=N_ --keyword=N \ - --keyword=gettext \ - --language=C -o placeholder.pot $(CFILES) - #touch placeholder.pot - perl_checker -q --generate-pot $(PGOAL)_tmp.pot $(PL_FILES) || rm -f $(PGOAL)_tmp.pot - [ ! -e $(PGOAL)_tmp.pot ] || msgcat --use-first placeholder.pot $(PGOAL)_tmp.pot > $@ - rm -f placeholder.pot $(PGOAL)_tmp.pot +$(PGOAL).pot: $(PL_FILES) $(CFILES) POTFILES.in + intltool-update --gettext-package non-perl --pot + perl_checker -q --generate-pot .$@ $(PL_FILES) + msgcat -w 2048 --use-first .$@ non-perl.pot > $@ + rm -f non-perl.pot .$@ + +POTFILES.in: + (cd .. ; /bin/ls -1 polkit/*.policy.in USER/*.xs; ) > POTFILES.in update_n_merge: $(PGOAL).pot merge diff --git a/po/POTFILES.in b/po/POTFILES.in deleted file mode 100644 index afce97b..0000000 --- a/po/POTFILES.in +++ /dev/null @@ -1,2 +0,0 @@ -userdrake -USER/USER.pm diff --git a/polkit/Makefile b/polkit/Makefile new file mode 100644 index 0000000..a8b5a51 --- /dev/null +++ b/polkit/Makefile @@ -0,0 +1,24 @@ +BINDIR = /usr/bin +LIBEXECDIR = /usr/libexec +BINDEST = $(PREFIX)$(BINDIR) +POLKITPOLICYDEST = $(PREFIX)/usr/share/polkit-1/actions + +POLICY_IN := $(wildcard *.policy.in) +POLICY = $(POLICY_IN:.policy.in=.policy) +WRAPPERS = $(patsubst org.mageia.%.policy,%,$(POLICY)) + +all: $(WRAPPERS) $(POLICY) + +clean: + rm -f $(WRAPPERS) $(POLICY) + +%: org.mageia.%.policy.in + @echo -e "#!/bin/sh\nexec $(BINDIR)/pkexec $(LIBEXECDIR)/$@ $$""*" > $@ + +%.policy: %.policy.in + intltool-merge --utf8 ../po $< $@ -x -u -c ../po/.intltool-merge-cache + +install: all + install -d $(BINDEST) $(POLKITPOLICYDEST) + install -m755 $(WRAPPERS) $(BINDEST) + install -m644 $(POLICY) $(POLKITPOLICYDEST) diff --git a/polkit/org.mageia.drakuser.policy.in b/polkit/org.mageia.drakuser.policy.in new file mode 100644 index 0000000..4aee6b8 --- /dev/null +++ b/polkit/org.mageia.drakuser.policy.in @@ -0,0 +1,22 @@ + + + + + Mageia + http://www.mageia.org/ + + + <_description>Run Mageia User Manager + <_message>Authentication is required to run Mageia User Manager + drakconf + + no + no + auth_admin_keep + + /usr/libexec/drakuser + true + + -- cgit v1.2.1