diff options
author | sketch <sketch@pkgsrc.org> | 2004-03-11 17:47:18 +0000 |
---|---|---|
committer | sketch <sketch@pkgsrc.org> | 2004-03-11 17:47:18 +0000 |
commit | 438e0e531d48d1b0af014db7538131e45a8edeed (patch) | |
tree | 126d2cdd4e6edc4725c58874ad5f7ed23d297a07 | |
parent | e82d2fc2e1123dc249da9a87048e8551b645e3d1 (diff) | |
download | pkgsrc-438e0e531d48d1b0af014db7538131e45a8edeed.tar.gz |
Use the install-sh wrapper to create directories rather than relying on
the system mkdir(1) which may bail out too easily for non-fatal errors.
Should fix pkg/23086
-rwxr-xr-x | bootstrap/bootstrap | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/bootstrap/bootstrap b/bootstrap/bootstrap index 15f2663c170..f1e29b2ee61 100755 --- a/bootstrap/bootstrap +++ b/bootstrap/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh -# $NetBSD: bootstrap,v 1.3 2004/03/11 17:29:11 tv Exp $ +# $NetBSD: bootstrap,v 1.4 2004/03/11 17:47:18 sketch Exp $ # # # Copyright (c) 2001-2002 Alistair G. Crooks. All rights reserved. @@ -158,11 +158,18 @@ run_cmd() fi } +# Some versions of mkdir (notably SunOS) bail out too easily, so use the +# install-sh wrapper instead. +mkdir_p() +{ + run_cmd "($shprog ./files/install-sh -d -o $user -g $group -m 755 $@)" +} + copy_src() { _src="$1"; _dst="$2" if [ ! -d $wrkdir/$_dst ]; then - $mkdirprog -p $wrkdir/$_dst + mkdir_p $wrkdir/$_dst fi $cpprog -Rp $_src/* $wrkdir/$_dst } @@ -320,7 +327,6 @@ check_prog cpprog cp check_prog idprog id check_prog groupsprog groups check_prog lsprog ls -check_prog mkdirprog mkdir check_prog rmdirprog rmdir check_prog sedprog sed check_prog shprog sh @@ -370,7 +376,7 @@ Darwin) for fs in "$prefix" "$pkgsrcdir"; do testdir="pkgsrc-REQUIRES-case-SENSITIVE-filesystem" testdir_mangled="PKGSRC-requires-CASE-sensitive-FILESYSTEM" - $mkdirprog -p "$fs/$testdir" || die "can't verify filesystem ($fs) case-sensitivity" + mkdir_p "$fs/$testdir" || die "can't verify filesystem ($fs) case-sensitivity" if [ -d "$fs/$testdir_mangled" ]; then $rmdirprog "$fs/$testdir" die "\"$fs\" needs to be on a case-sensitive filesystem (see README.Darwin)" @@ -411,12 +417,12 @@ echo "PKG_DBDIR=$pkgdbdir" >> mk.conf.example echo "LOCALBASE=$prefix" >> mk.conf.example # create directories -run_cmd "$mkdirprog -p $prefix $pkgdbdir $prefix/sbin" -run_cmd "$mkdirprog -p $prefix/man/man1 $prefix/man/cat1" -run_cmd "$mkdirprog -p $prefix/man/man8 $prefix/man/cat8" +mkdir_p $prefix $pkgdbdir $prefix/sbin +mkdir_p $prefix/man/man1 $prefix/man/cat1 +mkdir_p $prefix/man/man8 $prefix/man/cat8 # bootstrap make and *.mk files -run_cmd "$mkdirprog -p $prefix/share/mk $prefix/lib" +mkdir_p $prefix/share/mk $prefix/lib (cd bmake/mk; if [ -f ../../mods/mk/$opsys.sys.mk ]; then run_cmd "$cpprog ../../mods/mk/$opsys.sys.mk $prefix/share/mk/sys.mk" |