-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
hello rene, these are my slightly updated programs. my guidelines were keeping nfs/locking handling together, and similar in both programs, as much as i could. i didn't diff, so that you could diff against any upstream version you need. as i needed the isshared variable, i've copied it's calculation to the top of unopkg. in case it's calculation is in debian code only, please remove it's calculation from the other location. best regards, alex On 02/06/2010 10:45 PM, Rene Engelhard wrote: > Hi, > > On Sat, Feb 06, 2010 at 09:08:43PM +0200, alex bodnaru wrote: >> in case nfs/smb is detected, file_or_home_on_nfs returns 0, hence the >> handling >> is inverse. > > Aha. Matthias, you wrote that, any comment? > Looks valid to me. > >> STAR_PROFILE_LOCKING_DISABLED=1 should also be set when homedir on remote fs. >> >> though i can't be sure, i still feel some locks occur, even though i've >> fixed >> myself the previous issue. look at the suspect messages relating to open >> files: > > You fixed that? You don't dare to send a patch? I mean, > I don't have $HOME over nfs/smb anywhere. > >> rm: cannot remove >> `.openoffice.org/3/user/uno_packages/cache/.nfs000000000010c7c80000028a': >> Device or resource busy >> rm: cannot remove >> `.openoffice.org/3/user/uno_packages/cache/.nfs000000000010c7d400000289': >> Device or resource busy >> rm: cannot remove >> `.openoffice.org/3/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/.nfs000000000010c7cd00000288': >> Device or resource busy > > When does that happen? On a manual rm? > If yes - err, if even simple commands like rm fail, how is it OOos fault if > this > fails for you? This looks more like a generic problem, thus not a OOo > bug. > > Grüße/Regards, > > René - -- - -- best regards, alex -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iJwEAQECAAYFAktwxogACgkQ2nA3WyrfyeORnAP/coufKmyO6hZ0mfpcP/9xxenw WwUzBraknIdES57s6YOsyEp3lNq+eu/mKAHFUK/WpMjWyTZIyF5jYx4RuaefzQjA 8vwSoSEjHJVjWZ4tI0ALaNfXKoFk+8iCs/kZdA3mv348q00YFs4P7mNVr1j5Umyf IxL0NDCGEYTe7l/JX+I= =7pMc -----END PGP SIGNATURE-----
#!/bin/sh #************************************************************************* # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # Copyright 2008 by Sun Microsystems, Inc. # # OpenOffice.org - a multi-platform office productivity suite # # $RCSfile: unopkg.sh,v $ # # $Revision: 1.14 $ # # This file is part of OpenOffice.org. # # OpenOffice.org is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License version 3 # only, as published by the Free Software Foundation. # # OpenOffice.org is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License version 3 for more details # (a copy is included in the LICENSE file that accompanied this code). # # You should have received a copy of the GNU Lesser General Public License # version 3 along with OpenOffice.org. If not, see # <http://www.openoffice.org/license.html> # for a copy of the LGPLv3 License. # #************************************************************************* # if isshared is only in debian/ubuntu, please consider setting it here only isshared=0 for arg in $@ do if [ "$arg" = "--shared" ]; then isshared=1 fi done if [ $isshared -eq 1 ]; then HOME=/var/spool/openoffice/ else if test -z "$HOME"; then HOME=$(getent passwd $(whoami) | cut -d":" -f6) fi fi # helper functions file_or_home_on_nfs() { case $(stat -f -c %T $HOME) in nfs*|smb) # different cases STAR_PROFILE_LOCKING_DISABLED=1 esac for i; do case "$i" in -*) continue; esac [ -f "$i" ] || continue case $(stat -f -c %T "$i") in nfs*|smb) # different cases SAL_ENABLE_FILE_LOCKING=0 return 1 esac done SAL_ENABLE_FILE_LOCKING=1 STAR_PROFILE_LOCKING_DISABLED=0 return 0 } # read Ubuntu config file FILE_LOCKING=auto if [ -f /etc/openoffice/soffice.sh ]; then . /etc/openoffice/soffice.sh fi # sanity checks case "$FILE_LOCKING" in auto|yes|no) ;; *) echo >&2 "unknown value '$FILE_LOCKING' for FILE_LOCKING parameter." FILE_LOCKING=auto echo >&2 "FILE_LOCKING reset to '$FILE_LOCKING'" esac # adjust environment if [ -z "$SAL_ENABLE_FILE_LOCKING" ]; then case "$FILE_LOCKING" in auto) file_or_home_on_nfs "$@" ;; yes) SAL_ENABLE_FILE_LOCKING=1 STAR_PROFILE_LOCKING_DISABLED=0 ;; no) SAL_ENABLE_FILE_LOCKING=0 STAR_PROFILE_LOCKING_DISABLED=1 esac fi # export only once export SAL_ENABLE_FILE_LOCKING export STAR_PROFILE_LOCKING_DISABLED # resolve installation directory sd_cwd="`pwd`" if [ -h "$0" ] ; then sd_basename=`basename "$0"` sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"` cd "`dirname "$0"`" cd "`dirname "$sd_script"`" else cd "`dirname "$0"`" fi sd_prog=`pwd` cd "$sd_cwd" isshared=0 for arg in $@ do if [ "$arg" = "--shared" ]; then isshared=1 fi done if [ $isshared -eq 1 ]; then echo $@ | grep -q env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY if [ $? -ne 0 ]; then set -- $@ '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1' fi echo $@ | grep -q env:UNO_JAVA_JFW_INSTALL_DATA if [ $? -ne 0 -a -w $sd_prog/../share/config/javasettingsunopkginstall.xml ]; then set -- $@ '-env:UNO_JAVA_JFW_INSTALL_DATA=$$ORIGIN/../share/config/javasettingsunopkginstall.xml' fi echo $@ | grep -q env:UserInstallation if [ $? -ne 0 ]; then INSTDIR=`mktemp -d -t unoinstall.XXXXXX` set -- $@ '-env:UserInstallation=file://'$INSTDIR fi fi #collect all bootstrap variables specified on the command line #so that they can be passed as arguments to javaldx later on for arg in $@ do case "$arg" in -env:*) BOOTSTRAPVARS=$BOOTSTRAPVARS" ""$arg";; esac done # extend the ld_library_path for java: javaldx checks the sofficerc for us if [ -x "$sd_prog/../basis-link/ure-link/bin/javaldx" ] ; then my_path=`"$sd_prog/../basis-link/ure-link/bin/javaldx" $BOOTSTRAPVARS \ "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"` if [ -n "$my_path" ] ; then LD_LIBRARY_PATH=$my_path${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH} export LD_LIBRARY_PATH fi fi unset XENVIRONMENT # uncomment line below to disable anti aliasing of fonts # SAL_ANTIALIAS_DISABLE=true; export SAL_ANTIALIAS_DISABLE # uncomment line below if you encounter problems starting soffice on your system # SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS # Set PATH so that crash_report is found: PATH=$sd_prog${PATH+:$PATH} export PATH # execute binary "$sd_prog/unopkg.bin" "$@" \ "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc" if [ -n "$INSTDIR" ]; then rm -rf $INSTDIR fi
#!/bin/sh #************************************************************************* # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # Copyright 2008 by Sun Microsystems, Inc. # # OpenOffice.org - a multi-platform office productivity suite # # $RCSfile: soffice.sh,v $ # # $Revision: 1.34 $ # # This file is part of OpenOffice.org. # # OpenOffice.org is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License version 3 # only, as published by the Free Software Foundation. # # OpenOffice.org is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License version 3 for more details # (a copy is included in the LICENSE file that accompanied this code). # # You should have received a copy of the GNU Lesser General Public License # version 3 along with OpenOffice.org. If not, see # <http://www.openoffice.org/license.html> # for a copy of the LGPLv3 License. # #************************************************************************* if test -z "$HOME"; then HOME=$(getent passwd $(whoami) | cut -d":" -f6) fi # helper functions file_or_home_on_nfs() { case $(stat -f -c %T $HOME) in nfs*|smb) # different cases STAR_PROFILE_LOCKING_DISABLED=1 esac for i; do case "$i" in -*) continue; esac [ -f "$i" ] || continue case $(stat -f -c %T "$i") in nfs*|smb) # different cases SAL_ENABLE_FILE_LOCKING=0 return 1 esac done SAL_ENABLE_FILE_LOCKING=1 STAR_PROFILE_LOCKING_DISABLED=0 return 0 } # FIXME: this is conservative; allow more known working configurations working_opengl_support() { if [ -n "$(lsmod | awk '/^(fglrx|nvidia)/ {print $1}')" ]; then return 1 fi return 0 } # read config file FILE_LOCKING=auto OPENGL_SUPPORT=no if [ -f /etc/openoffice/soffice.sh ]; then . /etc/openoffice/soffice.sh fi # sanity checks case "$FILE_LOCKING" in auto|yes|no) ;; *) echo >&2 "unknown value '$FILE_LOCKING' for FILE_LOCKING parameter." FILE_LOCKING=auto echo >&2 "FILE_LOCKING reset to '$FILE_LOCKING'" esac case "$OPENGL_SUPPORT" in auto|yes|no) ;; *) echo >&2 "unknown value '$OPENGL_SUPPORT' for OPENGL_SUPPORT parameter." OPENGL_SUPPORT=auto echo >&2 "OPENGL_SUPPORT reset to '$OPENGL_SUPPORT'" esac # adjust environment if [ -z "$SAL_ENABLE_FILE_LOCKING" ]; then case "$FILE_LOCKING" in auto) file_or_home_on_nfs "$@" ;; yes) SAL_ENABLE_FILE_LOCKING=1 STAR_PROFILE_LOCKING_DISABLED=0 ;; no) SAL_ENABLE_FILE_LOCKING=0 STAR_PROFILE_LOCKING_DISABLED=1 esac fi # export only once export SAL_ENABLE_FILE_LOCKING export STAR_PROFILE_LOCKING_DISABLED if [ -z "$SAL_NOOPENGL" ]; then case "$OPENGL_SUPPORT" in auto) working_opengl_support if [ $? -eq 0 ]; then SAL_NOOPENGL=true export SAL_NOOPENGL fi ;; yes) : unset SAL_NOOPENGL #export SAL_NOOPENGL ;; no) SAL_NOOPENGL=true export SAL_NOOPENGL esac fi # the following test is needed on Linux PPC with IBM j2sdk142 # These variables are substituted during the build process if [ "LINUX" = "LINUX" -a "X86_64" = "POWERPC" ] ; then JITC_PROCESSOR_TYPE=6 export JITC_PROCESSOR_TYPE fi # resolve installation directory sd_cwd="`pwd`" if [ -h "$0" ] ; then sd_basename=`basename "$0"` sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"` cd "`dirname "$0"`" cd "`dirname "$sd_script"`" else cd "`dirname "$0"`" fi sd_prog=`pwd` cd "$sd_cwd" sd_binary=`basename "$0"`.bin #collect all bootstrap variables specified on the command line #so that they can be passed as arguments to javaldx later on for arg in $@ do case "$arg" in -env:*) BOOTSTRAPVARS=$BOOTSTRAPVARS" ""$arg";; esac done # pagein sd_pagein_ar...@pagein-common for sd_arg in "$@"; do case ${sd_arg} in -calc) sd_pagein_args="${sd_pagein_args} @pagein-calc" break; ;; -draw) sd_pagein_args="${sd_pagein_args} @pagein-draw" break; ;; -impress) sd_pagein_args="${sd_pagein_args} @pagein-impress" break; ;; -writer) sd_pagein_args="${sd_pagein_args} @pagein-writer" break; ;; esac done "$sd_prog/../basis-link/program/pagein" -L"$sd_prog/../basis-link/program" \ ${sd_pagein_args} # extend the ld_library_path for java: javaldx checks the sofficerc for us if [ -x "$sd_prog/../basis-link/ure-link/bin/javaldx" ] ; then my_path=`"$sd_prog/../basis-link/ure-link/bin/javaldx" $BOOTSTRAPVARS \ "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"` if [ -n "$my_path" ] ; then LD_LIBRARY_PATH=$my_path${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH} export LD_LIBRARY_PATH fi fi unset XENVIRONMENT # uncomment line below to disable anti aliasing of fonts # SAL_ANTIALIAS_DISABLE=true; export SAL_ANTIALIAS_DISABLE # uncomment line below if you encounter problems starting soffice on your system # SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS # read database entries for Adabas D if [ -f /etc/adabasrc ]; then . /etc/adabasrc fi # Set PATH so that crash_report is found: PATH=$sd_prog${PATH+:$PATH} export PATH PYTHONPATH=$sd_prog/../basis-link/program${PYTHONPATH+:$PYTHONPATH} export PYTHONPATH # test for availability of the fast external splash for arg in $@; do if [ "$arg" = "-nologo" -o "$arg" = "-no-oosplash" ]; then no_oosplash=y fi done if [ "$sd_binary" = "soffice.bin" -a -x "$sd_prog/oosplash.bin" ] && [ "$no_oosplash" != "y" ] ; then sd_binary="oosplash.bin" fi # execute soffice binary "$sd_prog/$sd_binary" "$@" & trap 'kill -9 $!' TERM wait $! while [ $? -eq 79 ] do "$sd_prog/$sd_binary" ""$BOOTSTRAPVARS"" & wait $! done exit

