LinuxQuestions.org
View the Most Wanted LQ Wiki articles.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > VectorLinux
User Name
Password
VectorLinux This forum is for the discussion of VectorLinux.

Notices

Reply
 
Search this Thread
Old 09-14-2009, 12:01 PM   #1
stretchedthin
Member
 
Registered: Sep 2009
Posts: 45
Blog Entries: 32

Rep: Reputation: 16
Google Chrome on Slackware based Vector Linux


I thought this might be of interest to a wider audience than just VectorLinux so what better place to get the word out there than linuxquestions.org

Google Chrome is a hot topic right now, but for those of us who use Slackware based systems, Google is not providing any easy solutions.

Then brokndodge a member of the VectorLinux community made a script that made installing Google Chrome easy.

Here is a screencast of the script in action.
Google Chome install script on www.opensourcebistro.com

Here is the script.
Code:
#! /bin/bash
# Title: install-chrome
# Author: BroknDodge
# License: BSD
# Version: 0.0.4
#
# Special thanks to the following Vectorians for their help and suggestions:
# Daniel stretchedthin uelsk8ts
# hata_ph rbistolfi MOE-lnx
#
# Very Special thanks to the folks at Chromium.org and Google
# without whom there wouldn't be anything to install
#

#------------------------------------------#
# Setting up the Environment

enablePlugins="$1"
tmp="/tmp"

chromeURL="http://dl.google.com/linux/direct"
chromePackage="google-chrome-unstable_current_i386.deb"

nssURL="http://connie.slackware.com/~alien/slackbuilds/mozilla-nss/pkg/12.2"
nssPackage="mozilla-nss-3.12.3-i486-1alien.tgz"

#------------------------------------------#
# Making sure the system is sane

if [ $UID != 0 ]; then
echo "You must run this script as root."
exit 1
fi

if [ -d "$tmp/install-chrome" ]; then # check for and create temp dir
# Will enter here if dir doesn't exist
rm -R $tmp/install-chrome # hope you didn't have anything
mkdir $tmp/install-chrome # stored there
else
mkdir $tmp/install-chrome
fi

#------------------------------------------#

function dotests {

echo Running tests...
#------------------------------------------#
# check for lzma

haveLZMA=`which lzma` # check for and getting lzma
if [ "$haveLZMA" == "" ]; then
slapt-get --install lzma
fi

#------------------------------------------#

#------------------------------------------#
# check for nss = 3.12.3

nssInstalled=`slapt-get --search nss-3.12.3` # I really need to check the version
nssInstalled=${nssInstalled#*=} # as well, but this build seems to
nssInstalled=${nssInstalled%]*} # work best with 3.12.3

if [ "$nssInstalled" != "yes" ]; then
installnss
fi
simlinks
}
#------------------------------------------#


function simlinks {
cd /usr/lib
if [ ! -f "libnspr4.so.0d" ]; then
ln -s libnspr4.so libnspr4.so.0d
fi

if [ ! -f "libnss3.so.1d" ]; then
ln -s libnss3.so libnss3.so.1d
fi

if [ ! -f "libnssutil3.so.1d" ]; then
ln -s libnssutil3.so libnssutil3.so.1d
fi

if [ ! -f "libplc4.so.0d" ]; then
ln -s libplc4.so libplc4.so.0d
fi

if [ ! -f "libplds4.so.0d" ]; then
ln -s libplds4.so libplds4.so.0d
fi

if [ ! -f "libsmime3.so.1d" ]; then
ln -s libsmime3.so libsmime3.so.1d
fi

if [ ! -f "libssl3.so.1d" ]; then
ln -s libssl3.so libssl3.so.1d
fi

installchrome
}

function installnss {

cd $tmp/install-chrome
wget $nssURL/$nssPackage
if [ ! -f "$nssPackage" ]; then
echo "For some reason wget didnt pull nss from Connies"
echo "slackware site"
exit 1
fi
installpkg $nssPackage

rm $nssPackage
simlinks
}

function installchrome {

cd $tmp/install-chrome
wget $chromeURL/$chromePackage

if [ ! -f "$chromePackage" ]; then # quit running if wget failed
echo "Something went wrong while retrieving" # and kick out a sane error msg
echo "Google Chrome"
exit 1
fi

echo "Unpacking the deb file"
ar -x $tmp/install-chrome/$chromePackage

if [ ! -f "data.tar.lzma" ]; then # quit running if ar failed
echo "Something went wrong while unpacking" # and kick out a sane error msg
echo "the .deb file"
exit 1
fi

echo "Extracting Google Chrome"
lzma -d data.tar.lzma
if [ ! -f "data.tar" ]; then # quit running if lzma failed
echo "Something went wrong while extracting" # and kick out a sane error msg
echo "Google Chrome"
exit 1
fi

cd /
echo "Installing Google Chrome"

tar xf $tmp/install-chrome/data.tar
if [ ! -f "/opt/google/chrome/google-chrome" ]; then # let me know if chrome wasn't
echo "Installation failed while" # installed correctly
echo "moving files"
exit 1
fi

if [ "$enablePlugins" = "--enable-plugins" ]; then
IFS='
'
file=( $( < /opt/google/chrome/google-chrome.desktop ) )
file[5]="Exec=/opt/google/chrome/google-chrome --enable-plugins %U"
echo "${file[*]}" > /usr/share/applications/google-chrome.desktop
echo "Desktop Menu created with Plugin support"
echo "Installation complete"
quit
else
cp /opt/google/chrome/google-chrome.desktop /usr/share/applications/google-chrome.desktop
echo "Desktop Menu created without Plugin support"
echo "Installation complete"
echo
echo "to enable flash type google-chrome --enable-plugins"
quit
fi

}

function quit {
exit 0
}

function main {
echo
echo "WARNING WARNING WARNING WARNING WARNING"
echo "This script may severely damage your system"
echo "Dont say I didnt WARN you"
echo
echo "Are you sure you want me to Monkey with your System? [yes/no]"
echo "[for your safety you must type yes to proceed]"
echo

read YN
if [ "$YN" = "yes" ]; then
if [ -d "/opt/google/chrome" ]; then
echo "Looks like Google Chrome is already installed"
echo "Do you want to remove it and reinstall? [yes/no]"
read yn
if [ "$yn" = "yes" ]; then
rm -R /opt/google/chrome
rm /usr/share/applications/google-chrome.desktop
dotests
else
quit
fi
else
dotests
fi
elif [ "$YN" = "no" ]; then
quit
else
main
fi
quit
}

main
exit
I'd be interested in hearing if brokndodge's script works for other Slackware user's

Once you have the first script ran and Google Chrome installed then this script can keep you updated with the latest version.

Code:
#!/bin/bash
# Title: update-chrome
# Author: BroknDodge
# License: BSD
# Version: 0.0.1

# http://dl.google.com/linux/deb/dists/stable/main/binary-i386/Packages.gz
# http://dl.google.com/linux/deb/dists/pool/main/g/google-chrome-unstable/google-chrome-unstable_3.0.196.0-r22005_i386.deb

#----------------------------------------#
# Settings

url="http://dl.google.com/linux/deb/"
tmp="/tmp"

#----------------------------------------#

#----------------------------------------#
# Testing the Environment

if [ $UID != 0 ];then # test for root
echo "You must run this script as root."
exit 0
fi

if [ ! -d "$tmp/update-chrome" ]; then
# Will enter here if dir doesn't exist
mkdir $tmp/update-chrome
fi

cd $tmp/update-chrome

if [ -f "Packages" ]; then
#checking to see if Packages exists
mv Packages Packages.installed
fi

#----------------------------------------#

function check-update {
wget http://dl.google.com/linux/deb/dists/stable/main/binary-i386/Packages.gz
gunzip Packages.gz

if [ ! -f "Packages.installed" ]; then
update
fi

version=`grep 'Version:' Packages`
version=${version#*:}
read -rd '' version <<< "$version"

VersionInstalled=`grep 'Version:' Packages.installed`
VersionInstalled=${VersionInstalled#*:}
read -rd '' VersionInstalled <<< "$VersionInstalled"

if [ "$version" == "$VersionInstalled" ]; then
echo Google Chrome is Up to Date
rm Packages
quit
else
echo $VersionInstalled is installed, but $version is available
echo Updating
update
fi

}

function update {

filename=`grep 'Filename:' Packages` # assign grep output to a variable
filename=${filename#*:}
read -rd '' filename <<< "$filename" # remove white space from a variable

mkdir tmp
cd tmp
wget $url$filename

rm -R /opt/google/chrome # get rid of the previous install
# don't worry settings are stored in $HOME dir
cd $tmp/update-chrome/tmp

echo Unpacking the deb file...
ar -x ${filename##*/}
echo Extracting Google Chrome...
lzma -d data.tar.lzma
cd /
echo Updating Google Chrome...

tar xf $tmp/update-chrome/tmp/data.tar
cd $tmp/update-chrome
mv Packages Packages.installed
VersionInstalled=`grep 'Version:' Packages.installed`
filename=${VersionInstalled#*:}
read -rd '' VersionInstalled <<< "$VersionInstalled"
echo Google Chrome updated to version "$VersionInstalled"
rm -R tmp

quit
}

function quit {
exit 0
}

function main {
check-update
}

main
exit
Brokndodge my hat is off to you.
You can see the original thread at VectorLinux Forum. Google Chrome Linux
 
Old 09-14-2009, 12:08 PM   #2
pwc101
Senior Member
 
Registered: Oct 2005
Location: UK
Distribution: Slackware
Posts: 1,847

Rep: Reputation: 128Reputation: 128
I wrote a SlackBuild script to do something similar some time ago. It's been submitted for approval to SlackBuilds.org, but I think they're pretty busy, so I haven't heard anything yet. brokndodge came along and made a few suggestions to that thread.

http://www.linuxquestions.org/questi...kbuild-744764/
 
Old 10-01-2009, 05:01 PM   #3
neymac
Member
 
Registered: May 2009
Distribution: Slackware64-14.0
Posts: 116

Rep: Reputation: 12
I have Google-Chrome installed (google-chrome - 4.0.202.2) in Slackware-12.2.
Download tgz package from http://www.slacky.eu/aadm/pkgs/index.php?ver=6&pkg=2674
The dependencies I got from there as well.

Dependencies:
amrnb, amrwb, dirac, faac, ffmpeg, gconf, lame, libgsm, orbit2, schroedinger, speex, x264, xvidcore

It works very well.

Last edited by neymac; 10-02-2009 at 05:57 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Installing Google Chrome on Slackware goossen Linux - Software 6 04-14-2010 09:54 AM
Will Chrome OS be Linux based? abefroman Linux - Software 2 07-08-2009 07:56 AM
LXer: Introducing the Google Chrome [Linux - ed.] OS LXer Syndicated Linux News 0 07-08-2009 06:50 AM
LXer: Google Chrome . . . for Linux?! LXer Syndicated Linux News 0 09-20-2008 09:50 AM
LXer: Running Google Chrome on Linux LXer Syndicated Linux News 0 09-16-2008 08:10 AM


All times are GMT -5. The time now is 08:19 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration