1197775435
Makes completely no sense, the for already gives us the "broken" arguments
This reverts commit e0201bbb7f
.
92 lines
3.6 KiB
Bash
Executable file
92 lines
3.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
if test -z "${SRC_ROOT}"; then
|
|
echo "distro-install-clean-up: No environment set!"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Cleaning up ...";
|
|
|
|
remove_help_localization()
|
|
{
|
|
lang=$1
|
|
|
|
# nothing to be done if the localization is en-US if it does not exist
|
|
# or if it is already removed
|
|
test "$lang" = "en-US" -o \
|
|
! -e $DESTDIR$INSTALLDIR/help/$lang -o \
|
|
-L $DESTDIR$INSTALLDIR/help/$lang && return;
|
|
|
|
echo "... remove \"$lang\""
|
|
|
|
rm -rf $DESTDIR$INSTALLDIR/help/$lang
|
|
grep -v "$INSTALLDIR/help/$lang" $DESTDIR/gid_Module_Root.$lang >$DESTDIR/gid_Module_Root.$lang.new
|
|
mv -f $DESTDIR/gid_Module_Root.$lang.new $DESTDIR/gid_Module_Root.$lang
|
|
# FIXME: the following code could be used without the condition
|
|
# and should replace the lines above after only the milestones
|
|
# providing gid_Module_Helppack_Help and fixed gid_Module_Root.$lang
|
|
# are supported
|
|
# Note: The problem with gid_Module_Root.$lang is that it still includes
|
|
# %dir */help/* entries.
|
|
# Note: It was still necessary on ppc with gcj (OOo-2.0.2). Strange. Have to
|
|
# investigate it later.
|
|
if test -f $DESTDIR/gid_Module_Helppack_Help.$lang ; then
|
|
grep -v "$INSTALLDIR/help/$lang" $DESTDIR/gid_Module_Helppack_Help.$lang >$DESTDIR/gid_Module_Helppack_Help.$lang.new
|
|
mv -f $DESTDIR/gid_Module_Helppack_Help.$lang.new $DESTDIR/gid_Module_Helppack_Help.$lang
|
|
fi
|
|
|
|
# Note: We created a compat symlink in the past. It is no longer necessary.
|
|
# We do not want it because RPM has problems with update when we remove
|
|
# poor localizations in never packages
|
|
}
|
|
|
|
# Check if the English help is installed and is in the main package (is first on the list)
|
|
# Note that Java-disabled builds do not create help at all.
|
|
if test -f $DESTDIR$INSTALLDIR/help/en/sbasic.cfg -a \
|
|
"`for lang in $WITH_LANG_LIST ; do echo $lang ; break ; done`" = "en-US" ; then
|
|
|
|
echo "Removing duplicated English help..."
|
|
|
|
for lang in $WITH_LANG_LIST ; do
|
|
test ! -f $DESTDIR$INSTALLDIR/help/en/sbasic.cfg -o ! -f $DESTDIR$INSTALLDIR/help/$lang/sbasic.cfg && continue;
|
|
if diff $DESTDIR$INSTALLDIR/help/en/sbasic.cfg $DESTDIR$INSTALLDIR/help/$lang/sbasic.cfg >/dev/null 2>&1 ; then
|
|
remove_help_localization $lang
|
|
fi
|
|
done
|
|
|
|
echo "Removing poor help localizations..."
|
|
|
|
for lang in $WITH_POOR_HELP_LOCALIZATIONS ; do
|
|
remove_help_localization $lang
|
|
done
|
|
fi
|
|
|
|
echo "Fixing permissions..."
|
|
for dir in $DESTDIR$DOCDIR $DESTDIR$INSTALLDIR/sdk/examples ; do
|
|
if test -d $dir -a -w $dir ; then
|
|
find "$dir" -type f \( -name "*.txt" -o -name "*.java" -o -name "*.xml" -o \
|
|
-name "*.xcu" -o -name "*.xcs" -o -name "*.html" -o \
|
|
-name "*.pdf" -o -name "*.ps" -o -name "*.gif" -o \
|
|
-name "*.png" -o -name "*.jpg" -o -name "Makefile" -o \
|
|
-name "manifest.mf" \) -exec chmod 644 {} \;
|
|
fi
|
|
done
|
|
|
|
if test "z$DESTDIR" != "z" ; then
|
|
echo "Checking for DESTDIR inside installed files..."
|
|
found_destdir=
|
|
for file in `find $DESTDIR -type f` ; do
|
|
grep -q "$DESTDIR" $file && echo "$file: includes the string \"$DESTDIR\"" && found_destdir=1
|
|
done
|
|
if test "z$found_destdir" != "z" ; then
|
|
echo "!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!"
|
|
echo "The path DESTDIR:$DESTDIR was found inside some"
|
|
echo "installed files. It is probably a bug."
|
|
echo
|
|
echo "Especially, if the DESTDIR is set to \$RPM_BUILD_ROOT"
|
|
echo "when creating RPM packages. Even it could be a security hole"
|
|
echo "if the application searches /var/tmp for binaries or"
|
|
echo "config files because the directory is world-writable."
|
|
echo "!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!"
|
|
fi
|
|
fi
|