* [PATCH] Revert "build: Use the original install-sh file from SGI"
@ 2021-06-29 7:32 Vyacheslav Yurkov
2021-07-04 9:43 ` Eryu Guan
0 siblings, 1 reply; 3+ messages in thread
From: Vyacheslav Yurkov @ 2021-06-29 7:32 UTC (permalink / raw)
To: fstests; +Cc: Vyacheslav Yurkov
From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
This reverts commit da7916f72206750cce0d0d306d3ba9094a375880.
Old install-sh fails in cross-compilation environments like yocto.
Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
---
Makefile | 1 -
include/install-sh | 352 ---------------------------------------------
2 files changed, 353 deletions(-)
delete mode 100755 include/install-sh
diff --git a/Makefile b/Makefile
index 86a2d399..c52daeb8 100644
--- a/Makefile
+++ b/Makefile
@@ -61,7 +61,6 @@ endif
configure: configure.ac
libtoolize -cfi
- cp include/install-sh .
aclocal -I m4
autoheader
autoconf
diff --git a/include/install-sh b/include/install-sh
deleted file mode 100755
index a19cbe31..00000000
--- a/include/install-sh
+++ /dev/null
@@ -1,352 +0,0 @@
-#! /bin/bash
-#
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
-#
-# This script emulates bsd install and also recognises
-# two environment variables, with the following semantics :-
-#
-# $DIST_MANIFEST - if set, the name of the file to append manifest
-# information in the following format:
-# File : f mode owner group src target
-# Directory: d mode owner group target
-# Symlink : l linkval target
-#
-# $DIST_ROOT - if set, prepend to target
-#
-# The sematics of all combinations of these two variables
-# are as follows:
-#
-# $DIST_MANIFEST? $DIST_ROOT? | Copy? Append Manifest?
-# -----------------------------+--------------------------
-# not set not set | yes no
-# not set set | yes no
-# set not set | no yes
-# set set | yes yes
-#
-_usage() {
- echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory"
- echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file"
- echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory"
- echo "or $prog -S file target (creates \"target\" symlink)"
- echo "or $prog -T lt_arg [-o owner] [-g group] [-m mode] libtool.lai directory"
- echo ""
- echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the"
- echo "behaviour of this command - see comments in the script."
- echo "The -D flag is only available for the second usage, and causes"
- echo "the target directory to be created before installing the file."
- echo ""
- exit 1
-}
-
-_chown ()
-{
- _st=255
- if [ $# -eq 3 ] ; then
- chown $1:$2 $3
- _st=$?
- if [ $_st -ne 0 ] ; then
- if [ $REAL_UID != '0' ] ; then
- if [ ! -f $DIST_ROOT/.chown.quiet ] ; then
- echo '==============================================='
- echo Ownership of files under ${DIST_ROOT:-/}
- echo cannot be changed
- echo '==============================================='
- if [ -n "$DIST_ROOT" ] ; then
- touch $DIST_ROOT/.chown.quiet
- fi
- fi
- _st=0
- fi
- fi
- fi
-
- return $_st
-}
-
-
-_manifest ()
-{
- echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null}
-}
-
-prog=`basename $0`
-HERE=`pwd`
-dflag=false
-Dflag=false
-Sflag=false
-Tflag=false
-DIRMODE=755
-FILEMODE=644
-OWNER=`id -u`
-GROUP=`id -g`
-REAL_UID=$OWNER
-
-# default is to install and don't append manifest
-INSTALL=true
-MANIFEST=:
-
-: ${DIST_ROOT:=${DESTDIR}}
-
-[ -n "$DIST_MANIFEST" -a -z "$DIST_ROOT" ] && INSTALL=false
-[ -n "$DIST_MANIFEST" ] && MANIFEST="_manifest"
-
-[ $# -eq 0 ] && _usage
-
-if $INSTALL
-then
- CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown
-else
- CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true
-fi
-
-[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true
-
-while getopts "Dcm:d:S:o:g:T:" c $*
-do
- case $c in
- c)
- ;;
- g)
- GROUP=$OPTARG
- ;;
- o)
- OWNER=$OPTARG
- ;;
- m)
- DIRMODE=`expr $OPTARG`
- FILEMODE=$DIRMODE
- ;;
- D)
- Dflag=true
- ;;
- S)
- symlink=$OPTARG
- Sflag=true
- ;;
- d)
- dir=$DIST_ROOT/$OPTARG
- dflag=true
- ;;
- T)
- lt_install=$OPTARG
- Tflag=true
- ;;
- *)
- _usage
- ;;
- esac
-done
-
-shift `expr $OPTIND - 1`
-
-status=0
-if $dflag
-then
- #
- # first usage
- #
- $MKDIR -p $dir
- status=$?
- if [ $status -eq 0 ]
- then
- $CHMOD $DIRMODE $dir
- status=$?
- fi
- if [ $status -eq 0 ]
- then
- $CHOWN $OWNER $GROUP $dir
- status=$?
- fi
- $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT}
-elif $Sflag
-then
- #
- # fourth usage (symlink)
- #
- if [ $# -ne 1 ]
- then
- _usage
- else
- target=$DIST_ROOT/$1
- fi
- $LN -s -f $symlink $target
- status=$?
- $MANIFEST l $symlink ${target#$DIST_ROOT}
-elif $Tflag
-then
- #
- # -T (install libs built by libtool)
- #
- if [ $# -ne 2 ]
- then
- _usage
- else
- libtool_lai=$1
- # source the libtool variables
- if [ ! -f $libtool_lai ]
- then
- echo "$prog: Unable to find libtool library file $libtool_lai"
- exit 2
- fi
- . ./$libtool_lai
- target=$DIST_ROOT/$2
- fi
- case $lt_install in
- so_dot_version)
- # Loop until we find libfoo.so.x.y.z, then break out.
- for solib in $library_names
- do
- # does it have enough parts? libfoo.so.x.y.z == 5
- cnt=`echo "$solib" | sed -e 's/\./ /g' | wc -w`
- if [ $cnt -eq 5 ]
- then
- install_name=$target/$solib
- $CP $solib $install_name
- status=$?
- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$solib ${install_name#$DIST_ROOT}
- break
- fi
- done
- ;;
-
- so_*)
- case $lt_install in
- so_dot_current)
- # ln -s libfoo.so.x.y.z to libfoo.so.x
- from_parts=5 # libfoo.so.x.y.z
- to_parts=3 # libfoo.so.x
- ;;
- so_base)
- # ln -s libfoo.so.x to libfoo.so
- from_parts=3 # libfoo.so.x
- to_parts=2 # libfoo.so
- ;;
- *)
- echo "$prog: -T $lt_install invalid"
- exit 2
- ;;
- esac
-
- # Loop until we find the names, then break out.
- for solib in $library_names
- do
- # does it have enough parts?
- cnt=`echo "$solib" | sed -e 's/\./ /g' | wc -w`
- if [ $cnt -eq $from_parts ]
- then
- from_name=$solib
- elif [ $cnt -eq $to_parts ]
- then
- to_name=$solib
- fi
-
- if [ -n "$from_name" ] && [ -n "$to_name" ]
- then
- install_name=$target/$to_name
- $LN -s -f $from_name $install_name
- status=$?
- $MANIFEST l $from_name ${install_name#$DIST_ROOT}
- break
- fi
- done
- ;;
- old_lib)
- install_name=$target/$old_library
- $CP $old_library $install_name
- status=$?
- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$old_library ${install_name#$DIST_ROOT}
- ;;
- *)
- echo "$prog: -T $lt_install invalid"
- exit 2
- ;;
- esac
-
- case $lt_install in
- old_lib|so_dot_version)
- if [ $status -eq 0 ]
- then
- $CHMOD $FILEMODE $install_name
- $CHOWN $OWNER $GROUP $install_name
- fi
- ;;
- esac
-
-else
- list=""
- dir=""
- if [ $# -eq 2 ]
- then
- #
- # second usage
- #
- f=$1
- dir=$DIST_ROOT/$2
- if $Dflag
- then
- mkdir -p `dirname $dir`
- fi
- $CP $f $dir
- status=$?
- if [ $status -eq 0 ]
- then
- if [ -f $dir/$f ]
- then
- $CHMOD $FILEMODE $dir/$f
- status=$?
- if [ $status -eq 0 ]
- then
- $CHOWN $OWNER $GROUP $dir/$f
- status=$?
- fi
- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
- else
- $CHMOD $FILEMODE $dir
- status=$?
- if [ $status -eq 0 ]
- then
- $CHOWN $OWNER $GROUP $dir
- status=$?
- fi
- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT}
- fi
- fi
- else
- #
- # third usage
- #
- n=1
- while [ $# -gt 0 ]
- do
- if [ $# -gt 1 ]
- then
- list="$list $1"
- else
- dir=$DIST_ROOT/$1
- fi
- shift
- done
-
- # echo DIR=$dir list=\"$list\"
- for f in $list
- do
- $CP $f $dir
- status=$?
- if [ $status -eq 0 ]
- then
- $CHMOD $FILEMODE $dir/$f
- status=$?
- if [ $status -eq 0 ]
- then
- $CHOWN $OWNER $GROUP $dir/$f
- status=$?
- fi
- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
- fi
- [ $status -ne 0 ] && break
- done
- fi
-fi
-
-exit $status
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] Revert "build: Use the original install-sh file from SGI"
2021-06-29 7:32 [PATCH] Revert "build: Use the original install-sh file from SGI" Vyacheslav Yurkov
@ 2021-07-04 9:43 ` Eryu Guan
2021-07-08 11:55 ` Yurkov, Vyacheslav
0 siblings, 1 reply; 3+ messages in thread
From: Eryu Guan @ 2021-07-04 9:43 UTC (permalink / raw)
To: Vyacheslav Yurkov; +Cc: fstests, Vyacheslav Yurkov
On Tue, Jun 29, 2021 at 09:32:47AM +0200, Vyacheslav Yurkov wrote:
> From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
>
> This reverts commit da7916f72206750cce0d0d306d3ba9094a375880.
>
> Old install-sh fails in cross-compilation environments like yocto.
This install-sh has been used for performance reason, I'd like keep it
if possible. Would you please describe the failures you hit in
cross-compilation env? It'd be great if we could fix the env issue.
Thanks,
Eryu
>
> Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
> ---
> Makefile | 1 -
> include/install-sh | 352 ---------------------------------------------
> 2 files changed, 353 deletions(-)
> delete mode 100755 include/install-sh
>
> diff --git a/Makefile b/Makefile
> index 86a2d399..c52daeb8 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -61,7 +61,6 @@ endif
>
> configure: configure.ac
> libtoolize -cfi
> - cp include/install-sh .
> aclocal -I m4
> autoheader
> autoconf
> diff --git a/include/install-sh b/include/install-sh
> deleted file mode 100755
> index a19cbe31..00000000
> --- a/include/install-sh
> +++ /dev/null
> @@ -1,352 +0,0 @@
> -#! /bin/bash
> -#
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
> -#
> -# This script emulates bsd install and also recognises
> -# two environment variables, with the following semantics :-
> -#
> -# $DIST_MANIFEST - if set, the name of the file to append manifest
> -# information in the following format:
> -# File : f mode owner group src target
> -# Directory: d mode owner group target
> -# Symlink : l linkval target
> -#
> -# $DIST_ROOT - if set, prepend to target
> -#
> -# The sematics of all combinations of these two variables
> -# are as follows:
> -#
> -# $DIST_MANIFEST? $DIST_ROOT? | Copy? Append Manifest?
> -# -----------------------------+--------------------------
> -# not set not set | yes no
> -# not set set | yes no
> -# set not set | no yes
> -# set set | yes yes
> -#
> -_usage() {
> - echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory"
> - echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file"
> - echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory"
> - echo "or $prog -S file target (creates \"target\" symlink)"
> - echo "or $prog -T lt_arg [-o owner] [-g group] [-m mode] libtool.lai directory"
> - echo ""
> - echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the"
> - echo "behaviour of this command - see comments in the script."
> - echo "The -D flag is only available for the second usage, and causes"
> - echo "the target directory to be created before installing the file."
> - echo ""
> - exit 1
> -}
> -
> -_chown ()
> -{
> - _st=255
> - if [ $# -eq 3 ] ; then
> - chown $1:$2 $3
> - _st=$?
> - if [ $_st -ne 0 ] ; then
> - if [ $REAL_UID != '0' ] ; then
> - if [ ! -f $DIST_ROOT/.chown.quiet ] ; then
> - echo '==============================================='
> - echo Ownership of files under ${DIST_ROOT:-/}
> - echo cannot be changed
> - echo '==============================================='
> - if [ -n "$DIST_ROOT" ] ; then
> - touch $DIST_ROOT/.chown.quiet
> - fi
> - fi
> - _st=0
> - fi
> - fi
> - fi
> -
> - return $_st
> -}
> -
> -
> -_manifest ()
> -{
> - echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null}
> -}
> -
> -prog=`basename $0`
> -HERE=`pwd`
> -dflag=false
> -Dflag=false
> -Sflag=false
> -Tflag=false
> -DIRMODE=755
> -FILEMODE=644
> -OWNER=`id -u`
> -GROUP=`id -g`
> -REAL_UID=$OWNER
> -
> -# default is to install and don't append manifest
> -INSTALL=true
> -MANIFEST=:
> -
> -: ${DIST_ROOT:=${DESTDIR}}
> -
> -[ -n "$DIST_MANIFEST" -a -z "$DIST_ROOT" ] && INSTALL=false
> -[ -n "$DIST_MANIFEST" ] && MANIFEST="_manifest"
> -
> -[ $# -eq 0 ] && _usage
> -
> -if $INSTALL
> -then
> - CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown
> -else
> - CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true
> -fi
> -
> -[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true
> -
> -while getopts "Dcm:d:S:o:g:T:" c $*
> -do
> - case $c in
> - c)
> - ;;
> - g)
> - GROUP=$OPTARG
> - ;;
> - o)
> - OWNER=$OPTARG
> - ;;
> - m)
> - DIRMODE=`expr $OPTARG`
> - FILEMODE=$DIRMODE
> - ;;
> - D)
> - Dflag=true
> - ;;
> - S)
> - symlink=$OPTARG
> - Sflag=true
> - ;;
> - d)
> - dir=$DIST_ROOT/$OPTARG
> - dflag=true
> - ;;
> - T)
> - lt_install=$OPTARG
> - Tflag=true
> - ;;
> - *)
> - _usage
> - ;;
> - esac
> -done
> -
> -shift `expr $OPTIND - 1`
> -
> -status=0
> -if $dflag
> -then
> - #
> - # first usage
> - #
> - $MKDIR -p $dir
> - status=$?
> - if [ $status -eq 0 ]
> - then
> - $CHMOD $DIRMODE $dir
> - status=$?
> - fi
> - if [ $status -eq 0 ]
> - then
> - $CHOWN $OWNER $GROUP $dir
> - status=$?
> - fi
> - $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT}
> -elif $Sflag
> -then
> - #
> - # fourth usage (symlink)
> - #
> - if [ $# -ne 1 ]
> - then
> - _usage
> - else
> - target=$DIST_ROOT/$1
> - fi
> - $LN -s -f $symlink $target
> - status=$?
> - $MANIFEST l $symlink ${target#$DIST_ROOT}
> -elif $Tflag
> -then
> - #
> - # -T (install libs built by libtool)
> - #
> - if [ $# -ne 2 ]
> - then
> - _usage
> - else
> - libtool_lai=$1
> - # source the libtool variables
> - if [ ! -f $libtool_lai ]
> - then
> - echo "$prog: Unable to find libtool library file $libtool_lai"
> - exit 2
> - fi
> - . ./$libtool_lai
> - target=$DIST_ROOT/$2
> - fi
> - case $lt_install in
> - so_dot_version)
> - # Loop until we find libfoo.so.x.y.z, then break out.
> - for solib in $library_names
> - do
> - # does it have enough parts? libfoo.so.x.y.z == 5
> - cnt=`echo "$solib" | sed -e 's/\./ /g' | wc -w`
> - if [ $cnt -eq 5 ]
> - then
> - install_name=$target/$solib
> - $CP $solib $install_name
> - status=$?
> - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$solib ${install_name#$DIST_ROOT}
> - break
> - fi
> - done
> - ;;
> -
> - so_*)
> - case $lt_install in
> - so_dot_current)
> - # ln -s libfoo.so.x.y.z to libfoo.so.x
> - from_parts=5 # libfoo.so.x.y.z
> - to_parts=3 # libfoo.so.x
> - ;;
> - so_base)
> - # ln -s libfoo.so.x to libfoo.so
> - from_parts=3 # libfoo.so.x
> - to_parts=2 # libfoo.so
> - ;;
> - *)
> - echo "$prog: -T $lt_install invalid"
> - exit 2
> - ;;
> - esac
> -
> - # Loop until we find the names, then break out.
> - for solib in $library_names
> - do
> - # does it have enough parts?
> - cnt=`echo "$solib" | sed -e 's/\./ /g' | wc -w`
> - if [ $cnt -eq $from_parts ]
> - then
> - from_name=$solib
> - elif [ $cnt -eq $to_parts ]
> - then
> - to_name=$solib
> - fi
> -
> - if [ -n "$from_name" ] && [ -n "$to_name" ]
> - then
> - install_name=$target/$to_name
> - $LN -s -f $from_name $install_name
> - status=$?
> - $MANIFEST l $from_name ${install_name#$DIST_ROOT}
> - break
> - fi
> - done
> - ;;
> - old_lib)
> - install_name=$target/$old_library
> - $CP $old_library $install_name
> - status=$?
> - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$old_library ${install_name#$DIST_ROOT}
> - ;;
> - *)
> - echo "$prog: -T $lt_install invalid"
> - exit 2
> - ;;
> - esac
> -
> - case $lt_install in
> - old_lib|so_dot_version)
> - if [ $status -eq 0 ]
> - then
> - $CHMOD $FILEMODE $install_name
> - $CHOWN $OWNER $GROUP $install_name
> - fi
> - ;;
> - esac
> -
> -else
> - list=""
> - dir=""
> - if [ $# -eq 2 ]
> - then
> - #
> - # second usage
> - #
> - f=$1
> - dir=$DIST_ROOT/$2
> - if $Dflag
> - then
> - mkdir -p `dirname $dir`
> - fi
> - $CP $f $dir
> - status=$?
> - if [ $status -eq 0 ]
> - then
> - if [ -f $dir/$f ]
> - then
> - $CHMOD $FILEMODE $dir/$f
> - status=$?
> - if [ $status -eq 0 ]
> - then
> - $CHOWN $OWNER $GROUP $dir/$f
> - status=$?
> - fi
> - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
> - else
> - $CHMOD $FILEMODE $dir
> - status=$?
> - if [ $status -eq 0 ]
> - then
> - $CHOWN $OWNER $GROUP $dir
> - status=$?
> - fi
> - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT}
> - fi
> - fi
> - else
> - #
> - # third usage
> - #
> - n=1
> - while [ $# -gt 0 ]
> - do
> - if [ $# -gt 1 ]
> - then
> - list="$list $1"
> - else
> - dir=$DIST_ROOT/$1
> - fi
> - shift
> - done
> -
> - # echo DIR=$dir list=\"$list\"
> - for f in $list
> - do
> - $CP $f $dir
> - status=$?
> - if [ $status -eq 0 ]
> - then
> - $CHMOD $FILEMODE $dir/$f
> - status=$?
> - if [ $status -eq 0 ]
> - then
> - $CHOWN $OWNER $GROUP $dir/$f
> - status=$?
> - fi
> - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
> - fi
> - [ $status -ne 0 ] && break
> - done
> - fi
> -fi
> -
> -exit $status
> --
> 2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH] Revert "build: Use the original install-sh file from SGI"
2021-07-04 9:43 ` Eryu Guan
@ 2021-07-08 11:55 ` Yurkov, Vyacheslav
0 siblings, 0 replies; 3+ messages in thread
From: Yurkov, Vyacheslav @ 2021-07-08 11:55 UTC (permalink / raw)
To: Eryu Guan, Vyacheslav Yurkov; +Cc: fstests
There are several errors I was getting actually. The first one is something like this:
> | configure: error: cannot run /bin/bash ./../config.sub
The problem is that yocto/oe build system has distinct stages like fetch/configure/compile/install/etc, and this error occurs during the configure stage when it tries to run automake/autoconf.
When I prepend configure stage with copying of include/install-sh, it passes further, but fails at install stage with the errors like:
Usage: build/tmp/work/corei7-64-oe-linux/xfstests/git-r0/git/x86_64-oe-linux-libtool [OPTION]... [MODE-ARG]...
Try 'x86_64-oe-linux-libtool --help' for more information.
x86_64-oe-linux-libtool: error: 'build/tmp/work/corei7-64-oe-linux/xfstests/git-r0/image/usr/xfstests/src' is not a directory
make[1]: *** [Makefile:102: install] Error 1
So I honestly didn't look into what's failing there. Using up-to-date scripts just fixed the issue for me. I could keep the patch in my yocto BSP then if you don't like it.
Thanks,
Vyacheslav
- confidential -
> -----Original Message-----
> From: Eryu Guan <guaneryu@gmail.com>
> Sent: Sunday, July 4, 2021 11:44
> To: Vyacheslav Yurkov <uvv.mail@gmail.com>
> Cc: fstests@vger.kernel.org; Yurkov, Vyacheslav
> <Vyacheslav.Yurkov@bruker.com>
> Subject: Re: [PATCH] Revert "build: Use the original install-sh file from SGI"
>
> **EXTERNAL EMAIL**
>
> On Tue, Jun 29, 2021 at 09:32:47AM +0200, Vyacheslav Yurkov wrote:
> > From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
> >
> > This reverts commit da7916f72206750cce0d0d306d3ba9094a375880.
> >
> > Old install-sh fails in cross-compilation environments like yocto.
>
> This install-sh has been used for performance reason, I'd like keep it
> if possible. Would you please describe the failures you hit in
> cross-compilation env? It'd be great if we could fix the env issue.
>
> Thanks,
> Eryu
>
> >
> > Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
> > ---
> > Makefile | 1 -
> > include/install-sh | 352 ---------------------------------------------
> > 2 files changed, 353 deletions(-)
> > delete mode 100755 include/install-sh
> >
> > diff --git a/Makefile b/Makefile
> > index 86a2d399..c52daeb8 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -61,7 +61,6 @@ endif
> >
> > configure: configure.ac
> > libtoolize -cfi
> > - cp include/install-sh .
> > aclocal -I m4
> > autoheader
> > autoconf
> > diff --git a/include/install-sh b/include/install-sh
> > deleted file mode 100755
> > index a19cbe31..00000000
> > --- a/include/install-sh
> > +++ /dev/null
> > @@ -1,352 +0,0 @@
> > -#! /bin/bash
> > -#
> > -# SPDX-License-Identifier: GPL-2.0
> > -# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
> > -#
> > -# This script emulates bsd install and also recognises
> > -# two environment variables, with the following semantics :-
> > -#
> > -# $DIST_MANIFEST - if set, the name of the file to append manifest
> > -# information in the following format:
> > -# File : f mode owner group src target
> > -# Directory: d mode owner group target
> > -# Symlink : l linkval target
> > -#
> > -# $DIST_ROOT - if set, prepend to target
> > -#
> > -# The sematics of all combinations of these two variables
> > -# are as follows:
> > -#
> > -# $DIST_MANIFEST? $DIST_ROOT? | Copy? Append Manifest?
> > -# -----------------------------+--------------------------
> > -# not set not set | yes no
> > -# not set set | yes no
> > -# set not set | no yes
> > -# set set | yes yes
> > -#
> > -_usage() {
> > - echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory"
> > - echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file"
> > - echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory"
> > - echo "or $prog -S file target (creates \"target\" symlink)"
> > - echo "or $prog -T lt_arg [-o owner] [-g group] [-m mode] libtool.lai
> directory"
> > - echo ""
> > - echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables
> affect the"
> > - echo "behaviour of this command - see comments in the script."
> > - echo "The -D flag is only available for the second usage, and causes"
> > - echo "the target directory to be created before installing the file."
> > - echo ""
> > - exit 1
> > -}
> > -
> > -_chown ()
> > -{
> > - _st=255
> > - if [ $# -eq 3 ] ; then
> > - chown $1:$2 $3
> > - _st=$?
> > - if [ $_st -ne 0 ] ; then
> > - if [ $REAL_UID != '0' ] ; then
> > - if [ ! -f $DIST_ROOT/.chown.quiet ] ; then
> > - echo
> '==============================================='
> > - echo Ownership of files under ${DIST_ROOT:-/}
> > - echo cannot be changed
> > - echo
> '==============================================='
> > - if [ -n "$DIST_ROOT" ] ; then
> > - touch $DIST_ROOT/.chown.quiet
> > - fi
> > - fi
> > - _st=0
> > - fi
> > - fi
> > - fi
> > -
> > - return $_st
> > -}
> > -
> > -
> > -_manifest ()
> > -{
> > - echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null}
> > -}
> > -
> > -prog=`basename $0`
> > -HERE=`pwd`
> > -dflag=false
> > -Dflag=false
> > -Sflag=false
> > -Tflag=false
> > -DIRMODE=755
> > -FILEMODE=644
> > -OWNER=`id -u`
> > -GROUP=`id -g`
> > -REAL_UID=$OWNER
> > -
> > -# default is to install and don't append manifest
> > -INSTALL=true
> > -MANIFEST=:
> > -
> > -: ${DIST_ROOT:=${DESTDIR}}
> > -
> > -[ -n "$DIST_MANIFEST" -a -z "$DIST_ROOT" ] && INSTALL=false
> > -[ -n "$DIST_MANIFEST" ] && MANIFEST="_manifest"
> > -
> > -[ $# -eq 0 ] && _usage
> > -
> > -if $INSTALL
> > -then
> > - CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown
> > -else
> > - CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true
> > -fi
> > -
> > -[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true
> > -
> > -while getopts "Dcm:d:S:o:g:T:" c $*
> > -do
> > - case $c in
> > - c)
> > - ;;
> > - g)
> > - GROUP=$OPTARG
> > - ;;
> > - o)
> > - OWNER=$OPTARG
> > - ;;
> > - m)
> > - DIRMODE=`expr $OPTARG`
> > - FILEMODE=$DIRMODE
> > - ;;
> > - D)
> > - Dflag=true
> > - ;;
> > - S)
> > - symlink=$OPTARG
> > - Sflag=true
> > - ;;
> > - d)
> > - dir=$DIST_ROOT/$OPTARG
> > - dflag=true
> > - ;;
> > - T)
> > - lt_install=$OPTARG
> > - Tflag=true
> > - ;;
> > - *)
> > - _usage
> > - ;;
> > - esac
> > -done
> > -
> > -shift `expr $OPTIND - 1`
> > -
> > -status=0
> > -if $dflag
> > -then
> > - #
> > - # first usage
> > - #
> > - $MKDIR -p $dir
> > - status=$?
> > - if [ $status -eq 0 ]
> > - then
> > - $CHMOD $DIRMODE $dir
> > - status=$?
> > - fi
> > - if [ $status -eq 0 ]
> > - then
> > - $CHOWN $OWNER $GROUP $dir
> > - status=$?
> > - fi
> > - $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT}
> > -elif $Sflag
> > -then
> > - #
> > - # fourth usage (symlink)
> > - #
> > - if [ $# -ne 1 ]
> > - then
> > - _usage
> > - else
> > - target=$DIST_ROOT/$1
> > - fi
> > - $LN -s -f $symlink $target
> > - status=$?
> > - $MANIFEST l $symlink ${target#$DIST_ROOT}
> > -elif $Tflag
> > -then
> > - #
> > - # -T (install libs built by libtool)
> > - #
> > - if [ $# -ne 2 ]
> > - then
> > - _usage
> > - else
> > - libtool_lai=$1
> > - # source the libtool variables
> > - if [ ! -f $libtool_lai ]
> > - then
> > - echo "$prog: Unable to find libtool library file $libtool_lai"
> > - exit 2
> > - fi
> > - . ./$libtool_lai
> > - target=$DIST_ROOT/$2
> > - fi
> > - case $lt_install in
> > - so_dot_version)
> > - # Loop until we find libfoo.so.x.y.z, then break out.
> > - for solib in $library_names
> > - do
> > - # does it have enough parts? libfoo.so.x.y.z == 5
> > - cnt=`echo "$solib" | sed -e 's/\./ /g' | wc -w`
> > - if [ $cnt -eq 5 ]
> > - then
> > - install_name=$target/$solib
> > - $CP $solib $install_name
> > - status=$?
> > - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$solib
> ${install_name#$DIST_ROOT}
> > - break
> > - fi
> > - done
> > - ;;
> > -
> > - so_*)
> > - case $lt_install in
> > - so_dot_current)
> > - # ln -s libfoo.so.x.y.z to libfoo.so.x
> > - from_parts=5 # libfoo.so.x.y.z
> > - to_parts=3 # libfoo.so.x
> > - ;;
> > - so_base)
> > - # ln -s libfoo.so.x to libfoo.so
> > - from_parts=3 # libfoo.so.x
> > - to_parts=2 # libfoo.so
> > - ;;
> > - *)
> > - echo "$prog: -T $lt_install invalid"
> > - exit 2
> > - ;;
> > - esac
> > -
> > - # Loop until we find the names, then break out.
> > - for solib in $library_names
> > - do
> > - # does it have enough parts?
> > - cnt=`echo "$solib" | sed -e 's/\./ /g' | wc -w`
> > - if [ $cnt -eq $from_parts ]
> > - then
> > - from_name=$solib
> > - elif [ $cnt -eq $to_parts ]
> > - then
> > - to_name=$solib
> > - fi
> > -
> > - if [ -n "$from_name" ] && [ -n "$to_name" ]
> > - then
> > - install_name=$target/$to_name
> > - $LN -s -f $from_name $install_name
> > - status=$?
> > - $MANIFEST l $from_name ${install_name#$DIST_ROOT}
> > - break
> > - fi
> > - done
> > - ;;
> > - old_lib)
> > - install_name=$target/$old_library
> > - $CP $old_library $install_name
> > - status=$?
> > - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$old_library
> ${install_name#$DIST_ROOT}
> > - ;;
> > - *)
> > - echo "$prog: -T $lt_install invalid"
> > - exit 2
> > - ;;
> > - esac
> > -
> > - case $lt_install in
> > - old_lib|so_dot_version)
> > - if [ $status -eq 0 ]
> > - then
> > - $CHMOD $FILEMODE $install_name
> > - $CHOWN $OWNER $GROUP $install_name
> > - fi
> > - ;;
> > - esac
> > -
> > -else
> > - list=""
> > - dir=""
> > - if [ $# -eq 2 ]
> > - then
> > - #
> > - # second usage
> > - #
> > - f=$1
> > - dir=$DIST_ROOT/$2
> > - if $Dflag
> > - then
> > - mkdir -p `dirname $dir`
> > - fi
> > - $CP $f $dir
> > - status=$?
> > - if [ $status -eq 0 ]
> > - then
> > - if [ -f $dir/$f ]
> > - then
> > - $CHMOD $FILEMODE $dir/$f
> > - status=$?
> > - if [ $status -eq 0 ]
> > - then
> > - $CHOWN $OWNER $GROUP $dir/$f
> > - status=$?
> > - fi
> > - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f
> ${dir#$DIST_ROOT}/$f
> > - else
> > - $CHMOD $FILEMODE $dir
> > - status=$?
> > - if [ $status -eq 0 ]
> > - then
> > - $CHOWN $OWNER $GROUP $dir
> > - status=$?
> > - fi
> > - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir
> ${dir#$DIST_ROOT}
> > - fi
> > - fi
> > - else
> > - #
> > - # third usage
> > - #
> > - n=1
> > - while [ $# -gt 0 ]
> > - do
> > - if [ $# -gt 1 ]
> > - then
> > - list="$list $1"
> > - else
> > - dir=$DIST_ROOT/$1
> > - fi
> > - shift
> > - done
> > -
> > - # echo DIR=$dir list=\"$list\"
> > - for f in $list
> > - do
> > - $CP $f $dir
> > - status=$?
> > - if [ $status -eq 0 ]
> > - then
> > - $CHMOD $FILEMODE $dir/$f
> > - status=$?
> > - if [ $status -eq 0 ]
> > - then
> > - $CHOWN $OWNER $GROUP $dir/$f
> > - status=$?
> > - fi
> > - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f
> ${dir#$DIST_ROOT}/$f
> > - fi
> > - [ $status -ne 0 ] && break
> > - done
> > - fi
> > -fi
> > -
> > -exit $status
> > --
> > 2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-07-08 12:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-29 7:32 [PATCH] Revert "build: Use the original install-sh file from SGI" Vyacheslav Yurkov
2021-07-04 9:43 ` Eryu Guan
2021-07-08 11:55 ` Yurkov, Vyacheslav
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).