Ogni volta che esce una nuova versione di GoogleChrome, ricreo il package usando lo SlackBuild di Slacky; una volta creato, installato e verificato il package, faccio il logout da root e tento di accedere come utente normale ma, a quel punto, ecco comparire il messaggio:
Codice: Seleziona tutto
unable to cd to /home/nomeutenteRiavviando il computer, tutto si ripristina magicamente.
Se qualche esperto di script ci capisce qualcosa (magari Gohanz che ne è l'autore), ecco lo SlackBuild:
Codice: Seleziona tutto
#!/bin/sh
# Heavily based on the Slackware 12.2 SlackBuild
# http://dev.chromium.org/getting-involved/dev-channel
# Packager Andrea Sciucca ( gohanz at infinito.it)
# http://www.slacky.it
#
# Required: gconf, orbit2
#
# Required lzma only for package build.
#
# Exit on most errors
set -e
CWD=`pwd`
TMP=${TMP:-/tmp/tgz}
PKG=$TMP/package/google-chrome
NAME=google-chrome
VERSION=4.0.207.0
CHOST=i486
ARCH=${ARCH:-i386}
BUILD=1as
if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
mkdir -p $PKG
fi
cd $TMP
ar -x $CWD/google-chrome-unstable_current_i386.deb
echo -e "\E[0;32m+--------------------------------+\E[0;0m"
echo -e "\E[0;32m| Start SlackBuild Google-Chrome |\E[0;0m"
echo -e "\E[0;32m+--------------------------------+\E[0;0m"
cd $PKG
lzma -d $TMP/data.tar.lzma
tar xf $TMP/data.tar
# Fix default libdir in google-chrome startup script.
sed -i "s,lib32,lib," $PKG/opt/google/chrome/google-chrome
# Set Flash support by default.
# ( cd $PKG/opt/google/chrome
# ln -s /usr/lib/mozilla/plugins .
# sed -i'' -e 's/\" \"/\" --enable-plugins \"/g' $PKG/opt/google/chrome/google-chrome )
mkdir -p $PKG/usr/doc/$NAME-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild
mkdir -p $PKG/usr/share/applications
cd $PKG/usr/share/applications
ln -s /opt/google/chrome/google-chrome.desktop .
echo "if [ -x /usr/bin/update-mime-database ]; then
/usr/bin/update-mime-database /usr/share/mime &> /dev/null
fi" >> $PKG/install/doinst.sh
echo "" >> $PKG/install/doinst.sh
echo "if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database &> /dev/null
fi" >> $PKG/install/doinst.sh
echo "" >> $PKG/install/doinst.sh
echo "if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -f -q /usr/share/icons/hicolor &> /dev/null
fi" >> $PKG/install/doinst.sh
echo "" >> $PKG/install/doinst.sh
# We are using the Firefox libraries instead of Xulrunner.
cat << EOF > $PKG/install/doinst.sh
( cd usr/lib ; rm -rf libnss3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnss3.so libnss3.so.1d )
( cd usr/lib ; rm -rf libnssutil3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnssutil3.so libnssutil3.so.1d )
( cd usr/lib ; rm -rf libsmime3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libsmime3.so libsmime3.so.1d )
( cd usr/lib ; rm -rf libssl3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libssl3.so libssl3.so.1d )
( cd usr/lib ; rm -rf libplds4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libplds4.so libplds4.so.0d )
( cd usr/lib ; rm -rf libplc4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libplc4.so libplc4.so.0d )
( cd usr/lib ; rm -rf libnspr4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnspr4.so libnspr4.so.0d )
# Fix default permission for chrome-sanbox.
chmod 4755 /opt/google/chrome/chrome-sandbox
EOF
cd $PKG
find . -perm 666 -exec chmod 644 {} \;
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;
chown -R root:root .
requiredbuilder -v -y -s $CWD $PKG
makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz
if [ "$1" = "--cleanup" ]; then
rm -rf $TMP
fi
