Problema com o script para baixar o google chrome- Slackware [RESOLVIDO]

1. Problema com o script para baixar o google chrome- Slackware [RESOLVIDO]

Rogerio Leiro Fontan
RLFontan

(usa elementary OS)

Enviado em 19/09/2015 - 23:35h

Seguindo o video numero um de gerenciamento de pacotes da boson-treinamentos, eu estava la de boa aprendendo os primeiro passos de como gerenciar pacotes no Slackware, baixei o Script, depois baixei o google chrome amd_64.deb , coloquei no mesmo diretorio, e se seguiu esse erro:

bash-4.2# ./google-chrome.SlackBuild
ar: /root/Downloads/google-chrome-stable_current_i386.deb: Arquivo ou diretório não encontrado
lzma: (stdin): File format not recognized
tar: Este não parece ser um arquivo-tar
tar: Exiting with failure status due to previous errors

Alguem pode me ajudar? Obrigado

PS: A impressao que eu tenho e que o script ta bugado, e ao inves de procurar o script compativel com meu sistema de bits esta procurando sempre o contrario.

Obrigado


  


2. Re: Problema com o script para baixar o google chrome- Slackware

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/09/2015 - 23:56h

Você instalou o sistema de 32 bits? Pois o script identifica a arquitetura da máquina antes de proceder com a extração do google chrome. Se você usa sistema 32 bits, baixe o google chrome de 32 bits.

PS: pra tirar a dúvida, rode o comando uname -m


3. Re: Problema com o script para baixar o google chrome- Slackware [RESOLVIDO]

Rogerio Leiro Fontan
RLFontan

(usa elementary OS)

Enviado em 20/09/2015 - 00:18h

Eitaaaaaaaaaaaaa, verdade cara, obrigado, vou formatar a maquina e gravar outro cd.


4. Re: Problema com o script para baixar o google chrome- Slackware

Eric
Grinder

(usa Slackware)

Enviado em 20/09/2015 - 01:31h

Cria um arquivo com a extensão .sh por exemplo google-chrome.sh e cole esse conteúdo dentro do arquivo e salve. Depois de salvar vai no terminal no lugar aonde está o google-chrome.sh e digite.

Como root
chmod +x google-chrome.sh 

./google-chrome.sh 


Depois que terminar vai criar um pacote .txz na pasta /tmp
Basta instalar com o comando
installpkg /tmp/google-etc-etc-etc.txz 


Conteúdo do do google-chrome.sh

#!/bin/bash
# latest-chrome Version 1.0RC8

# This script will find the latest Google Chrome binary package,
# download it and repackage it into Slackware format.

# I don't use Chrome for regular browsing but it is handy for
# comparative tests against Opera. :P

# Copyright 2013 Ruari Oedegaard, Olso, Norway
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Use the architecture of the current machine or whatever the user has
# set externally
ARCH=${ARCH:-$(uname -m)}

if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
elif [[ "$ARCH" = i?86 ]]; then
ARCH=i386
LIBDIRSUFFIX=""
else
echo "The architecture $ARCH is not supported." >&2
exit 1
fi

# Work out the latest stable Google Chrome if VERSION is unset
VERSION=${VERSION:-$(wget -qO- https://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm | head -c96 | strings | rev | awk -F"[:-]" '/emorhc/ { print $1 "-" $2 }' | rev)}

# Error out if $VERISON is unset, e.g. because previous command failed
if [ -z $VERSION ]; then
echo "Could not work out the latest version; exiting" >&2
exit 1
fi

if echo $VERSION | grep -Fq '-'; then
GOOGLEREVISION=${VERSION#*-}
VERSION=${VERSION%-*}
else
GOOGLEREVISION=""
fi

# Don't start repackaging if the same version is already installed
if /bin/ls /var/log/packages/google-chrome-$VERSION-* >/dev/null 2>&1 ; then
echo "Google Chrome ($VERSION) is already installed; exiting"
exit 0
fi

CWD=$(pwd)
TMP=${TMP:-/tmp}
OUTPUT=${OUTPUT:-/tmp}
BUILD=${BUILD:-1}
TAG=${TAG:-ro}
PKGTYPE=${PKGTYPE:-tgz}
PACKAGE="$OUTPUT/google-chrome-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"

# If the package was made previously, no need to make it again. ;)
if [ -e "$PACKAGE" ]; then
echo "$PACKAGE already exists; exiting"
exit 0
fi

REPACKDIR=$TMP/repackage-google-chrome

# Define this script's name as we will copy into doc directory later on
SCRIPT="${0##*/}"

# This function can be used in place of Slackware's makepkg, with the
# added bonus that it is able to make packages with root owned files
# even when run as a regular user.
makepkg() {

# Handle Slackware's makepkg options
while [ 0 ]; do
if [ "$1" = "-p" -o "$1" = "--prepend" ]; then
# option ignored, links are always prepended
shift 1
elif [ "$1" = "--linkadd" -o "$1" = "-l" ]; then
if [ "$2" = "n" ]; then
echo "\"$1 $2\" ignored, links are always converted" >&2
fi
shift 2
elif [ "$1" = "--chown" -o "$1" = "-c" ]; then
SETPERMS="$2"
shift 2
else
break
fi
done

# Change any symlinks into shell script code
find * -type l -printf '( cd %h ; rm -rf %f )\n( cd %h ; ln -sf %l %f )\n' -delete > doinst.symlinks
if grep -q . doinst.symlinks; then
mkdir -p install
mv doinst.symlinks install/.
else
rm -f doinst.symlinks
fi

# Prepend symlink shell script to doinst.sh
if [ -e install/doinst.sh -a -e install/doinst.symlinks ]; then
printf "\n" | cat - install/doinst.sh >> install/doinst.symlinks
fi
if [ -e install/doinst.symlinks ]; then
mv install/doinst.symlinks install/doinst.sh
fi

# Reset permissions and ownership
if [ "${SETPERMS:-y}" = "y" ]; then
find . -type d -exec chmod 755 {} \;
TAROWNER="--group 0 --owner 0"
else
TAROWNER=""
fi

# Create package using tar 1.13 directory formatting
tar $TAROWNER --format=gnu --transform="s,^\./\(.\),\1," --show-stored-names -cavvf "$1" .
echo "Slackware package $1 created."

}

# Since packaging is about to begin errors become more important now,
# so exit if things fail.
set -eu

# If the repackage is already present from the past, clear it down
# and re-create it.
if [ -d "$REPACKDIR" ]; then
rm -fr "$REPACKDIR"
fi

mkdir -p "$REPACKDIR"/{pkg/install,src}

# Save a copy if this script but remove execute persmissions as it will
# larer be moved into the doc directory.
install -m 644 "${0}" "$REPACKDIR/src/$SCRIPT"

# Check if the current directory contains the correct Google Chrome
# binary package, otherwise download it. Then check that it matches the
# version number defined.
if [ -e google-chrome-stable-${VERSION}-${GOOGLEREVISION}.${ARCH}.rpm ]; then
(
cd "$REPACKDIR/src/"
ln -s "$CWD/google-chrome-stable-${VERSION}-${GOOGLEREVISION}.${ARCH}.rpm" google-chrome-stable-${VERSION}-${GOOGLEREVISION}.${ARCH}.rpm
)
else
echo "Downloading Google Chrome ${VERSION} for ${ARCH}"
if echo $GOOGLEREVISION | grep -q .; then
wget https://dl.google.com/linux/chrome/rpm/stable/${ARCH}/google-chrome-stable-${VERSION}-${GOOGLEREVISI... -P "$REPACKDIR/src/"
else
wget https://dl.google.com/linux/direct/google-chrome-stable_current_${ARCH}.rpm -O "$REPACKDIR/src/google-chrome-stable_current_${ARCH}.rpm"
DOWNLOADVERSION=$(head -c96 "$REPACKDIR/src/google-chrome-stable_current_${ARCH}.rpm" | strings | rev | awk -F"[:-]" '/emorhc/ { print $2 }' | rev)
if [ ! "$VERSION" = "$DOWNLOADVERSION" ]; then
echo "The version downloaded ($DOWNLOADVERSION) is different from the version defined ($VERSION)" >&2
exit 1
fi
fi
fi

# Now we have all the sources in place, switch to the package directory
# and start setting things up.
cd "$REPACKDIR/pkg"

# Extract the contents of the Google Chrome binary package
if [ -x /usr/bin/bsdtar ]; then
bsdtar xf ../src/google-chrome-stable*${ARCH}.rpm
elif [ -x /usr/bin/rpm2cpio ]; then
rpm2cpio ../src/google-chrome-stable*${ARCH}.rpm | cpio --quiet -id
else
# Since the user has not installed libarchive or rpm, use a hack to extract the rpm contents
RPMHDRLGTH=$(LANG=C grep -abom1 '.7zXZ\|BZh9' ../src/google-chrome-stable*${ARCH}.rpm)
case "$RPMHDRLGTH" in
*7zXZ) COMPRESSOR=xz ;;
*BZh9) COMPRESSOR=bzip2 ;;
*) echo "Unknown compression type in rpm!" >&2; exit 1 ;;
esac
tail -c+$[${RPMHDRLGTH%:*}+1] ../src/google-chrome-stable*${ARCH}.rpm | $COMPRESSOR -d | cpio --quiet -id
fi

# Remove ./etc as it contains a cron job for updating rpm systems
rm -fr etc

# Move any man directories to the correct Slackware location
if [ -d usr/share/man ]; then
mv usr/share/man usr/
fi

# Compress any uncompressed man pages
find usr/man -type f -name "*.1" -exec gzip -9 {} \;
for link in $(find usr/man -type l) ; do
ln -s $(readlink $link).gz $link.gz
rm $link
done

# Move any doc directory to the correct Slackware location
if [ -d usr/share/doc ]; then
mv usr/share/doc usr/
find usr/doc -type d -name "google-chrome*" -maxdepth 1 -exec mv {} usr/doc/tmp \;
fi
mkdir -p usr/doc/tmp
mv usr/doc/tmp usr/doc/google-chrome-$VERSION

# Copy this script into the doc directory
cp ../src/$SCRIPT usr/doc/google-chrome-$VERSION/$SCRIPT

# Replace google-chrome executable symlink, with a relative one
if [ -h usr/bin/google-chrome ]; then
rm usr/bin/google-chrome
(
cd usr/bin
ln -fs ../../opt/google/chrome/google-chrome google-chrome
)
fi

# Symlink desktop file
if [ ! -e usr/share/applications/google-chrome.desktop ]; then
mkdir -p usr/share/applications
(
cd usr/share/applications
ln -s ../../../opt/google/chrome/google-chrome.desktop google-chrome.desktop
)
fi

# Symlink desktop environment icons
for png in opt/google/chrome/product_logo_*.png; do
pngsize="${png##*/product_logo_}"
mkdir -p usr/share/icons/hicolor/${pngsize%.png}x${pngsize%.png}/apps
(
cd usr/share/icons/hicolor/${pngsize%.png}x${pngsize%.png}/apps/
ln -s ../../../../../../opt/google/chrome/product_logo_${pngsize} google-chrome.png
)
done

# Now create the post-install to register the desktop file and icons.
cat <<EOS> install/doinst.sh
# Setup menu entries
if command -v update-desktop-database >/dev/null 2>&1; then
update-desktop-database -q usr/share/applications
fi

# Setup icons
touch -c usr/share/icons/hicolor
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
gtk-update-icon-cache -tq usr/share/icons/hicolor
fi
EOS

# Create a description file inside the package.
cat <<EOD> install/slack-desc
|-----handy-ruler------------------------------------------------------|
google-chrome: google-chrome (Google Chrome web browser)
google-chrome:
google-chrome: Google Chrome is a web browser that combines a minimal design with
google-chrome: sophisticated technology to make the web faster, safer, and easier.
google-chrome:
google-chrome:
google-chrome:
google-chrome:
google-chrome:
google-chrome: Homepage: http://www.google.com/chrome
google-chrome:
EOD

# Make sure the file permissions are ok
chmod -R u+w,go+r-w,a-s .

# chrome-sandbox needs to be setuid root for Google Chrome to run
chmod 4711 opt/google/chrome/chrome-sandbox

# Create the Slackware package
makepkg --linkadd y --prepend --chown y "$PACKAGE"



5. Re: Problema com o script para baixar o google chrome- Slackware

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/09/2015 - 12:49h

^bacana esse script.

esse aqui eu fiz faz um tempo, para verificar se a versão do chrome instalado é a versão mais recente, e então ele move o novo chrome para a pasta SlackBuilds do usuário;

#!/bin/sh

TYPE=stable
PROG=google-chrome-${TYPE}
TMP=$(mktemp -d /tmp/Chrome.XXXXXX)
ARCH=$(uname -m)
OLDVERSION=$(${PROG} --version | egrep -o '[0-9|.]+')
SlackBuilds=~/SlackBuilds
VERBOSE=${1:-0}
MV_O="-v"

case $ARCH in
i?86) DEBARCH="i386"
;;
x86_64) DEBARCH="amd64"
;;
*) echo "$0: $ARCH: arquitetura inválida" >&2 ; rm -rf "$TMP" ; exit 1
;;
esac

(( VERBOSE )) && \
echo "++ OLD VERSION = ${OLDVERSION}"

DOWNLOAD="https://dl.google.com/linux/direct/${PROG}_current_${DEBARCH}.deb"


cd "$TMP"
wget -c --timeout=5 --no-check-certificate -q "$DOWNLOAD" || exit 1;
NEWVERSION=$(ar p ${PROG}_current_${DEBARCH}.deb control.tar.gz 2> /dev/null | tar zxO ./control 2> /dev/null | grep Version | awk '{print $2}' | cut -d- -f1)

(( VERBOSE )) && \
echo "++ NEW VERSION = ${NEWVERSION}"

if [[ "$OLDVERSION" != "$NEWVERSION" ]]; then
(( ! VERBOSE )) && {
MV_O=""
kdialog --title "Atualização do Google Chrome" \
--passivepopup "Versão atual: ${OLDVERSION}\nVersão nova: ${NEWVERSION}"
}
mv ${MV_O} ${PROG}_current_${DEBARCH}.deb ${SlackBuilds}/google-chrome
fi

rm -rf "$TMP"


*LEMBRETE: o script google-chrome.SlackBuild da versão 14.1 do Slackware não funciona mais. Use o script do current:
http://ftp.slackware.com/pub/slackware/slackware-current/extra/google-chrome/google-chrome.SlackBuil...



6. Re: Problema com o script para baixar o google chrome- Slackware [RESOLVIDO]

Rogerio Leiro Fontan
RLFontan

(usa elementary OS)

Enviado em 23/09/2015 - 07:20h

RESOLVIDO!!! Instalei Slackware 64-Bits e usando script recomendado pelo ru4n deu tudo certo! Obrigado pessoal!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts