Major infrastructure changes, part 2.

* Moved helpers, common and triggers dirs into xbps-src, where
  they belong.
* Renamed the templates dir to srcpkgs, it was so redundant before.
* Make it possible to add subpkgs with no restriction in names, for
  example udev now has a subpkgs called "libgudev". Previously
  subpkgs were named "${sourcepkg}-${pkgname}".
* xbps-src: changed to look for template files in current directory.
  That means that most arguments from the targets have been removed.
* xbps-src: added a reinstall target, to remove + install.
* xbps-src: do not overwrite binpkgs by default, skip them.

And more that I forgot because it's a mega-commit that I've been
working for some days already...

--HG--
extra : convert_revision : 0f466878584d1e6895d2a234f07ea1b2d1e61b3e
This commit is contained in:
Juan RP
2009-11-22 08:31:44 +01:00
parent 3c58e3ad40
commit 85cc462e1d
1305 changed files with 719 additions and 654 deletions

View File

@@ -0,0 +1,33 @@
#!/sbin/runscript
command=/usr/sbin/sshd
pidfile=/var/run/sshd.pid
required_files=/etc/ssh/sshd_config
name="Secure Shell Daemon"
depend()
{
use logger dns
need net
}
start_pre()
{
if [ ! -e /etc/ssh/ssh_host_key ]; then
ebegin "Generating Hostkey"
ssh-keygen -t rsa1 -b 4096 -f /etc/ssh/ssh_host_key -N ''
eend $? || return 1
fi
if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
ebegin "Generating DSA Hostkey"
ssh-keygen -d -f /etc/ssh/ssh_host_dsa_key -N ''
eend $? || return 1
fi
if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
ebegin "Generating RSA Hostkey"
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
eend $? || return 1
fi
$command -t
}

View File

@@ -0,0 +1,31 @@
# Template file for 'openssh-client'.
#
short_desc="The OpenSSH client"
long_desc="${long_desc}
This package contains the ${pkgname} client files."
conf_files="/etc/ssh/ssh_config"
Add_dependency run glibc
Add_dependency run zlib
Add_dependency run openssl
Add_dependency run openssh
do_install()
{
mkdir -p ${DESTDIR}/usr/bin
mkdir -p ${DESTDIR}/etc/ssh
mkdir -p ${DESTDIR}/usr/share/man/man1
mkdir -p ${DESTDIR}/usr/share/man/man5
for f in scp sftp slogin ssh ssh-add ssh-agent \
ssh-copy-id ssh-keyscan findssl; do
mv ${SRCPKGDESTDIR}/usr/bin/${f} ${DESTDIR}/usr/bin
[ ! -f ${SRCPKGDESTDIR}/usr/share/man/man1/${f}.1 ] && continue
mv ${SRCPKGDESTDIR}/usr/share/man/man1/${f}.1 \
${DESTDIR}/usr/share/man/man1
done
mv ${SRCPKGDESTDIR}/etc/ssh/ssh_config ${DESTDIR}/etc/ssh
mv ${SRCPKGDESTDIR}/usr/share/man/man5/ssh_config.5 \
${DESTDIR}/usr/share/man/man5
}

View File

@@ -0,0 +1,38 @@
# Template file for 'openssh-server'.
#
short_desc="The OpenSSH server"
long_desc="${long_desc}
This package contains the ${pkgname} server files."
keep_empty_dirs=yes
conf_files="/etc/ssh/sshd_config /etc/pam.d/sshd"
openrc_services="sshd default"
Add_dependency run glibc
Add_dependency run zlib
Add_dependency run openssl
Add_dependency run pam
Add_dependency run tcp_wrappers-libs
Add_dependency run openssh
do_install()
{
mkdir -p ${DESTDIR}/etc/ssh
mkdir -p ${DESTDIR}/usr/libexec/openssh
mkdir -p ${DESTDIR}/usr/share/man/man5
mkdir -p ${DESTDIR}/usr/share/man/man8
mv ${SRCPKGDESTDIR}/usr/libexec/openssh/sftp-server \
${DESTDIR}/usr/libexec/openssh
mv ${SRCPKGDESTDIR}/etc/ssh/sshd_config ${DESTDIR}/etc/ssh
mv ${SRCPKGDESTDIR}/usr/sbin ${DESTDIR}/usr
mv ${SRCPKGDESTDIR}/usr/share/man/man5/sshd_config.5 \
${DESTDIR}/usr/share/man/man5
for f in sftp-server sshd; do
mv ${SRCPKGDESTDIR}/usr/share/man/man8/${f}.8 \
${DESTDIR}/usr/share/man/man8
done
mv ${SRCPKGDESTDIR}/etc/pam.d ${DESTDIR}/etc
mv ${SRCPKGDESTDIR}/etc/init.d ${DESTDIR}/etc
mkdir -p ${DESTDIR}/var/chroot/ssh
}

View File

@@ -0,0 +1,11 @@
--- Makefile.in.orig 2009-03-08 19:04:14.598965190 +0100
+++ Makefile.in 2009-03-08 19:04:27.324968206 +0100
@@ -232,7 +232,7 @@ distprep: catman-do
-rm -rf autom4te.cache
(cd scard && $(MAKE) -f Makefile.in distprep)
-install: $(CONFIGFILES) ssh_prng_cmds.out $(MANPAGES) $(TARGETS) install-files install-sysconf host-key check-config
+install: $(CONFIGFILES) ssh_prng_cmds.out $(MANPAGES) $(TARGETS) install-files install-sysconf host-key
install-nokeys: $(CONFIGFILES) ssh_prng_cmds.out $(MANPAGES) $(TARGETS) install-files install-sysconf
install-nosysconf: $(CONFIGFILES) ssh_prng_cmds.out $(MANPAGES) $(TARGETS) install-files

58
srcpkgs/openssh/template Normal file
View File

@@ -0,0 +1,58 @@
# Template file for 'openssh'
pkgname=openssh
version=5.3p1
distfiles="ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$version.tar.gz"
build_style=gnu_configure
configure_args="--libexecdir=/usr/libexec/openssh --with-tcp-wrappers
--datadir=/usr/share/openssh --sysconfdir=/etc/ssh
--with-privsep-user=nobody --with-md5-passwords
--with-pam --with-mantype=man --with-xauth=/usr/bin/xauth
--without-rpath --with-ssl-engine
--without-selinux --with-privsep-path=/var/chroot/ssh"
short_desc="The OpenSSH implementation of SSH protocol versions 1 and 2"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=d0c917462896974480b14454a8e1cb8b809291f67e5b9779c9b4dc4156c5ef12
long_desc="
SSH (Secure SHell) is a program for logging into and executing
commands on a remote machine. SSH is intended to replace rlogin and
rsh, and to 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 version 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.
This package includes the core files necessary for both the OpenSSH
client and server. To make this package useful, you should also
install openssh-client, openssh-server, or both."
conf_files="/etc/ssh/moduli"
subpackages="$pkgname-client $pkgname-server"
Add_dependency full glibc
Add_dependency full zlib
Add_dependency full openssl
Add_dependency full pam
Add_dependency full shadow
Add_dependency build tcp_wrappers
post_install()
{
install -D -m644 ${wrksrc}/contrib/sshd.pam.generic \
${DESTDIR}/etc/pam.d/sshd
install -D -m755 ${wrksrc}/contrib/findssl.sh \
${DESTDIR}/usr/bin/findssl
install -D -m755 ${wrksrc}/contrib/ssh-copy-id \
${DESTDIR}/usr/bin/ssh-copy-id
install -D -m644 ${wrksrc}/contrib/ssh-copy-id.1 \
${DESTDIR}/usr/share/man/man1/ssh-copy-id.1
# Install the OpenRC service
install -D -m755 ${FILESDIR}/sshd.rc ${DESTDIR}/etc/init.d/sshd
sed -i \
-e 's|^#ListenAddress 0.0.0.0|ListenAddress 0.0.0.0|g' \
-e 's|^#UsePAM no|UsePAM yes|g' \
-e 's|^#ChallengeResponseAuthentication yes|ChallengeResponseAuthentication no|g' \
${DESTDIR}/etc/ssh/sshd_config
}