summaryrefslogtreecommitdiffstats
path: root/rules/policykit.make
blob: 658e2db949ac873c5f5803295879cb3a10c25089 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# -*-makefile-*-
#
# Copyright (C) 2009 by Robert Schwebel <r.schwebel@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_POLICYKIT) += policykit

#
# Paths and names
#
POLICYKIT_VERSION	:= 0.9
POLICYKIT_MD5		:= 802fd13ae41f73d79359e5ecb0a98716
POLICYKIT		:= PolicyKit-$(POLICYKIT_VERSION)
POLICYKIT_SUFFIX	:= tar.gz
POLICYKIT_URL		:= http://hal.freedesktop.org/releases/$(POLICYKIT).$(POLICYKIT_SUFFIX)
POLICYKIT_SOURCE	:= $(SRCDIR)/$(POLICYKIT).$(POLICYKIT_SUFFIX)
POLICYKIT_DIR		:= $(BUILDDIR)/$(POLICYKIT)

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

POLICYKIT_PATH	:= PATH=$(CROSS_PATH)
POLICYKIT_ENV 	:= $(CROSS_ENV)

#
# autoconf
#
POLICYKIT_AUTOCONF := \
	$(CROSS_AUTOCONF_USR) \
	--enable-shared \
	--enable-static \
	--disable-ansi \
	--disable-verbose-mode \
	--disable-tests \
	--disable-gcov \
	--disable-man-pages \
	--disable-gtk-doc \
	--disable-selinux \
	--with-gnu-ld \
	--with-authfw=none \
	--with-authdb=dummy \
	--with-os-type=redhat

# TODO:
# - add switches for --with-authfw=none/pam/shadow
# - add --with-authdb=default
# - --with-os-type=<os> doesn't know debian

#  --with-tags[=TAGS]      include additional configurations [automatic]
#  --with-html-dir=PATH    path to installed docs
#  --with-expat=<dir>      Use expat from here
#  --with-polkit-user=<user>  user for PolicyKit
#  --with-polkit-group=<grp>  group for PolicyKit
#  --with-pam-prefix=<prefix> specify where pam files go
#  --with-pam-module-dir=dirname  directory to install PAM security module
#  --with-pam-include=<file>  pam file to include

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

$(STATEDIR)/policykit.targetinstall:
	@$(call targetinfo)

	@$(call install_init, policykit)
	@$(call install_fixup, policykit,PRIORITY,optional)
	@$(call install_fixup, policykit,SECTION,base)
	@$(call install_fixup, policykit,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
	@$(call install_fixup, policykit,DESCRIPTION,missing)

	# libs
	@$(call install_lib, policykit, 0, 0, 0644, libpolkit-dbus)
	@$(call install_lib, policykit, 0, 0, 0644, libpolkit-grant)
	@$(call install_lib, policykit, 0, 0, 0644, libpolkit)

	# configs
	for i in \
		/etc/dbus-1/system.d/org.freedesktop.PolicyKit.conf \
		/etc/PolicyKit/PolicyKit.conf \
		/usr/share/dbus-1/interfaces/org.freedesktop.PolicyKit.AuthenticationAgent.xml \
		/usr/share/dbus-1/system-services/org.freedesktop.PolicyKit.service \
		/usr/share/PolicyKit/config.dtd \
		/usr/share/PolicyKit/policy/org.freedesktop.policykit.policy \
		/etc/profile.d/polkit-bash-completion.sh \
	; \
	do $(call install_copy, policykit, 0, 0, 0644, -, $$i); done

	# binaries
	for i in \
		/usr/bin/polkit-action \
		/usr/bin/polkit-auth \
		/usr/bin/polkit-config-file-validate \
		/usr/bin/polkit-policy-file-validate \
		/usr/libexec/polkitd \
	; \
	do $(call install_copy, policykit, 0, 0, 0755, -, $$i); done

	# binaries with suid
	@$(call install_copy, policykit, 0, 0, 4755, -, /usr/libexec/polkit-resolve-exe-helper)

	@$(call install_finish, policykit)

	@$(call touch)

# vim: syntax=make