Author: jajcus                       Date: Fri May  7 08:47:29 2010 GMT
Module: packages                      Tag: upstart_native
---- Log message:
- proof-of-concept upstart event-based startup

---- Files affected:
packages/openssh:
   openssh.spec (1.335 -> 1.335.2.1) , opensshd.init (1.35 -> 1.35.2.1) , 
opensshd.upstart (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/openssh/openssh.spec
diff -u packages/openssh/openssh.spec:1.335 
packages/openssh/openssh.spec:1.335.2.1
--- packages/openssh/openssh.spec:1.335 Fri Apr 16 14:56:33 2010
+++ packages/openssh/openssh.spec       Fri May  7 10:47:23 2010
@@ -32,7 +32,7 @@
 Summary(uk.UTF-8):     OpenSSH - вільна реалізація протоколу Secure Shell (SSH)
 Name:          openssh
 Version:       5.5p1
-Release:       2
+Release:       2.1
 Epoch:         2
 License:       BSD
 Group:         Applications/Networking
@@ -46,6 +46,7 @@
 Source5:       ssh-agent.sh
 Source6:       ssh-agent.conf
 Source7:       %{name}-lpk.schema
+Source8:       %{name}d.upstart
 Patch100:      %{name}-heimdal.patch
 Patch0:                %{name}-no_libnsl.patch
 Patch2:                %{name}-pam_misc.patch
@@ -96,6 +97,24 @@
 %define                _privsepdir     /usr/share/empty
 %define                schemadir       /usr/share/openldap/schema
 
+## to be moved to rpm-build-macros
+## TODO: handle RPM_SKIP_AUTO_RESTART
+
+# migrate from init script to upstart job
+%define        upstart_post() \
+       if [ -f /var/lock/subsys/"%1" ] ; then \
+               /sbin/service --no-upstart "%1" stop \
+               /sbin/service "%1" start \
+       fi
+
+# restart the job after upgrade or migrate to init script on removal
+%define        upstart_postun() \
+       if [ -x /sbin/initctl ] && /sbin/initctl status "%1" 2>/dev/null | grep 
-q 'running' ; then \
+               /sbin/initctl stop "%1" 2>/dev/null \
+               [ -f "/etc/rc.d/init.d/%1" -o -f "/etc/init/%1.conf" ] && 
/sbin/service "%1" start \
+       fi
+
+
 %description
 Ssh (Secure Shell) a program for logging into a remote machine and for
 executing commands in a remote machine. It is intended to replace
@@ -400,6 +419,20 @@
 частина протоколу Secure Shell, яка дозволяє клієнтам ssh зв'язуватись
 з вашим хостом.
 
+%package server-upstart
+Summary:       Upstart job description for OpenSSH server
+Summary(pl.UTF-8):     Opis zadania Upstart dla serwera OpenSSH
+Group:         Daemons
+Requires:      %{name}-server = %{epoch}:%{version}-%{release}
+Requires:      upstart
+Requires:      rc-scripts > 0.4.2.8
+
+%description server-upstart
+Upstart job description for OpenSSH.
+
+%description server-upstart -l pl.UTF-8
+Opis zadania Upstart dla OpenSSH.
+
 %package gnome-askpass
 Summary:       OpenSSH GNOME passphrase dialog
 Summary(de.UTF-8):     OpenSSH GNOME Passwort-Dialog
@@ -538,7 +571,7 @@
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d 
$RPM_BUILD_ROOT{%{_sysconfdir},/etc/{pam.d,rc.d/init.d,sysconfig,security,env.d}}
 \
+install -d 
$RPM_BUILD_ROOT{%{_sysconfdir},/etc/{init,pam.d,rc.d/init.d,sysconfig,security,env.d}}
 \
        $RPM_BUILD_ROOT{%{_libexecdir}/ssh,%{schemadir}}
 install -d $RPM_BUILD_ROOT/etc/{profile.d,X11/xinit/xinitrc.d}
 
@@ -555,6 +588,8 @@
 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}
 install %{SOURCE7} $RPM_BUILD_ROOT%{schemadir}
 
+install %{SOURCE8} $RPM_BUILD_ROOT/etc/init/sshd.conf
+
 %if %{with gnome}
 install contrib/gnome-ssh-askpass1 
$RPM_BUILD_ROOT%{_libexecdir}/ssh/ssh-askpass
 %endif
@@ -623,6 +658,12 @@
        %userremove sshd
 fi
 
+%post server-upstart
+%upstart_post sshd
+
+%postun server-upstart
+%upstart_postun sshd
+
 %post -n openldap-schema-openssh-lpk
 %openldap_schema_register %{schemadir}/openssh-lpk.schema
 %service -q ldap restart
@@ -714,12 +755,19 @@
 %{schemadir}/openssh-lpk.schema
 %endif
 
+%files server-upstart
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/init/sshd.conf
+
 %define date   %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
 * %{date} PLD Team <[email protected]>
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.335.2.1  2010/05/07 08:47:23  jajcus
+- proof-of-concept upstart event-based startup
+
 Revision 1.335  2010/04/16 12:56:33  glen
 - release 2
 

================================================================
Index: packages/openssh/opensshd.init
diff -u packages/openssh/opensshd.init:1.35 
packages/openssh/opensshd.init:1.35.2.1
--- packages/openssh/opensshd.init:1.35 Wed Mar 24 16:27:15 2010
+++ packages/openssh/opensshd.init      Fri May  7 10:47:23 2010
@@ -107,6 +107,9 @@
        fi
 }
 
+# init is handled by this script
+upstart_controlled start stop restart status reload force-reload try-restart
+
 RETVAL=0
 # See how we were called.
 case "$1" in

================================================================
Index: packages/openssh/opensshd.upstart
diff -u /dev/null packages/openssh/opensshd.upstart:1.1
--- /dev/null   Fri May  7 10:47:29 2010
+++ packages/openssh/opensshd.upstart   Fri May  7 10:47:23 2010
@@ -0,0 +1,25 @@
+
+start on pld.network-started and started SERVICE=syslog
+stop on pld.shutdown-started
+
+respawn
+
+console output
+
+script
+       . /etc/rc.d/init.d/functions
+       . /etc/sysconfig/network
+
+       if [ ! -s /etc/ssh/ssh_host_key ] ; then
+               /etc/rc.d/init.d/sshd init
+       fi
+
+       if is_yes "$IPV4_NETWORKING" && is_no "$IPV6_NETWORKING"; then
+               OPTIONS="$OPTIONS -4"
+       fi
+       if is_yes "$IPV6_NETWORKING" && is_no "$IPV4_NETWORKING"; then
+               OPTIONS="$OPTIONS -6"
+       fi
+
+       exec /usr/sbin/sshd -D $OPTIONS
+end script
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/openssh/openssh.spec?r1=1.335&r2=1.335.2.1&f=u
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/openssh/opensshd.init?r1=1.35&r2=1.35.2.1&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to