iputils: builder rewritten, open-max.patch added

svn path=/nixpkgs/branches/stdenv-updates/; revision=9818
This commit is contained in:
Yury G. Kudryashov 2007-12-01 20:04:38 +00:00
parent a1f7a312c0
commit 6e7217a2da
3 changed files with 38 additions and 14 deletions

View file

@ -1,20 +1,11 @@
source $stdenv/setup
tar zxvf $src
cd iputils
makeFlags="KERNEL_INCLUDE=$kernelHeaders/include LIBC_INCLUDE=$glibc/include"
sed -e "s^KERNEL_INCLUDE=.*$^KERNEL_INCLUDE=$kernelHeaders/include^" < Makefile > Makefile.new
mv Makefile.new Makefile
sed -e "s^LIBC_INCLUDE=.*$^LIBC_INCLUDE=$glibc/include^" < Makefile > Makefile.new
mv Makefile.new Makefile
#make ping arping tracepath
make
mkdir -p $out/bin
mkdir -p $out/sbin
preConfigure="sed -e 's@check-kernel @@' -i Makefile"
installPhase="
mkdir -pv $out/bin $out/sbin
install -c arping $out/sbin/
install -c ping $out/bin/
install -c ping6 $out/sbin/
@ -22,3 +13,6 @@ install -c rdisc $out/sbin/
install -c tracepath $out/sbin/
install -c tracepath6 $out/sbin/
install -c traceroute6 $out/sbin/
";
genericBuild

View file

@ -11,5 +11,5 @@ stdenv.mkDerivation {
};
inherit kernelHeaders glibc;
#buildInputs = [bison flex openssl];
patches = [ ./open-max.patch ];
}

View file

@ -0,0 +1,30 @@
--- iputils-s20070202/rdisc.c.open-max 2007-08-07 11:34:03.000000000 +0200
+++ iputils-s20070202/rdisc.c 2007-08-07 11:41:30.000000000 +0200
@@ -240,14 +240,25 @@
{
int t;
pid_t pid;
-
+ long open_max;
+
if (trace)
return;
+ if ((open_max = sysconf(_SC_OPEN_MAX)) == -1) {
+ if (errno == 0) {
+ (void) fprintf(stderr, "OPEN_MAX is not supported\n");
+ }
+ else {
+ (void) fprintf(stderr, "sysconf() error\n");
+ }
+ exit(1);
+ }
+
if ((pid=fork()) != 0)
exit(0);
- for (t = 0; t < OPEN_MAX; t++)
+ for (t = 0; t < open_max; t++)
if (t != s)
close(t);