1 | #!/usr/bin/make -f |
---|
2 | |
---|
3 | pam_types = account auth session password |
---|
4 | pam_krb5_auth_opts = use_authtok |
---|
5 | pam_krb5_passwd_opts = use_authtok |
---|
6 | |
---|
7 | DEB_DIVERT_EXTENSION = .debathena |
---|
8 | |
---|
9 | pam_auth_update = $(shell hash pam-auth-update 2>/dev/null && echo yes) |
---|
10 | |
---|
11 | KRB5_VERSION = $(shell dpkg-query -W -f '$${Version}' krb5-clients) |
---|
12 | HAVE_KRB4 = $(shell dpkg --compare-versions $(KRB5_VERSION) '<<' '1.7~' && echo y) |
---|
13 | |
---|
14 | ifeq ($(pam_auth_update),) |
---|
15 | DEB_TRANSFORM_FILES_debathena-pam-config += \ |
---|
16 | $(patsubst %,/etc/pam.d/common-%.debathena,$(pam_types)) |
---|
17 | |
---|
18 | ifneq ($(wildcard /usr/share/pam/common-auth),) |
---|
19 | DEB_CHECK_FILES_SOURCE_/etc/pam.d/common-auth.debathena = /usr/share/pam/common-auth |
---|
20 | DEB_CHECK_FILES_SOURCE_/etc/pam.d/common-session.debathena = /usr/share/pam/common-session |
---|
21 | DEB_CHECK_FILES_SOURCE_/etc/pam.d/common-account.debathena = /usr/share/pam/common-account |
---|
22 | DEB_CHECK_FILES_SOURCE_/etc/pam.d/common-password.debathena = /usr/share/pam/common-password |
---|
23 | endif |
---|
24 | endif |
---|
25 | |
---|
26 | ifneq ($(wildcard /etc/pam.d/sshd),) |
---|
27 | PAM_SSHD = /etc/pam.d/sshd.debathena |
---|
28 | DEB_TRANSFORM_SCRIPT_$(PAM_SSHD) = debian/transform_ssh.debathena |
---|
29 | else |
---|
30 | PAM_SSHD = /etc/pam.d/ssh.debathena |
---|
31 | endif |
---|
32 | |
---|
33 | DEB_TRANSFORM_FILES_debathena-pam-config += \ |
---|
34 | /etc/pam.d/gdm.debathena \ |
---|
35 | $(PAM_SSHD) \ |
---|
36 | /etc/pam.d/login.debathena |
---|
37 | |
---|
38 | DEB_DIVERT_FILES_debathena-pam-config += \ |
---|
39 | /etc/security/access.conf.debathena |
---|
40 | |
---|
41 | DEB_REMOVE_FILES_debathena-pam-config += \ |
---|
42 | /usr/share/pam-configs/krb5 \ |
---|
43 | /usr/share/pam-configs/afs-session |
---|
44 | |
---|
45 | include /usr/share/cdbs/1/rules/debhelper.mk |
---|
46 | include /usr/share/cdbs/1/rules/config-package.mk |
---|
47 | |
---|
48 | DEB_INSTALL_DOCS_debathena-pam-config = debian/README.pam-afs-session |
---|
49 | |
---|
50 | ifneq ($(pam_auth_update),) |
---|
51 | install/debathena-pam-config:: |
---|
52 | install -D -m 644 debian/athena-session-tmpdir-mktemp.pam-config \ |
---|
53 | $(DEB_DESTDIR)/usr/share/pam-configs/athena-session-tmpdir-mktemp |
---|
54 | install -D -m 644 debian/libpam-krb5.pam-config \ |
---|
55 | $(DEB_DESTDIR)/usr/share/pam-configs/krb5.debathena |
---|
56 | install -D -m 644 debian/libpam-afs-session.pam-config \ |
---|
57 | $(DEB_DESTDIR)/usr/share/pam-configs/afs-session.debathena |
---|
58 | debathena-pam-config-substvars: |
---|
59 | ( \ |
---|
60 | echo -n "debathena-pam-config-depends="; \ |
---|
61 | echo -n "libpam-runtime (>= 1.0.1-4ubuntu1),"; \ |
---|
62 | echo -n "libpam-krb5,"; \ |
---|
63 | if [ "$(HAVE_KRB4)" = "y" ]; then \ |
---|
64 | echo -n "libpam-krb524 (>= 1.3-0debathena3~),"; \ |
---|
65 | fi; \ |
---|
66 | echo -n "libpam-afs-session,"; \ |
---|
67 | echo -n "libpam-debathena-home-type (>= 1.1-0debathena2~),"; \ |
---|
68 | echo \ |
---|
69 | ) >>debian/debathena-pam-config.substvars |
---|
70 | else |
---|
71 | debathena-pam-config-substvars: |
---|
72 | ( \ |
---|
73 | echo -n "debathena-pam-config-depends="; \ |
---|
74 | echo -n "libpam-krb5,"; \ |
---|
75 | if [ "$(HAVE_KRB4)" = "y" ]; then \ |
---|
76 | echo -n "libpam-krb524,"; \ |
---|
77 | fi; \ |
---|
78 | echo -n "libpam-afs-session,"; \ |
---|
79 | echo -n "libpam-debathena-home-type,"; \ |
---|
80 | echo \ |
---|
81 | ) >>debian/debathena-pam-config.substvars |
---|
82 | endif |
---|
83 | |
---|
84 | binary-predeb/debathena-pam-config:: debathena-pam-config-substvars |
---|
85 | |
---|
86 | ifneq ($(wildcard /etc/pam.d/sshd),) |
---|
87 | debian-divert/debathena-pam-config:: |
---|
88 | (echo "if [ \"\$$1\" = configure ] && dpkg-divert --list /etc/pam.d/ssh | grep -xFq 'diversion of /etc/pam.d/ssh to /etc/pam.d/ssh.debathena-orig by $(cdbs_curpkg)'; then"; \ |
---|
89 | echo " undivert_unlink /etc/pam.d/ssh"; \ |
---|
90 | echo "fi") >> $(CURDIR)/debian/$(cdbs_curpkg).postinst.debhelper |
---|
91 | endif |
---|
92 | |
---|
93 | common-build-indep:: debian/access.conf.debathena |
---|
94 | |
---|
95 | LSB_ID = $(shell lsb_release --short --id) |
---|
96 | debian/access.conf.debathena: $(call debian_check_files,/etc/security/access.conf) |
---|
97 | ifeq ($(LSB_ID), Debian) |
---|
98 | (cat $<; sed 's/root admin /root /' debian/access.conf.append) > $@ |
---|
99 | else |
---|
100 | ifeq ($(LSB_ID), Ubuntu) |
---|
101 | cat $< debian/access.conf.append > $@ |
---|
102 | else |
---|
103 | $(error Unrecognized distribution ID $(LSB_ID).) |
---|
104 | endif |
---|
105 | endif |
---|
106 | |
---|
107 | clean:: |
---|
108 | rm -f debian/access.conf.debathena |
---|