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 <eric.dorland@mail.mcgill.ca> ICQ: #61138586, Jabber: hooty@jabber.com 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 <matthew@debian.org>
-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 <cjwatson@debian.org>
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