tags 240077 patch
tags 231472 patch
thanks

And here's the patch. I basically kept the same rules file and just
added some makefile magic to make it compile box versions of the
packages. Let me know what you think/any problems.

-- 
Eric Dorland <[EMAIL PROTECTED]>
ICQ: #61138586, Jabber: [EMAIL PROTECTED]
1024D/16D970C6 097C 4861 9934 27A0 8E1C  2B0A 61E9 8ECF 16D9 70C6

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d- s++: a-- C+++ UL+++ P++ L++ E++ W++ N+ o K- w+ 
O? M++ V-- PS+ PE Y+ PGP++ t++ 5++ X+ R tv++ b+++ DI+ D+ 
G e h! r- y+ 
------END GEEK CODE BLOCK------
diff -ruN openssh-3.8p1/debian/control openssh-3.8p1.new/debian/control
--- openssh-3.8p1/debian/control        2004-05-02 23:43:35.000000000 -0400
+++ openssh-3.8p1.new/debian/control    2004-05-02 23:46:57.000000000 -0400
@@ -2,14 +2,15 @@
 Section: net
 Priority: standard
 Maintainer: Matthew Vernon <[EMAIL PROTECTED]>
-Build-Depends: libwrap0-dev | libwrap-dev, zlib1g-dev | libz-dev, libssl-dev, 
libpam0g-dev | libpam-dev, libgnomeui-dev (>= 2.0.0) | libgnome-dev, groff, 
debhelper (>=1.1.17), sharutils
+Build-Depends: libwrap0-dev | libwrap-dev, zlib1g-dev | libz-dev, libssl-dev, 
libpam0g-dev | libpam-dev, libgnomeui-dev (>= 2.0.0) | libgnome-dev, groff, 
debhelper (>=1.1.17), sharutils, libopensc0-dev
 Standards-Version: 3.6.1
 Uploaders: Colin Watson <[EMAIL PROTECTED]>
 
 Package: ssh
 Architecture: any
 Depends: ${shlibs:Depends}, ${debconf-depends}, ${pam-depends}, libpam-modules 
(>= 0.72-9), adduser (>= 3.9), dpkg (>= 1.9.0)
-Conflicts: ssh-nonfree (<<2), ssh-socks, ssh2, sftp, rsh-client (<<0.16.1-1)
+Conflicts: ssh-opensc, ssh-nonfree (<<2), ssh-socks, ssh2, sftp, rsh-client 
(<<0.16.1-1)
+Replaces: ssh-opensc
 Suggests: ssh-askpass, xbase-clients, dnsutils
 Provides: rsh-client
 Description: Secure rlogin/rsh/rcp replacement (OpenSSH)
@@ -32,6 +33,35 @@
  In some countries it may be illegal to use any encryption at all
  without a special permit.
 
+Package: ssh-opensc
+Architecture: any
+Priority: extra
+Depends: ${shlibs:Depends}, ${debconf-depends}, ${pam-depends}, libpam-modules 
(>= 0.72-9), adduser (>= 3.9), dpkg (>= 1.9.0)
+Conflicts: ssh, ssh-nonfree (<<2), ssh-socks, ssh2, sftp, rsh-client 
(<<0.16.1-1)
+Replaces: ssh
+Suggests: ssh-askpass, xbase-clients, dnsutils
+Provides: ssh, rsh-client
+Description: Secure rlogin/rsh/rcp replacement (OpenSSH with OpenSC support)
+ This is the portable version of OpenSSH, a free implementation of
+ the Secure Shell protocol as specified by the IETF secsh working
+ group.
+ .
+ Ssh (Secure Shell) is a program for logging into a remote machine
+ and for executing commands on a remote machine.
+ It 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.
+ It is intended as a replacement for rlogin, rsh and rcp, and can be
+ used to provide applications with a secure communication channel.
+ .
+ This package provides both the ssh client and the sshd server. This
+ package is compiled with OpenSC support.
+ .
+ --------------------------------------------------------------------
+ .
+ In some countries it may be illegal to use any encryption at all
+ without a special permit.
+
 Package: ssh-askpass-gnome
 Section: gnome
 Priority: optional
diff -ruN openssh-3.8p1/debian/rules openssh-3.8p1.new/debian/rules
--- openssh-3.8p1/debian/rules  2004-05-02 23:43:35.000000000 -0400
+++ openssh-3.8p1.new/debian/rules      2004-05-02 23:17:11.000000000 -0400
@@ -39,30 +39,45 @@
 PAMDEP := libpam-runtime
 endif
 
+# nice shell expansion for the target dirs
+PACKAGE_DIRS := debian/{tmp,ssh-opensc}
+
+# Configure flags
+CONFIGURE_OPTS := --prefix=/usr --sysconfdir=/etc/ssh --libexecdir=/usr/lib 
--mandir=/usr/share/man --with-tcp-wrappers --with-xauth=/usr/bin/X11/xauth 
--with-default-path=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin 
--with-superuser-path=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin
 --with-pam --with-4in6 --with-privsep-path=/var/run/sshd  --without-rand-helper
+
 # Change the version string to include the Debian version
 SSH_VERSION := $(shell sed -e '/define/!d; s/.*\"\(.*\)\".*/\1/; q' 
<version.h) Debian $(shell dpkg-parsechangelog | sed -n -e 
'/^Version:/s/Version: //p')
 
-build: build-deb-stamp
-build-deb-stamp:
+build-regular build-opensc: build-% : build-deb-%-stamp
+build-deb-regular-stamp: BUILD_DEB_DIR := build-deb-regular
+build-deb-opensc-stamp: BUILD_DEB_DIR := build-deb-opensc
+build-deb-opensc-stamp: CONFIGURE_OPTS += --with-opensc=/usr
+build-deb-regular-stamp build-deb-opensc-stamp:
        dh_testdir
-       mkdir -p build-deb
-       cd build-deb && ../configure --prefix=/usr --sysconfdir=/etc/ssh 
--libexecdir=/usr/lib --mandir=/usr/share/man --with-tcp-wrappers 
--with-xauth=/usr/bin/X11/xauth 
--with-default-path=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin 
--with-superuser-path=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin
 --with-pam --with-4in6 --with-privsep-path=/var/run/sshd  --without-rand-helper
+       mkdir -p $(BUILD_DEB_DIR)
+       cd $(BUILD_DEB_DIR) && ../configure $(CONFIGURE_OPTS)
        # Some 2.2 kernels have trouble with setres[ug]id() (bug #239999).
-       perl -pi -e 's/.*#undef (BROKEN_SETRES[UG]ID).*/#define $$1 1/' 
build-deb/config.h
-       $(MAKE) -C build-deb -j 2 ASKPASS_PROGRAM='/usr/bin/ssh-askpass' 
CFLAGS='$(OPTFLAGS) -g -Wall -DLOGIN_PROGRAM=\"/bin/login\" -DLOGIN_NO_ENDOPT 
-DSSHD_PAM_SERVICE=\"ssh\" -DSSH_VERSION="\"$(SSH_VERSION)\""' 
SSH_KEYSIGN='/usr/lib/ssh-keysign'
+       perl -pi -e 's/.*#undef (BROKEN_SETRES[UG]ID).*/#define $$1 1/' 
$(BUILD_DEB_DIR)/config.h
+       $(MAKE) -C $(BUILD_DEB_DIR) -j 2 ASKPASS_PROGRAM='/usr/bin/ssh-askpass' 
CFLAGS='$(OPTFLAGS) -g -Wall -DLOGIN_PROGRAM=\"/bin/login\" -DLOGIN_NO_ENDOPT 
-DSSHD_PAM_SERVICE=\"ssh\" -DSSH_VERSION="\"$(SSH_VERSION)\""' 
SSH_KEYSIGN='/usr/lib/ssh-keysign'
+ifeq ($@,build-deb-regular-stamp)
        # Support building on Debian 3.0 (with GNOME 1.4) and later.
        if [ -f /usr/include/libgnomeui-2.0/gnome.h ]; then \
                $(MAKE) -C contrib gnome-ssh-askpass2 CC='gcc $(OPTFLAGS) -g 
-Wall'; \
        elif [ -f /usr/include/gnome-1.0/gnome.h ]; then \
                $(MAKE) -C contrib gnome-ssh-askpass1 CC='gcc $(OPTFLAGS) -g 
-Wall'; \
        fi
+endif
+
+       touch $@
 
-       touch build-deb-stamp
+build: build-regular
+       # build the regular build
 
 clean:
        dh_testdir
-       rm -f build-deb-stamp
-       rm -rf build-deb
+       rm -f build-deb-regular-stamp build-deb-opensc-stamp
+       rm -f debian/ssh-opensc.*                       #rm links
+       rm -rf build-deb-regular build-deb-opensc
        -$(MAKE) -C contrib clean
        rm -f config.log
 ifeq ($(PO2DEBCONF),yes)
@@ -83,45 +98,61 @@
 endif
        dh_clean
 
-install: DH_OPTIONS=
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs
-
+install-regular: BUILD_DEB_DIR := build-deb-regular
+install-regular: PACKAGE_DIR := debian/tmp
+install-regular: PACKAGE := ssh
+install-regular: DH_OPTIONS=
+install-opensc: BUILD_DEB_DIR := build-deb-opensc
+install-opensc: PACKAGE_DIR := debian/ssh-opensc
+install-opensc: PACKAGE := ssh-opensc
+install-opensc: DH_OPTIONS=
+install-regular install-opensc: install-% : build-%
        # Add here commands to install the package into debian/tmp.
-       $(MAKE) -C build-deb DESTDIR=`pwd`/debian/tmp install-nokeys
+       $(MAKE) -C $(BUILD_DEB_DIR) DESTDIR=$(CURDIR)/$(PACKAGE_DIR) 
install-nokeys
 
-       rm -f debian/tmp/etc/ssh/sshd_config
+       rm -f $(PACKAGE_DIR)/etc/ssh/sshd_config
        #Temporary hack: remove /usr/share/Ssh.bin, since we have no smartcard 
support anyway.
-       rm -f debian/tmp/usr/share/Ssh.bin
+       rm -f $(PACKAGE_DIR)/usr/share/Ssh.bin
 
-       install -m 755 contrib/ssh-copy-id debian/tmp/usr/bin/ssh-copy-id
-       install -m 644 -c contrib/ssh-copy-id.1 
debian/tmp/usr/share/man/man1/ssh-copy-id.1
-       install -m 644 debian/moduli.5 debian/tmp/usr/share/man/man5/moduli.5
+       install -m 755 contrib/ssh-copy-id $(PACKAGE_DIR)/usr/bin/ssh-copy-id
+       install -m 644 -c contrib/ssh-copy-id.1 
$(PACKAGE_DIR)/usr/share/man/man1/ssh-copy-id.1
+       install -m 644 debian/moduli.5 
$(PACKAGE_DIR)/usr/share/man/man5/moduli.5
 
+ifeq ($(PACKAGE),ssh)
        if [ -f contrib/gnome-ssh-askpass2 ]; then \
                install -s -o root -g root -m 755 contrib/gnome-ssh-askpass2 
debian/ssh-askpass-gnome/usr/lib/ssh/gnome-ssh-askpass; \
        elif [ -f contrib/gnome-ssh-askpass1 ]; then \
                install -s -o root -g root -m 755 contrib/gnome-ssh-askpass1 
debian/ssh-askpass-gnome/usr/lib/ssh/gnome-ssh-askpass; \
        fi
        install -m 644 debian/gnome-ssh-askpass.1 
debian/ssh-askpass-gnome/usr/share/man/man1/gnome-ssh-askpass.1
+endif
+
+       install -m 755 debian/ssh-argv0 $(PACKAGE_DIR)/usr/bin/ssh-argv0
+       install -m 644 debian/ssh-argv0.1 
$(PACKAGE_DIR)/usr/share/man/man1/ssh-argv0.1
+
+       install -o root -g root debian/init $(PACKAGE_DIR)/etc/init.d/ssh
+       install -o root -g root -m 644 debian/ssh.default 
$(PACKAGE_DIR)/etc/default/ssh
 
-       install -m 755 debian/ssh-argv0 debian/tmp/usr/bin/ssh-argv0
-       install -m 644 debian/ssh-argv0.1 
debian/tmp/usr/share/man/man1/ssh-argv0.1
+       install -o root -g root -m 755 -d $(PACKAGE_DIR)/var/run/sshd
 
-       install -o root -g root debian/init debian/tmp/etc/init.d/ssh
-       install -o root -g root -m 644 debian/ssh.default 
debian/tmp/etc/default/ssh
+install:
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       for file in config dirs postinst postrm preinst prerm ; do \
+               ln -sf "$$file" "debian/ssh-opensc.$$file"; \
+       done
+       dh_installdirs
 
-       install -o root -g root -m 755 -d debian/tmp/var/run/sshd
+       $(MAKE) -f debian/rules install-regular
+       $(MAKE) -f debian/rules install-opensc
 
 # Build architecture-independent files here.
-binary-indep: build install
+binary-indep: install
        # nothing to do
 
 # Build architecture-dependent files here.
-binary-arch: build install
+binary-arch: install
        dh_testdir
        dh_testroot
 ifeq ($(PO2DEBCONF),yes)
@@ -129,10 +160,12 @@
 endif
        dh_installdebconf
        dh_installdocs OVERVIEW README
-       cat debian/copyright.head LICENCE > 
debian/tmp/usr/share/doc/ssh/copyright
-       nroff RFC.nroff > debian/tmp/usr/share/doc/ssh/RFC
-       gzip -9 debian/tmp/usr/share/doc/ssh/RFC
-       rm -rf debian/tmp/usr/share/doc/ssh/RFC.nroff.gz
+       cat debian/copyright.head LICENCE \
+               | tee $(PACKAGE_DIRS)/usr/share/doc/$(PACKAGE)/copyright > 
/dev/null
+       nroff RFC.nroff | tee $(PACKAGE_DIRS)/usr/share/doc/$(PACKAGE)/RFC \
+               > /dev/null
+       gzip -9 $(PACKAGE_DIRS)/usr/share/doc/$(PACKAGE)/RFC
+       rm -rf $(PACKAGE_DIRS)/usr/share/doc/$(PACKAGE)/RFC.nroff.gz
 ifeq ($(PAMSUBST),yes)
        # Clean up if we've done this already, to ensure idempotency.
        if [ -f debian/ssh.pam.new-style ]; then \
@@ -151,8 +184,10 @@
        dh_compress
        dh_fixperms
        dh_installdeb
-       test ! -e debian/tmp/etc/ssh/ssh_prng_cmds \
-         || echo "/etc/ssh/ssh_prng_cmds" >> debian/tmp/DEBIAN/conffiles
+       for dir in $(PACKAGE_DIRS) ; do \
+               test ! -e "$$dir/etc/ssh/ssh_prng_cmds" \
+                       || echo "/etc/ssh/ssh_prng_cmds" >> 
"$$dir/DEBIAN/conffiles"; \
+       done
        dh_shlibdeps
        dh_gencontrol -- -V'debconf-depends=debconf (>= $(MINDEBCONFVER))' \
                         -V'pam-depends=$(PAMDEP)'

Attachment: signature.asc
Description: Digital signature

Reply via email to