TCP Wrappers: Use the Debian patches.
It has the following side effects (among others): * Fix compilation on x86_64. We now only install the shared library and one of the Debian patches makes sure its objects are compiled with `-fPIC'. * Provide IPv6 support. * Fix man pages. * Fix `linux' makefile target. svn path=/nixpkgs/trunk/; revision=14255
This commit is contained in:
parent
a54392bc53
commit
e221d7ce61
@ -1,37 +1,39 @@
|
|||||||
source "$stdenv/setup" || exit 1
|
source "$stdenv/setup" || exit 1
|
||||||
|
|
||||||
# Unpack
|
# Unpack
|
||||||
unpackPhase && \
|
unpackPhase
|
||||||
cd "$sourceRoot/upstream/tarballs" && \
|
cd "$sourceRoot/upstream/tarballs"
|
||||||
tar xzvf * && \
|
tar xzvf *
|
||||||
cd tcp_wrappers_7.6 && \
|
cd tcp_wrappers_7.6
|
||||||
\
|
|
||||||
# Patch
|
# Patch
|
||||||
|
patchPhase
|
||||||
|
for patch in debian/patches/*
|
||||||
|
do
|
||||||
|
echo "applying Debian patch \`$(basename $patch)'..."
|
||||||
|
patch -p1 < $patch
|
||||||
|
done
|
||||||
|
|
||||||
substituteInPlace "Makefile" --replace \
|
substituteInPlace "Makefile" --replace \
|
||||||
"REAL_DAEMON_DIR=/usr/sbin" "REAL_DAEMON_DIR=$out/sbin" \
|
"REAL_DAEMON_DIR=/usr/sbin" "REAL_DAEMON_DIR=$out/sbin" \
|
||||||
--replace "/tmp" '$$TMPDIR' && \
|
--replace "/tmp" '$$TMPDIR'
|
||||||
substituteInPlace "scaffold.c" --replace \
|
|
||||||
'extern char *malloc();' " " && \
|
echo "building..."
|
||||||
substituteInPlace "environ.c" --replace \
|
make REAL_DAEMON_DIR="$out/sbin" linux
|
||||||
'extern char *malloc();' " " && \
|
|
||||||
\
|
|
||||||
# The `linux' target doesn't work on Linux...
|
|
||||||
echo building... && \
|
|
||||||
make REAL_DAEMON_DIR="$out/sbin" freebsd && \
|
|
||||||
\
|
|
||||||
# Install
|
# Install
|
||||||
ensureDir "$out/sbin" && \
|
ensureDir "$out/sbin"
|
||||||
cp safe_finger tcpd tcpdchk tcpdmatch try-from "$out/sbin" && \
|
cp -v safe_finger tcpd tcpdchk tcpdmatch try-from "$out/sbin"
|
||||||
\
|
|
||||||
ensureDir "$out/lib" && \
|
ensureDir "$out/lib"
|
||||||
cp lib*.a "$out/lib" && \
|
cp -v shared/lib*.so* "$out/lib"
|
||||||
\
|
|
||||||
ensureDir "$out/include" && \
|
ensureDir "$out/include"
|
||||||
cp *.h "$out/include" && \
|
cp -v *.h "$out/include"
|
||||||
\
|
|
||||||
ensureDir "$out/man" && \
|
ensureDir "$out/man"
|
||||||
for i in 3 5 8; \
|
for i in 3 5 8;
|
||||||
do \
|
do
|
||||||
ensureDir "$out/man/man$i" && \
|
ensureDir "$out/man/man$i"
|
||||||
cp *.$i "$out/man/man$i" ; \
|
cp *.$i "$out/man/man$i" ;
|
||||||
done \
|
done
|
||||||
|
@ -8,7 +8,31 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "0k68ziinx6biwar5lcb9jvv0rp6b3vmj6861n75bvrz4w1piwkdp";
|
sha256 = "0k68ziinx6biwar5lcb9jvv0rp6b3vmj6861n75bvrz4w1piwkdp";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchurl {
|
||||||
|
url = mirror://debian/pool/main/t/tcp-wrappers/tcp-wrappers_7.6.dbs-13.diff.gz;
|
||||||
|
sha256 = "071ir20rh8ckhgrc0y99wgnlbqjgkprf0qwbv84lqw5i6qajbcnh";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
|
|
||||||
# meta = ...
|
meta = {
|
||||||
|
description = "TCP Wrappers, a network logger, also known as TCPD or LOG_TCP";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
Wietse Venema's network logger, also known as TCPD or LOG_TCP.
|
||||||
|
These programs log the client host name of incoming telnet, ftp,
|
||||||
|
rsh, rlogin, finger etc. requests. Security options are: access
|
||||||
|
control per host, domain and/or service; detection of host name
|
||||||
|
spoofing or host address spoofing; booby traps to implement an
|
||||||
|
early-warning system. The current version supports the System
|
||||||
|
V.4 TLI network programming interface (Solaris, DG/UX) in
|
||||||
|
addition to the traditional BSD sockets.
|
||||||
|
'';
|
||||||
|
|
||||||
|
homepage = ftp://ftp.porcupine.org/pub/security/index.html;
|
||||||
|
|
||||||
|
license = "BSD-style";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user