This commit was manufactured by cvs2svn to create branch
[pl_sshd.git] / pl_sshd.spec
1 %define name pl_sshd
2 %define version 1.0
3 %define release 10%{?pldistro:.%{pldistro}}%{?date:.%{date}}
4
5 Vendor: PlanetLab
6 Packager: PlanetLab Central <support@planet-lab.org>
7 Distribution: PlanetLab 3.0
8 URL: http://cvs.planet-lab.org/cvs/pl_sshd
9
10 Summary: SSH server config for PlanetLab
11 Name: %{name}
12 Version: %{version}
13 Release: %{release}
14 Requires: autofs, openssh-server
15 License: GPL
16 Group: System Environment/Base
17 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
18
19 Source0: %{name}-%{version}.tar.bz2
20
21 %description 
22 SSH server configuration for PlanetLab nodes. Configures an automounted
23 directory as source for authorized_keys files and points sshd to that
24 directory.
25
26 %prep
27 %setup
28
29 %build
30
31
32 %install
33 mkdir -p $RPM_BUILD_ROOT/var/pl_sshd/keys
34 install -D -m 0755 pl_sshd.sh $RPM_BUILD_ROOT/usr/local/sbin/pl_sshd
35 install -D -m 0755 pl_sshd $RPM_BUILD_ROOT/etc/init.d/pl_sshd
36
37 %clean
38 rm -rf $RPM_BUILD_ROOT
39
40 %files
41 %defattr(-,root,root)
42 %dir /var/pl_sshd/keys
43 %attr(0755,root,root) /usr/local/sbin/pl_sshd
44 %attr(0755,root,root) /etc/init.d/pl_sshd
45
46 %pre
47
48
49 %post
50 # 1 = install, 2 = upgrade/reinstall
51 if [ $1 -ge 1 ]; then
52     # link sshd pam config to pl_sshd so that we can actually login
53     pam_pl_sshd=/etc/pam.d/pl_sshd
54     [ -r $pam_pl_sshd ] || ln -s sshd $pam_pl_sshd
55
56     chkconfig --add pl_sshd
57
58     if [ "$1" -gt "1" ]; then  # upgrading
59         #
60         # remove funky config options for sshd (so that when we restart
61         # things will operate normally i.e., without automount magic)
62         #
63         rm -f /etc/sysconfig/sshd
64
65         #
66         # stop automounter, remove entry from auto.master, restart if
67         # necessary
68         #
69         [ "$PL_BOOTCD" != "1" ] && /etc/init.d/autofs stop
70         auto_master=/etc/auto.master
71         orig=$auto_master
72         backup=$auto_master.pl_sshd.post
73         mv $orig $backup
74         sed -e '\,^/var/pl_sshd/keys,d' $backup > $orig && rm $backup || \
75             mv $backup $orig
76
77         [ "$PL_BOOTCD" != "1" ] && /etc/init.d/autofs start
78     fi
79
80     if [[ "$PL_BOOTCD" != "1" ]]; then
81         #
82         # don't try to start/restart various things automatically,
83         # it's too ugly (particularly if we're upgrading while
84         # connected over ssh)
85         #
86         echo
87         echo "You need to manually restart autofs and sshd, and"
88         echo "start the pl_sshd (ssh on port 806) service."
89         echo "Make sure you know what you're doing, particularly"
90         echo "if you're making this change over an ssh connection."
91         echo
92     fi
93 fi
94
95 %preun
96 # 0 = erase, 1 = upgrade
97 if [ $1 -eq 0 ]; then
98         #
99         # stop pl_sshd, remove it from rcX.d init dirs, remove link
100         # to sshd's pam config
101         #
102         [ "$PL_BOOTCD" = "1" ] || /etc/init.d/pl_sshd stop || :
103         chkconfig --del pl_sshd
104         rm -f /etc/pam.d/pl_sshd
105 fi
106
107
108 %postun
109
110
111 %changelog
112 * Wed Nov  2 2005 Steve Muir <smuir@cs.princeton.edu>
113 - don't fanny around using the automounter to access ssh keys in vservers,
114   pl_conf now writes them into the normal locations
115
116 * Wed Oct 12 2005 Steve Muir <smuir@cs.princeton.edu>
117 - fix pl_sshd script name and argv[0] to satisfy re-exec requirements
118
119 * Thu Apr  7 2005 Steve Muir <smuir@cs.princeton.edu>
120 - convert auto.pl_sshd to a python script (simpler and less error-prone)
121
122 * Mon Dec  1 2003 Steve Muir <smuir@cs.princeton.edu>
123 - initial creation from files in sidewinder repository
124