diff options
-rw-r--r-- | debian/changelog | 8 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | debian/openssh-server.if-up (renamed from debian/openssh-server.if-up.in) | 20 | ||||
-rw-r--r-- | debian/openssh-server.postinst (renamed from debian/openssh-server.postinst.in) | 25 | ||||
-rw-r--r-- | debian/openssh-server.postrm | 2 | ||||
-rw-r--r-- | debian/openssh-server.prerm.in | 52 | ||||
-rw-r--r-- | debian/openssh-server.ssh.init (renamed from debian/openssh-server.ssh.init.in) | 21 | ||||
-rwxr-xr-x | debian/rules | 27 | ||||
-rw-r--r-- | debian/ssh-krb5.postinst (renamed from debian/ssh-krb5.postinst.in) | 22 |
9 files changed, 29 insertions, 150 deletions
diff --git a/debian/changelog b/debian/changelog index 9db3f5648..f56fc00ea 100644 --- a/debian/changelog +++ b/debian/changelog | |||
@@ -21,6 +21,14 @@ openssh (1:6.2p2-2) UNRELEASED; urgency=low | |||
21 | openssh-server.postinst. | 21 | openssh-server.postinst. |
22 | * Replace old manual conffile handling code with dpkg-maintscript-helper, | 22 | * Replace old manual conffile handling code with dpkg-maintscript-helper, |
23 | via dh_installdeb. | 23 | via dh_installdeb. |
24 | * Switch to new unified layout for Upstart jobs as documented in | ||
25 | https://wiki.ubuntu.com/UpstartCompatibleInitScripts: the init script | ||
26 | checks for a running Upstart, and we now let dh_installinit handle most | ||
27 | of the heavy lifting in maintainer scripts. Ubuntu users should be | ||
28 | essentially unaffected except that sshd may no longer start | ||
29 | automatically in chroots if the running Upstart predates 0.9.0; but the | ||
30 | main goal is simply not to break when openssh-server is installed in a | ||
31 | chroot. | ||
24 | 32 | ||
25 | -- Colin Watson <cjwatson@debian.org> Tue, 21 May 2013 17:49:35 +0100 | 33 | -- Colin Watson <cjwatson@debian.org> Tue, 21 May 2013 17:49:35 +0100 |
26 | 34 | ||
diff --git a/debian/control b/debian/control index a9ef496f6..7c91f74e4 100644 --- a/debian/control +++ b/debian/control | |||
@@ -45,7 +45,7 @@ Package: openssh-server | |||
45 | Priority: optional | 45 | Priority: optional |
46 | Architecture: any | 46 | Architecture: any |
47 | Pre-Depends: ${misc:Pre-Depends} | 47 | Pre-Depends: ${misc:Pre-Depends} |
48 | Depends: ${shlibs:Depends}, ${misc:Depends}, debconf (>= 1.2.0) | debconf-2.0, libpam-runtime (>= 0.76-14), libpam-modules (>= 0.72-9), adduser (>= 3.9), dpkg (>= 1.9.0), openssh-client (= ${binary:Version}), lsb-base (>= 3.2-13), procps, debianutils (>= 4) | 48 | Depends: ${shlibs:Depends}, ${misc:Depends}, debconf (>= 1.2.0) | debconf-2.0, libpam-runtime (>= 0.76-14), libpam-modules (>= 0.72-9), adduser (>= 3.9), dpkg (>= 1.9.0), openssh-client (= ${binary:Version}), lsb-base (>= 4.1+Debian3), procps |
49 | Recommends: xauth, ncurses-term, ${openssh-server:Recommends} | 49 | Recommends: xauth, ncurses-term, ${openssh-server:Recommends} |
50 | Conflicts: ssh (<< 1:3.8.1p1-9), ssh-nonfree (<<2), ssh-socks, ssh2, sftp, rsh-client (<<0.16.1-1), ssh-krb5 (<< 1:4.3p2-7) | 50 | Conflicts: ssh (<< 1:3.8.1p1-9), ssh-nonfree (<<2), ssh-socks, ssh2, sftp, rsh-client (<<0.16.1-1), ssh-krb5 (<< 1:4.3p2-7) |
51 | Replaces: ssh, openssh-client (<< 1:3.8.1p1-11), ssh-krb5 | 51 | Replaces: ssh, openssh-client (<< 1:3.8.1p1-11), ssh-krb5 |
diff --git a/debian/openssh-server.if-up.in b/debian/openssh-server.if-up index 871493068..de92866e6 100644 --- a/debian/openssh-server.if-up.in +++ b/debian/openssh-server.if-up | |||
@@ -30,22 +30,8 @@ if [ ! -f /var/run/sshd.pid ] || \ | |||
30 | exit 0 | 30 | exit 0 |
31 | fi | 31 | fi |
32 | 32 | ||
33 | case '@DISTRIBUTOR@' in | 33 | # We'd like to use 'reload' here, but it has some problems; see |
34 | Ubuntu) | 34 | # #502444. |
35 | # Both init script and Upstart job are present; we want to operate | 35 | invoke-rc.d ssh restart >/dev/null 2>&1 || true |
36 | # on the Upstart job. | ||
37 | stop ssh || true | ||
38 | start ssh || true | ||
39 | ;; | ||
40 | *) | ||
41 | # We'd like to use 'reload' here, but it has some problems; see | ||
42 | # #502444. | ||
43 | if [ -x /usr/sbin/invoke-rc.d ]; then | ||
44 | invoke-rc.d ssh restart >/dev/null 2>&1 || true | ||
45 | else | ||
46 | /etc/init.d/ssh restart >/dev/null 2>&1 || true | ||
47 | fi | ||
48 | ;; | ||
49 | esac | ||
50 | 36 | ||
51 | exit 0 | 37 | exit 0 |
diff --git a/debian/openssh-server.postinst.in b/debian/openssh-server.postinst index ce1165ac9..94461083e 100644 --- a/debian/openssh-server.postinst.in +++ b/debian/openssh-server.postinst | |||
@@ -296,30 +296,6 @@ remove_old_init_links() { | |||
296 | rm -f /etc/rc0.d/K??ssh /etc/rc1.d/K??ssh /etc/rc6.d/K??ssh | 296 | rm -f /etc/rc0.d/K??ssh /etc/rc1.d/K??ssh /etc/rc6.d/K??ssh |
297 | } | 297 | } |
298 | 298 | ||
299 | setup_init() { | ||
300 | case '@DISTRIBUTOR@' in | ||
301 | Ubuntu) | ||
302 | # Both init script and Upstart job are present; we want to | ||
303 | # operate on the Upstart job. | ||
304 | if [ -e /etc/init/ssh.conf ]; then | ||
305 | stop ssh 2>/dev/null || true | ||
306 | start ssh || true | ||
307 | fi | ||
308 | update-rc.d -f ssh remove >/dev/null || true | ||
309 | ;; | ||
310 | *) | ||
311 | if [ -x /etc/init.d/ssh ]; then | ||
312 | update-rc.d ssh start 16 2 3 4 5 . >/dev/null | ||
313 | if [ -x /usr/sbin/invoke-rc.d ]; then | ||
314 | invoke-rc.d ssh restart | ||
315 | else | ||
316 | /etc/init.d/ssh restart | ||
317 | fi | ||
318 | fi | ||
319 | ;; | ||
320 | esac | ||
321 | } | ||
322 | |||
323 | if [ "$action" = configure ]; then | 299 | if [ "$action" = configure ]; then |
324 | create_sshdconfig | 300 | create_sshdconfig |
325 | create_keys | 301 | create_keys |
@@ -329,7 +305,6 @@ if [ "$action" = configure ]; then | |||
329 | if dpkg --compare-versions "$2" lt 1:5.2p1-1; then | 305 | if dpkg --compare-versions "$2" lt 1:5.2p1-1; then |
330 | remove_old_init_links | 306 | remove_old_init_links |
331 | fi | 307 | fi |
332 | setup_init | ||
333 | # Renamed to /etc/ssh/moduli in 2.9.9 (!) | 308 | # Renamed to /etc/ssh/moduli in 2.9.9 (!) |
334 | if dpkg --compare-versions "$2" lt 1:4.7p1-1; then | 309 | if dpkg --compare-versions "$2" lt 1:4.7p1-1; then |
335 | rm -f /etc/ssh/primes | 310 | rm -f /etc/ssh/primes |
diff --git a/debian/openssh-server.postrm b/debian/openssh-server.postrm index 9bb9f1839..fdf0802c9 100644 --- a/debian/openssh-server.postrm +++ b/debian/openssh-server.postrm | |||
@@ -16,8 +16,6 @@ case $1 in | |||
16 | rm -f /etc/ssh/sshd_not_to_be_run | 16 | rm -f /etc/ssh/sshd_not_to_be_run |
17 | rmdir --ignore-fail-on-non-empty /etc/ssh | 17 | rmdir --ignore-fail-on-non-empty /etc/ssh |
18 | 18 | ||
19 | update-rc.d ssh remove >/dev/null | ||
20 | |||
21 | if which deluser >/dev/null 2>&1; then | 19 | if which deluser >/dev/null 2>&1; then |
22 | deluser --quiet sshd > /dev/null || true | 20 | deluser --quiet sshd > /dev/null || true |
23 | fi | 21 | fi |
diff --git a/debian/openssh-server.prerm.in b/debian/openssh-server.prerm.in deleted file mode 100644 index a20e67614..000000000 --- a/debian/openssh-server.prerm.in +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | #! /bin/sh | ||
2 | # prerm script for ssh | ||
3 | # | ||
4 | # see: dh_installdeb(1) | ||
5 | |||
6 | set -e | ||
7 | |||
8 | # summary of how this script can be called: | ||
9 | # * <prerm> `remove' | ||
10 | # * <old-prerm> `upgrade' <new-version> | ||
11 | # * <new-prerm> `failed-upgrade' <old-version> | ||
12 | # * <conflictor's-prerm> `remove' `in-favour' <package> <new-version> | ||
13 | # * <deconfigured's-prerm> `deconfigure' `in-favour' | ||
14 | # <package-being-installed> <version> `removing' | ||
15 | # <conflicting-package> <version> | ||
16 | # for details, see /usr/share/doc/packaging-manual/ | ||
17 | |||
18 | case "$1" in | ||
19 | remove|deconfigure) | ||
20 | case '@DISTRIBUTOR@' in | ||
21 | Ubuntu) | ||
22 | # Both init script and Upstart job are present; we want to | ||
23 | # operate on the Upstart job. | ||
24 | if [ -e /etc/init/ssh.conf ]; then | ||
25 | stop ssh || true | ||
26 | fi | ||
27 | ;; | ||
28 | *) | ||
29 | if [ -x /etc/init.d/ssh ]; then | ||
30 | if [ -x /usr/sbin/invoke-rc.d ]; then | ||
31 | invoke-rc.d ssh stop | ||
32 | else | ||
33 | /etc/init.d/ssh stop | ||
34 | fi | ||
35 | fi | ||
36 | ;; | ||
37 | esac | ||
38 | ;; | ||
39 | upgrade|failed-upgrade) | ||
40 | ;; | ||
41 | *) | ||
42 | echo "prerm called with unknown argument \`$1'" >&2 | ||
43 | exit 0 | ||
44 | ;; | ||
45 | esac | ||
46 | |||
47 | # dh_installdeb will replace this with shell code automatically | ||
48 | # generated by other debhelper scripts. | ||
49 | |||
50 | #DEBHELPER# | ||
51 | |||
52 | exit 0 | ||
diff --git a/debian/openssh-server.ssh.init.in b/debian/openssh-server.ssh.init index e24cb1bed..bda7a92b8 100644 --- a/debian/openssh-server.ssh.init.in +++ b/debian/openssh-server.ssh.init | |||
@@ -16,15 +16,6 @@ set -e | |||
16 | test -x /usr/sbin/sshd || exit 0 | 16 | test -x /usr/sbin/sshd || exit 0 |
17 | ( /usr/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0 | 17 | ( /usr/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0 |
18 | 18 | ||
19 | case '@DISTRIBUTOR@' in | ||
20 | Ubuntu) | ||
21 | # The init.d script is only for chroots. | ||
22 | if [ -e /etc/init/ssh.conf ] && ! ischroot; then | ||
23 | exec /lib/init/upstart-job ssh "$@" | ||
24 | fi | ||
25 | ;; | ||
26 | esac | ||
27 | |||
28 | umask 022 | 19 | umask 022 |
29 | 20 | ||
30 | if test -f /etc/default/ssh; then | 21 | if test -f /etc/default/ssh; then |
@@ -42,6 +33,12 @@ run_by_init() { | |||
42 | ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ] | 33 | ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ] |
43 | } | 34 | } |
44 | 35 | ||
36 | check_for_upstart() { | ||
37 | if init_is_upstart; then | ||
38 | exit $1 | ||
39 | fi | ||
40 | } | ||
41 | |||
45 | check_for_no_start() { | 42 | check_for_no_start() { |
46 | # forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists | 43 | # forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists |
47 | if [ -e /etc/ssh/sshd_not_to_be_run ]; then | 44 | if [ -e /etc/ssh/sshd_not_to_be_run ]; then |
@@ -85,6 +82,7 @@ export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | |||
85 | 82 | ||
86 | case "$1" in | 83 | case "$1" in |
87 | start) | 84 | start) |
85 | check_for_upstart 1 | ||
88 | check_privsep_dir | 86 | check_privsep_dir |
89 | check_for_no_start | 87 | check_for_no_start |
90 | check_dev_null | 88 | check_dev_null |
@@ -96,6 +94,7 @@ case "$1" in | |||
96 | fi | 94 | fi |
97 | ;; | 95 | ;; |
98 | stop) | 96 | stop) |
97 | check_for_upstart 0 | ||
99 | log_daemon_msg "Stopping OpenBSD Secure Shell server" "sshd" || true | 98 | log_daemon_msg "Stopping OpenBSD Secure Shell server" "sshd" || true |
100 | if start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid; then | 99 | if start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid; then |
101 | log_end_msg 0 || true | 100 | log_end_msg 0 || true |
@@ -105,6 +104,7 @@ case "$1" in | |||
105 | ;; | 104 | ;; |
106 | 105 | ||
107 | reload|force-reload) | 106 | reload|force-reload) |
107 | check_for_upstart 1 | ||
108 | check_for_no_start | 108 | check_for_no_start |
109 | check_config | 109 | check_config |
110 | log_daemon_msg "Reloading OpenBSD Secure Shell server's configuration" "sshd" || true | 110 | log_daemon_msg "Reloading OpenBSD Secure Shell server's configuration" "sshd" || true |
@@ -116,6 +116,7 @@ case "$1" in | |||
116 | ;; | 116 | ;; |
117 | 117 | ||
118 | restart) | 118 | restart) |
119 | check_for_upstart 1 | ||
119 | check_privsep_dir | 120 | check_privsep_dir |
120 | check_config | 121 | check_config |
121 | log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true | 122 | log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true |
@@ -130,6 +131,7 @@ case "$1" in | |||
130 | ;; | 131 | ;; |
131 | 132 | ||
132 | try-restart) | 133 | try-restart) |
134 | check_for_upstart 1 | ||
133 | check_privsep_dir | 135 | check_privsep_dir |
134 | check_config | 136 | check_config |
135 | log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true | 137 | log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true |
@@ -160,6 +162,7 @@ case "$1" in | |||
160 | ;; | 162 | ;; |
161 | 163 | ||
162 | status) | 164 | status) |
165 | check_for_upstart 1 | ||
163 | status_of_proc -p /var/run/sshd.pid /usr/sbin/sshd sshd && exit 0 || exit $? | 166 | status_of_proc -p /var/run/sshd.pid /usr/sbin/sshd sshd && exit 0 || exit $? |
164 | ;; | 167 | ;; |
165 | 168 | ||
diff --git a/debian/rules b/debian/rules index c78653be0..32cda5bc3 100755 --- a/debian/rules +++ b/debian/rules | |||
@@ -115,16 +115,6 @@ confflags_udeb += --with-ldflags='-Wl,--as-needed' | |||
115 | %: | 115 | %: |
116 | dh $@ --with=autoreconf | 116 | dh $@ --with=autoreconf |
117 | 117 | ||
118 | DISTRIBUTOR_REPLACE := \ | ||
119 | debian/openssh-server.if-up \ | ||
120 | debian/openssh-server.ssh.init \ | ||
121 | debian/openssh-server.postinst \ | ||
122 | debian/openssh-server.prerm \ | ||
123 | debian/ssh-krb5.postinst | ||
124 | |||
125 | debian/%: debian/%.in | ||
126 | sed 's/@DISTRIBUTOR@/$(DISTRIBUTOR)/g' $< >$@ | ||
127 | |||
128 | override_dh_auto_configure: | 118 | override_dh_auto_configure: |
129 | dh_auto_configure -Bbuild-deb -- $(confflags) | 119 | dh_auto_configure -Bbuild-deb -- $(confflags) |
130 | dh_auto_configure -Bbuild-udeb -- $(confflags_udeb) | 120 | dh_auto_configure -Bbuild-udeb -- $(confflags_udeb) |
@@ -157,14 +147,10 @@ endif | |||
157 | (cat debian/copyright.head; iconv -f ISO-8859-1 -t UTF-8 LICENCE) \ | 147 | (cat debian/copyright.head; iconv -f ISO-8859-1 -t UTF-8 LICENCE) \ |
158 | > debian/copyright | 148 | > debian/copyright |
159 | 149 | ||
160 | override_dh_clean: | ||
161 | dh_clean | ||
162 | rm -f $(DISTRIBUTOR_REPLACE) | ||
163 | |||
164 | override_dh_auto_install: | 150 | override_dh_auto_install: |
165 | $(MAKE) -C build-deb DESTDIR=`pwd`/debian/tmp install-nokeys | 151 | $(MAKE) -C build-deb DESTDIR=`pwd`/debian/tmp install-nokeys |
166 | 152 | ||
167 | override_dh_install: $(DISTRIBUTOR_REPLACE) | 153 | override_dh_install: |
168 | rm -f debian/tmp/etc/ssh/sshd_config | 154 | rm -f debian/tmp/etc/ssh/sshd_config |
169 | 155 | ||
170 | dh_install -Nopenssh-client-udeb -Nopenssh-server-udeb --fail-missing | 156 | dh_install -Nopenssh-client-udeb -Nopenssh-server-udeb --fail-missing |
@@ -197,13 +183,7 @@ override_dh_installdocs: | |||
197 | mkdir -p debian/openssh-server/usr/share/doc/openssh-client | 183 | mkdir -p debian/openssh-server/usr/share/doc/openssh-client |
198 | 184 | ||
199 | override_dh_installinit: | 185 | override_dh_installinit: |
200 | dh_installinit -n --name ssh | 186 | dh_installinit -R --name ssh -- start 16 2 3 4 5 . |
201 | ifeq ($(DISTRIBUTOR),Ubuntu) | ||
202 | # We need to keep the init script as well as the Upstart job for | ||
203 | # now, for the benefit of people running sshd in chroots. | ||
204 | install -D -o root -g root debian/openssh-server.ssh.init debian/openssh-server/etc/init.d/ssh | ||
205 | install -D -o root -g root -m 644 debian/openssh-server.ssh.default debian/openssh-server/etc/default/ssh | ||
206 | endif | ||
207 | 187 | ||
208 | override_dh_installpam: | 188 | override_dh_installpam: |
209 | dh_installpam --name sshd | 189 | dh_installpam --name sshd |
@@ -217,9 +197,6 @@ override_dh_shlibdeps: | |||
217 | dh_shlibdeps | 197 | dh_shlibdeps |
218 | debian/adjust-openssl-dependencies | 198 | debian/adjust-openssl-dependencies |
219 | 199 | ||
220 | override_dh_installdeb: $(DISTRIBUTOR_REPLACE) | ||
221 | dh_installdeb | ||
222 | |||
223 | override_dh_gencontrol: | 200 | override_dh_gencontrol: |
224 | dh_gencontrol -- -V'openssh-server:Recommends=$(server_recommends)' | 201 | dh_gencontrol -- -V'openssh-server:Recommends=$(server_recommends)' |
225 | 202 | ||
diff --git a/debian/ssh-krb5.postinst.in b/debian/ssh-krb5.postinst index 9ed03f343..f799accfe 100644 --- a/debian/ssh-krb5.postinst.in +++ b/debian/ssh-krb5.postinst | |||
@@ -50,25 +50,9 @@ GSSAPIKeyExchange yes | |||
50 | EOF | 50 | EOF |
51 | fi | 51 | fi |
52 | fi | 52 | fi |
53 | case '@DISTRIBUTOR@' in | 53 | if [ -n "$changed" ]; then |
54 | Ubuntu) | 54 | invoke-rc.d ssh restart |
55 | # Both init script and Upstart job are present; we want to | 55 | fi |
56 | # operate on the Upstart job. | ||
57 | if [ -n "$changed" ] && [ -e /etc/init/ssh.conf ] ; then | ||
58 | stop ssh || true | ||
59 | start ssh || true | ||
60 | fi | ||
61 | ;; | ||
62 | *) | ||
63 | if [ -n "$changed" ] && [ -x /etc/init.d/ssh ] ; then | ||
64 | if [ -x /usr/sbin/invoke-rc.d ] ; then | ||
65 | invoke-rc.d ssh restart | ||
66 | else | ||
67 | /etc/init.d/ssh restart | ||
68 | fi | ||
69 | fi | ||
70 | ;; | ||
71 | esac | ||
72 | fi | 56 | fi |
73 | fi | 57 | fi |
74 | 58 | ||