NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

toolchain/39528: src/tools/file fails to install due to permission problem

>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:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Sep 13 02:05:00 +0000 2008
>Originator:     Izumi Tsutsui
>Release:        NetBSD 4.99.72
System: NetBSD 4.99.72 from NetBSD-daily/HEAD/200809120002Z
Architecture: i386
Machine: i386
On 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."


% ftp
% ftp
% ftp
% ftp
% tar -ztvf src.tgz usr/src/dist/file/src/install-sh
-rw-rw-r--  1 root     wsrc       13184 Sep  2 23:06 
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 -m cobalt -u -U -T tooldir -D destdir -V 


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 
sh: /home/tsutsui/cobalt/usr/src/tools/file/../../dist/file/install-sh: 
permission denied

*** Failed target:  install-libLTLIBRARIES

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"
 { echo "$as_me:$LINENO: result: $MKDIR_P" >&5

Izumi Tsutsui

Home | Main Index | Thread Index | Old Index