NetBSD Problem Report #39528
From tsutsui@ceres.dti.ne.jp Sat Sep 13 02:02:11 2008
Return-Path: <tsutsui@ceres.dti.ne.jp>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id 3931C63B11D
for <gnats-bugs@gnats.NetBSD.org>; Sat, 13 Sep 2008 02:02:11 +0000 (UTC)
Message-Id: <200809130202.m8D227Tm025546@mirage.ceres.dti.ne.jp>
Date: Sat, 13 Sep 2008 11:02:07 +0900 (JST)
From: tsutsui@ceres.dti.ne.jp
Reply-To: tsutsui@ceres.dti.ne.jp
To: gnats-bugs@gnats.NetBSD.org
Cc: tsutsui@ceres.dti.ne.jp
Subject: src/tools/file fails to install due to permission problem
X-Send-Pr-Version: 3.95
>Number: 39528
>Category: toolchain
>Synopsis: src/tools/file fails to install due to permission problem
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: toolchain-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Sep 13 02:05:00 +0000 2008
>Closed-Date: Sun Oct 12 03:48:30 +0000 2008
>Last-Modified: Sun Oct 12 03:48:30 +0000 2008
>Originator: Izumi Tsutsui
>Release: NetBSD 4.99.72
>Organization:
>Environment:
System: NetBSD 4.99.72 from NetBSD-daily/HEAD/200809120002Z
Architecture: i386
Machine: i386
>Description:
On build.sh tools, "make install" in src/tools/files invokes
"src/dist/file/install-sh" script directly for "MKDIR_P"
(at least on NetBSD/i386 4.99.72 host).
But source sets in the [RELEASE]/source/sets directory
(which are created by src/distrib/sets/makesrcsets)
don't preserve executable bits in archives, so
the installation fails due to "permission denied."
>How-To-Repeat:
% ftp ftp://ftp.NetBSD.org/pub/NetBSD-daily/HEAD/200809100002Z/source/sets/gnusrc.tgz
% ftp ftp://ftp.NetBSD.org/pub/NetBSD-daily/HEAD/200809100002Z/source/sets/sharesrc.tgz
% ftp ftp://ftp.NetBSD.org/pub/NetBSD-daily/HEAD/200809100002Z/source/sets/src.tgz
% ftp ftp://ftp.NetBSD.org/pub/NetBSD-daily/HEAD/200809100002Z/source/sets/syssrc.tgz
% tar -ztvf src.tgz usr/src/dist/file/src/install-sh
-rw-rw-r-- 1 root wsrc 13184 Sep 2 23:06 usr/src/dist/file/install-sh
tar: ustar vol 1, 66297 files, 296919040 bytes read, 0 bytes written in 3 secs (98973013 bytes/sec)
% tar -zxpf gnusrc.tgz
% tar -zxpf sharesrc.tgz
% tar -zxpf src.tgz
% tar -zxpf syssrc.tgz
% ls -l usr/src/dist/file/install-sh
-rw-rw-r-- 1 tsutsui tsutsui 13184 Sep 2 23:06 usr/src/dist/file/install-sh
% (cd usr/src; sh build.sh -m cobalt -u -U -T tooldir -D destdir -V OBJMACHINE=1 tools)
:
install ===> db
% install /home/tsutsui/cobalt/usr/src/tooldir/bin/nbdb
mkdir -p /home/tsutsui/cobalt/usr/src/tooldir/bin
/home/tsutsui/cobalt/usr/src/tooldir/bin/mipsel--netbsd-install -c -p -r -m 555 db /home/tsutsui/cobalt/usr/src/tooldir/bin/nbdb
install ===> file
Making install in src
test -z "/home/tsutsui/cobalt/usr/src/tooldir/lib" || /home/tsutsui/cobalt/usr/src/tools/file/../../dist/file/install-sh -c -d "/home/tsutsui/cobalt/usr/src/tooldir/lib"
sh: /home/tsutsui/cobalt/usr/src/tools/file/../../dist/file/install-sh: permission denied
*** Failed target: install-libLTLIBRARIES
>Fix:
I'm not sure if it's autoconf(1) problem or not, but there are
two possible workaround:
1) fix src/distrib/sets/makesrctars to preserve executable bits
for shell script files
2) fix src/dist/file/configure to call install-sh srcipt via $(SHELL)
Index: dist/file/configure
===================================================================
RCS file: /cvsroot/src/dist/file/configure,v
retrieving revision 1.19
diff -u -r1.19 configure
--- dist/file/configure 30 Aug 2008 12:16:51 -0000 1.19
+++ dist/file/configure 13 Sep 2008 01:38:54 -0000
@@ -2159,7 +2159,7 @@
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
test -d ./--version && rmdir ./--version
- MKDIR_P="$ac_install_sh -d"
+ MKDIR_P="\$(SHELL) $ac_install_sh -d"
fi
fi
{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
---
Izumi Tsutsui
>Release-Note:
>Audit-Trail:
From: Izumi Tsutsui <tsutsui@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/39528 CVS commit: src/dist/file
Date: Sun, 12 Oct 2008 02:56:24 +0000 (UTC)
Module Name: src
Committed By: tsutsui
Date: Sun Oct 12 02:56:24 UTC 2008
Modified Files:
src/dist/file: configure
Log Message:
Put a workaround for PR toolchain/39528:
Adjust a definition of MKDIR_P to invoke $ac_install_sh script
via $(SHELL) so that it will work even if executable bits are not
preserved in the source archives.
No objection on tech-toolchain.
To generate a diff of this commit:
cvs rdiff -r1.19 -r1.20 src/dist/file/configure
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->closed
State-Changed-By: tsutsui@NetBSD.org
State-Changed-When: Sun, 12 Oct 2008 12:48:30 +0900
State-Changed-Why:
Workarounded.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.