]> andersk Git - openssh.git/blobdiff - contrib/caldera/openssh.spec
Fix spec file version numbers
[openssh.git] / contrib / caldera / openssh.spec
index 3191c6744352ffaf14dcd859d0b5fe3f74e4c0db..b11e54922fcf677ded30a156c6a914f41b9f6735 100644 (file)
-# Version of OpenSSH
-%define oversion 2.3.0p2
-
-# Version of ssh-askpass
-%define aversion 1.1.1
-
-# Do we want to disable building of x11-askpass? (1=yes 0=no)
-%define no_x11_askpass 0
-
-# Do we want to disable building of gnome-askpass? (1=yes 0=no)
-%define no_gnome_askpass 1
-
-# Do we want to include contributed programs? (1=yes 0=no)
-%define contrib_programs 1
-
-Summary: OpenSSH free Secure Shell (SSH) implementation
-Name: openssh
-Version: %{oversion}
-Release: 1
-Packager: Damien Miller <djm@mindrot.org>
-URL: http://www.openssh.com/
-Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{oversion}.tar.gz
-Source1: http://www.ntrnet.net/~jmknoble/software/x11-ssh-askpass/x11-ssh-askpass-%{aversion}.tar.gz 
-Copyright: BSD
-Group: Applications/Internet
-BuildRoot: /var/tmp/openssh-%{Version}-buildroot
-#BuildRoot: /tmp/openssh-%{Version}-buildroot
-Obsoletes: ssh
-PreReq: openssl >= 0.9.5a
-Requires: openssl >= 0.9.5a
-BuildPreReq: perl, openssl-devel, tcp_wrappers
-BuildPreReq: /bin/login, /usr/bin/rsh, /usr/include/security/pam_appl.h
-%if ! %{no_gnome_askpass}
-BuildPreReq: gnome-libs-devel
+%define use-stable     1
+%if %{use-stable}
+  %define version      3.0.2p1
+  %define cvs          %{nil}
+  %define release      1
+%else
+  %define version      3.0p1
+  %define cvs          cvs20011102
+  %define release      0r1
 %endif
+%define xsa            x11-ssh-askpass         
+%define askpass                %{xsa}-1.2.4.1
 
-%package clients
-Summary: OpenSSH Secure Shell protocol clients
-Requires: openssh = %{Version}-%{release}
-Group: Applications/Internet
-Obsoletes: ssh-clients
-
-%package server
-Summary: OpenSSH Secure Shell protocol server (sshd)
-Group: System Environment/Daemons
-Obsoletes: ssh-server
-#PreReq: openssh chkconfig >= 0.9
-
-%package askpass
-Summary: OpenSSH X11 passphrase dialog
-Group: Applications/Internet
-Requires: openssh = %{Version}-%{release}
-Obsoletes: ssh-extras
-
-%package askpass-gnome
-Summary: OpenSSH GNOME passphrase dialog
-Group: Applications/Internet
-Requires: openssh = %{Version}-%{release}
-Obsoletes: ssh-extras
-
-%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
-rlogin and rsh, and provide secure encrypted communications between
-two untrusted hosts over an insecure network.  X11 connections and
-arbitrary TCP/IP ports can also be forwarded over the secure channel.
-
-OpenSSH is OpenBSD's rework of the last free version of SSH, bringing it
-up to date in terms of security and features, as well as removing all 
-patented algorithms to separate libraries (OpenSSL).
-
-This package includes the core files necessary for both the OpenSSH
-client and server.  To make this package useful, you should also
-install openssh-clients, openssh-server, or both.
-
-%description clients
-Ssh (Secure Shell) a program for logging into a remote machine and for
-executing commands in a remote machine.  It is intended to replace
-rlogin and rsh, and provide secure encrypted communications between
-two untrusted hosts over an insecure network.  X11 connections and
-arbitrary TCP/IP ports can also be forwarded over the secure channel.
-
-OpenSSH is OpenBSD's rework of the last free version of SSH, bringing it
-up to date in terms of security and features, as well as removing all 
-patented algorithms to separate libraries (OpenSSL).
-
-This package includes the clients necessary to make encrypted connections
-to SSH servers.
-
-%description server
-Ssh (Secure Shell) a program for logging into a remote machine and for
-executing commands in a remote machine.  It is intended to replace
-rlogin and rsh, and provide secure encrypted communications between
-two untrusted hosts over an insecure network.  X11 connections and
-arbitrary TCP/IP ports can also be forwarded over the secure channel.
-
-OpenSSH is OpenBSD's rework of the last free version of SSH, bringing it
-up to date in terms of security and features, as well as removing all 
-patented algorithms to separate libraries (OpenSSL).
-
-This package contains the secure shell daemon. The sshd is the server 
-part of the secure shell protocol and allows ssh clients to connect to 
-your host.
-
-%description askpass
-Ssh (Secure Shell) a program for logging into a remote machine and for
-executing commands in a remote machine.  It is intended to replace
-rlogin and rsh, and provide secure encrypted communications between
-two untrusted hosts over an insecure network.  X11 connections and
-arbitrary TCP/IP ports can also be forwarded over the secure channel.
-
-OpenSSH is OpenBSD's rework of the last free version of SSH, bringing it
-up to date in terms of security and features, as well as removing all 
-patented algorithms to separate libraries (OpenSSL).
-
-This package contains Jim Knoble's <jmknoble@pobox.com> X11 passphrase 
-dialog.
-
-%description askpass-gnome
-Ssh (Secure Shell) a program for logging into a remote machine and for
-executing commands in a remote machine.  It is intended to replace
-rlogin and rsh, and provide secure encrypted communications between
-two untrusted hosts over an insecure network.  X11 connections and
-arbitrary TCP/IP ports can also be forwarded over the secure channel.
-
-OpenSSH is OpenBSD's rework of the last free version of SSH, bringing it
-up to date in terms of security and features, as well as removing all 
-patented algorithms to separate libraries (OpenSSL).
-
-This package contains the GNOME passphrase dialog.
-
-%prep
-
-%setup -a 1
-
-%build
-
-%define _sysconfdir /etc/ssh
-
-CFLAGS="$RPM_OPT_FLAGS"                                        \
-       ./configure                                     \
-               --prefix=/usr                           \
-               --sysconfdir=/etc/ssh                   \
-               --libexecdir=%{_libexecdir}/openssh     \
-               --with-tcp-wrappers                     \
-               --with-ipv4-default                     \
-               --with-rsh=/usr/bin/rsh
+Name           : openssh
+Version        : %{version}%{cvs}
+Release        : %{release}
+Group          : System/Network
 
-make
+Summary        : OpenSSH free Secure Shell (SSH) implementation.
 
-%if ! %{no_x11_askpass}
-cd x11-ssh-askpass-%{aversion}
-xmkmf -a
-make
-cd ..
-%endif
+Copyright      : BSD
+Packager       : Raymund Will <ray@caldera.de>
+URL            : http://www.openssh.com/
 
-%if ! %{no_gnome_askpass}
-cd contrib
-gcc -O -g `gnome-config --cflags gnome gnomeui` \
-        gnome-ssh-askpass.c -o gnome-ssh-askpass \
-        `gnome-config --libs gnome gnomeui`
-cd ..
-%endif
+Obsoletes      : ssh, ssh-clients, openssh-clients
 
-%install
-rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT/
-
-# setup the environment we want
-perl -pi -e "s,PermitRootLogin yes,PermitRootLogin no,;" \
-        -e "s,X11Forwarding no,X11Forwarding yes,;" \
-        -e "s,CheckMail no,CheckMail yes,;" \
-        -e "s,^#Subsystem      sftp,Subsystem  sftp,;" \
-       $RPM_BUILD_ROOT/etc/ssh/sshd_config
-
-install -d $RPM_BUILD_ROOT/etc/pam.d/
-install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
-install -d $RPM_BUILD_ROOT/etc/sysconfig/daemons
-install -d $RPM_BUILD_ROOT%{_libexecdir}/openssh
-install -d $RPM_BUILD_ROOT/usr/local/bin
-install -d $RPM_BUILD_ROOT/usr/local/man/man1
-install -m644 contrib/caldera/sshd.pam $RPM_BUILD_ROOT/etc/pam.d/sshd
-install -m755 contrib/caldera/sshd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/sshd
-install -m755 contrib/caldera/sshd.daemons $RPM_BUILD_ROOT/etc/sysconfig/daemons/sshd
-perl -pi -e "s,\@OPENSSH_VERSION\@,%{Name}-%{Version},g" \
-       $RPM_BUILD_ROOT/etc/rc.d/init.d/sshd
-perl -pi -e "s,\@OPENSSH_VERSION\@,%{Name}-%{Version},g" \
-       $RPM_BUILD_ROOT/etc/sysconfig/daemons/sshd
-%if %{contrib_programs}
-install -m755 contrib/make-ssh-known-hosts.pl $RPM_BUILD_ROOT/usr/local/bin
-install -m644 contrib/make-ssh-known-hosts.1 $RPM_BUILD_ROOT/usr/local/man/man1
-install -m755 contrib/ssh-copy-id $RPM_BUILD_ROOT/usr/local/bin
-install -m644 contrib/ssh-copy-id.1 $RPM_BUILD_ROOT/usr/local/man/man1
-%endif
+BuildRoot      : /tmp/%{Name}-%{Version}
 
-%if ! %{no_x11_askpass}
-install -s x11-ssh-askpass-%{aversion}/x11-ssh-askpass $RPM_BUILD_ROOT/usr/libexec/openssh/x11-ssh-askpass
-ln -s /usr/libexec/openssh/x11-ssh-askpass $RPM_BUILD_ROOT/usr/libexec/openssh/ssh-askpass
-install -d $RPM_BUILD_ROOT/usr/X11R6/man/man1
-install -c -m 0444 x11-ssh-askpass-%{aversion}/x11-ssh-askpass.man $RPM_BUILD_ROOT/usr/X11R6/man/man1/x11-ssh-askpass.1x
-ln -s /usr/X11R6/man/man1/x11-ssh-askpass.1x $RPM_BUILD_ROOT/usr/X11R6/man/man1/ssh-askpass.1x
+# %{use-stable}==1:    ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable
+# %{use-stable}==0:    :pserver:cvs@bass.directhit.com:/cvs/openssh_cvs
+Source0: see-above:/.../openssh-%{Version}.tar.gz
+%if %{use-stable}
+Source1: see-above:/.../openssh-%{Version}.tar.gz.sig
 %endif
+Source2: http://www.ntrnet.net/~jmknoble/software/%{xsa}/%{askpass}.tar.gz
+Source3: http://www.openssh.com/faq.html
+
+
+%Package server
+Group          : System/Network
+Requires       : openssh = %{Version}
+Obsoletes      : ssh-server
+
+Summary        : OpenSSH Secure Shell protocol server (sshd).
+
+
+%Package askpass
+Group          : System/Network
+Requires       : openssh = %{Version}
+URL            : http://www.ntrnet.net/~jmknoble/software/x11-ssh-askpass/
+Obsoletes      : ssh-extras
 
-%if ! %{no_gnome_askpass}
-install -s contrib/gnome-ssh-askpass $RPM_BUILD_ROOT/usr/libexec/openssh/gnome-ssh-askpass
+Summary        : OpenSSH X11 pass-phrase dialog.
+
+
+%Prep
+%setup %([ -z "%{cvs}" ] || echo "-n %{Name}_cvs") -a2
+
+%if ! %{use-stable}
+  autoreconf
 %endif
 
-%clean
-##rm -rf $RPM_BUILD_ROOT
 
-%post server
-if [ "$1" = 1 ]; then
-       echo "Creating SSH stop/start scripts in the rc directories..."
-#      /sbin/chkconfig --add sshd
-       lisa --SysV-init install sshd S90 2:3:4:5 K05 0:1:6
-fi
-if test -r /var/run/sshd.pid
-then
-        echo "Restarting the running SSH daemon..."
-       /etc/rc.d/init.d/sshd restart >&2
+%Build
+CFLAGS="$RPM_OPT_FLAGS" \
+./configure \
+            --prefix=/usr \
+            --sysconfdir=/etc/ssh \
+            --libexecdir=/usr/lib/ssh \
+            --with-pam \
+            --with-tcp-wrappers \
+            --with-ipv4-default \
+
+make
+
+cd %{askpass}
+./configure
+xmkmf
+make includes
+make
+
+
+%Install
+%{mkDESTDIR}
+
+make DESTDIR="$DESTDIR" install
+
+make -C %{askpass} BINDIR="/usr/lib/ssh" install
+
+# OpenLinux specific configuration
+mkdir -p $DESTDIR/{etc/pam.d,%{SVIcdir},%{SVIdir}}
+
+# enabling X11 forwarding on the server is convenient and okay,
+# on the client side we consider it a potential security risk!
+%{fixUP} -vT  $DESTDIR/etc/ssh/sshd_config -e '
+   s/X11Forwarding no/X11Forwarding yes/i'
+
+install -m644 contrib/caldera/sshd.pam $DESTDIR/etc/pam.d/sshd
+# FIXME: disabled, find out why this doesn't work with NIS
+%{fixUP} -vT $DESTDIR/etc/pam.d/sshd -e 's/^(.*pam_limits.*)$/#$1/'
+
+install -m 0755 contrib/caldera/sshd.init $DESTDIR%{SVIdir}/sshd
+%{fixUP} -vT $DESTDIR/%{SVIdir} -e 's:\@SVIdir\@:%{SVIdir}: +
+   s:\@sysconfdir\@:/etc/ssh:'
+
+cat <<-EoD > $DESTDIR%{SVIcdir}/sshd
+       IDENT=sshd
+       DESCRIPTIVE="OpenSSH secure shell daemon"
+       # This service will be marked as 'skipped' on boot if there
+       # is no host key. Use ssh-host-keygen to generate one.
+       ONBOOT="yes"
+       OPTIONS=""
+EoD
+
+SKG=$DESTDIR/usr/sbin/ssh-host-keygen
+install -m 0755 contrib/caldera/ssh-host-keygen $SKG
+%{fixUP} -T $SKG -e 's:\@sysconfdir\@:/etc/ssh: +
+   s:\@sshkeygen\@:/usr/bin/ssh-keygen:'
+
+
+# install remaining docs
+DocD="$DESTDIR%{_defaultdocdir}/%{Name}-%{Version}"; mkdir -p $DocD/00-LEGAL
+cp -a LICENCE $DocD/00-LEGAL
+cp -a CREDITS ChangeLog OVERVIEW README* TODO  $DocD
+install -p -m 0444 -o 0 -g 0 %{SOURCE3}  $DocD/faq.html
+mkdir -p $DocD/%{askpass}
+cp -a %{askpass}/{README,ChangeLog,TODO,SshAskpass*.ad}  $DocD/%{askpass}
+
+cp -p %{askpass}/%{xsa}.man $DESTDIR/usr/man/man1/%{xsa}.1
+ln -s  %{xsa}.1 $DESTDIR/usr/man/man1/ssh-askpass.1
+
+%{fixManPages}
+
+
+# generate file lists
+%{mkLists} -c %{Name}
+%{mkLists} -d %{Name} << 'EOF'
+/etc/ssh                               base
+^/etc/                                 IGNORED
+%{_defaultdocdir}/$                    IGNORED
+askpass                                        askpass
+*                                      default
+EOF
+%{mkLists} -a -f %{Name} << 'EOF'
+^/etc                                  *               prefix(%%config)
+/usr/X11R6/lib/X11/app-defaults        IGNORED
+Ssh.bin                                IGNORED         # for now
+[Aa]skpass                             askpass
+%{_defaultdocdir}/%{Name}-%{Version}/  base
+ssh-keygen                             base
+moduli                                 server
+sshd                                   server
+sftp-server                            server
+.*                                     base
+EOF
+
+
+%Clean
+%{rmDESTDIR}
+
+
+%Post
+# Generate host key when none is present to get up and running,
+# both client and server require this for host-based auth!
+# ssh-host-keygen checks for existing keys.
+/usr/sbin/ssh-host-keygen
+: # to protect the rpm database
+
+
+%Post server
+if [ -x %{LSBinit}-install ]; then
+  %{LSBinit}-install sshd
 else
-        echo "Starting the SSH daemon..."
-       /etc/rc.d/init.d/sshd start >&2
+  lisa --SysV-init install sshd S55 3:4:5 K45 0:1:2:6
 fi
 
-%preun server
-if [ "$1" = 0 ] ; then
-        echo "Stopping the SSH daemon..."
-       /etc/rc.d/init.d/sshd stop >&2
-       echo "Removing SSH stop/start scripts from the rc directories..."
-#      /sbin/chkconfig --del sshd
-       lisa --SysV-init remove  sshd $1
+! %{SVIdir}/sshd status || %{SVIdir}/sshd restart
+: # to protect the rpm database
+
+
+%PreUn server
+[ "$1" = 0 ] || exit 0
+
+! %{SVIdir}/sshd status || %{SVIdir}/sshd stop
+: # to protect the rpm database
+
+
+%PostUn server
+if [ -x %{LSBinit}-remove ]; then
+  %{LSBinit}-remove sshd
+else
+  lisa --SysV-init remove sshd $1
 fi
+: # to protect the rpm database
 
-%files
-%defattr(-,root,root)
-%doc ChangeLog OVERVIEW README* INSTALL 
-%doc CREDITS LICENCE
-%attr(0755,root,root) %{_bindir}/ssh-keygen
-%attr(0755,root,root) %{_bindir}/scp
-%attr(0755,root,root) %{_bindir}/ssh-keyscan
-%attr(0644,root,root) %{_mandir}/man1/ssh-keygen.1*
-%attr(0644,root,root) %{_mandir}/man1/ssh-keyscan.1*
-%attr(0644,root,root) %{_mandir}/man1/scp.1*
-%attr(0755,root,root) %dir %{_sysconfdir}
-%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/primes
-%attr(0755,root,root) %dir %{_libexecdir}/openssh
-
-%files clients
-%defattr(-,root,root)
-%attr(4755,root,root) %{_bindir}/ssh
-%attr(0755,root,root) %{_bindir}/ssh-agent
-%attr(0755,root,root) %{_bindir}/ssh-add
-%attr(0644,root,root) %{_mandir}/man1/ssh.1*
-%attr(0644,root,root) %{_mandir}/man1/ssh-agent.1*
-%attr(0644,root,root) %{_mandir}/man1/ssh-add.1*
-%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/ssh_config
-%attr(-,root,root) %{_bindir}/slogin
-%attr(-,root,root) %{_mandir}/man1/slogin.1*
-%if %{contrib_programs}
-%attr(0755,root,root) /usr/local/bin/make-ssh-known-hosts.pl 
-%attr(0644,root,root) /usr/local/man/man1/make-ssh-known-hosts.1 
-%attr(0755,root,root) /usr/local/bin/ssh-copy-id 
-%attr(0644,root,root) /usr/local/man/man1/ssh-copy-id.1 
-%endif
 
-%files server
+%Files -f files-%{Name}-base
 %defattr(-,root,root)
-%attr(0751,root,root) %{_sbindir}/sshd
-%attr(0755,root,root) %{_libexecdir}/openssh/sftp-server
-%attr(0644,root,root) %{_mandir}/man8/sshd.8*
-%attr(0644,root,root) %{_mandir}/man8/sftp-server.8*
-%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/sshd_config
-%attr(0600,root,root) %config(noreplace) /etc/pam.d/sshd
-%attr(0755,root,root) %config /etc/rc.d/init.d/sshd
-%attr(0755,root,root) %config /etc/sysconfig/daemons/sshd
-
-%if ! %{no_x11_askpass}
-%files askpass
+
+
+%Files server -f files-%{Name}-server
 %defattr(-,root,root)
-%doc x11-ssh-askpass-%{aversion}/README
-%doc x11-ssh-askpass-%{aversion}/ChangeLog
-%doc x11-ssh-askpass-%{aversion}/SshAskpass*.ad
-%attr(0755,root,root) %{_libexecdir}/openssh/ssh-askpass
-%attr(0755,root,root) %{_libexecdir}/openssh/x11-ssh-askpass
-%attr(0644,root,root) /usr/X11R6/man/man1/x11-ssh-askpass.1x
-%attr(-,root,root) /usr/X11R6/man/man1/ssh-askpass.1x
-%endif
 
-%if ! %{no_gnome_askpass}
-%files askpass-gnome
+
+%Files askpass -f files-%{Name}-askpass
 %defattr(-,root,root)
-%attr(0755,root,root) %{_libexecdir}/openssh/gnome-ssh-askpass
-%endif
 
-%changelog
-* Mon Oct 18 2000 Damien Miller <djm@mindrot.org>
-- Merge some of Nalin Dahyabhai <nalin@redhat.com> changes from the 
-  Redhat 7.0 spec file
-* Tue Sep 05 2000 Damien Miller <djm@mindrot.org>
-- Use RPM configure macro
-* Tue Aug 08 2000 Damien Miller <djm@mindrot.org>
-- Some surgery to sshd.init (generate keys at runtime)
-- Cleanup of groups and removal of keygen calls
-* Wed Jul 12 2000 Damien Miller <djm@mindrot.org>
-- Make building of X11-askpass and gnome-askpass optional
-* Mon Jun 12 2000 Damien Miller <djm@mindrot.org>
-- Glob manpages to catch compressed files
-* Wed Mar 15 2000 Damien Miller <djm@ibs.com.au>
-- Updated for new location
-- Updated for new gnome-ssh-askpass build
-* Sun Dec 26 1999 Damien Miller <djm@mindrot.org>
-- Added Jim Knoble's <jmknoble@pobox.com> askpass
-* Mon Nov 15 1999 Damien Miller <djm@mindrot.org>
-- Split subpackages further based on patch from jim knoble <jmknoble@pobox.com>
-* Sat Nov 13 1999 Damien Miller <djm@mindrot.org>
-- Added 'Obsoletes' directives
-* Tue Nov 09 1999 Damien Miller <djm@ibs.com.au>
-- Use make install
-- Subpackages
-* Mon Nov 08 1999 Damien Miller <djm@ibs.com.au>
-- Added links for slogin
-- Fixed perms on manpages
-* Sat Oct 30 1999 Damien Miller <djm@ibs.com.au>
-- Renamed init script
-* Fri Oct 29 1999 Damien Miller <djm@ibs.com.au>
-- Back to old binary names
-* Thu Oct 28 1999 Damien Miller <djm@ibs.com.au>
-- Use autoconf
-- New binary names
-* Wed Oct 27 1999 Damien Miller <djm@ibs.com.au>
-- Initial RPMification, based on Jan "Yenya" Kasprzak's <kas@fi.muni.cz> spec.
 
+%Description
+OpenSSH (Secure Shell) provides access to a remote system. It replaces
+telnet, rlogin,  rexec, and rsh, and provides secure encrypted 
+communications between two untrusted hosts over an insecure network.  
+X11 connections and arbitrary TCP/IP ports can also be forwarded over 
+the secure channel.
+
+%Description server
+This package installs the sshd, the server portion of OpenSSH. 
+
+%Description askpass
+This package contains an X11-based pass-phrase dialog used per
+default by ssh-add(1). It is based on %{askpass}
+by Jim Knoble <jmknoble@pobox.com>.
+
+%ChangeLog
+* Mon Jan 01 1998 ...
+
+$Id$
This page took 0.122686 seconds and 4 git commands to generate.