Opera Developer no Slackware
Publicado por edps em 04/05/2015
[ Hits: 4.021 ]
Blog: https://edpsblog.wordpress.com/
#!/bin/bash # latest-opera Version 2.0RC3 # This script will find the latest Opera Developer binary package, # download it and repackage it into Slackware format. # Copyright 2015 Ruari Oedegaard, Oslo, 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. # # now, version 30.0.1835.6 on Slackware. # changes by edps: http://edpsblog.wordpress.com # # Check if the user asked for auto-install if [ "$1" = "-i" -o "$1" = "--install" ]; then if [ "$UID" = "0" ]; then AUTO_INSTALL=Y else echo "You must be root to auto-install, $1 ignored!" >&2 AUTO_INSTALL=N fi else AUTO_INSTALL=N fi # Use the architecture of the current machine or whatever the user has # set externally ARCH=${ARCH:-$(uname -m)} case "$ARCH" in x86_64) DEBARCH=amd64; LIBDIRSUFFIX="64" ;; i?86) DEBARCH=i386; LIBDIRSUFFIX="" ;; *) echo "The architecture $ARCH is not supported." >&2 ; exit 1 ;; esac # Work out the latest stable Opera if VERSION is unset VERSION=$(wget -qO- http://deb.opera.com/opera/dists/stable/non-free/binary-$DEBARCH/Packages.gz | gzip -d | grep -A1 -x "Package: opera-developer" | sed -n "/Version/s/.* //p") # 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 # Don't start repackaging if the same version is already installed if /bin/ls /var/log/packages/opera-$VERSION-* >/dev/null 2>&1 ; then echo "Opera ($VERSION) is already installed; exiting" exit 0 fi CWD=$(pwd) TMP=${TMP:-/tmp} OUTPUT=${OUTPUT:-/tmp} BUILD=${BUILD:-1} # TAG=${TAG:-ro} ### set TAG to default _SBo: TAG=${TAG:-_SBo} # PKGTYPE=${PKGTYPE:-tgz} ### set crompression format to .txz: PKGTYPE=${PKGTYPE:-txz} PACKAGE="$OUTPUT/opera-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" OPERA_DEB=opera-developer_${VERSION}_${DEBARCH}.deb # 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-opera-developer # 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. mkpkg() { if [ "$1" = "-n" ]; then TAROWNER="" shift 1 else TAROWNER="--group 0 --owner 0" fi if find * -type l | grep -qm1 .; then mkdir -p install find * -type l -printf '( cd %h ; rm -rf %f )\n( cd %h ; ln -sf %l %f )\n' -delete > install/symlinks if [ -f "install/doinst.sh" ]; then printf '\n' | cat - install/doinst.sh >> install/symlinks fi mv install/symlinks install/doinst.sh fi case "$1" in *tbz) cmp=bzip2 ;; *tgz) cmp=gzip ;; *tlz) cmp=lzma ;; *txz) cmp=xz ;; *) echo "Unknown compression type" >&2 ; exit 1 ;; esac tar cvvf - . --format gnu --xform 'sx^\./\(.\)x\1x' --show-stored-names $TAROWNER | $cmp > "$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 # later be moved into the doc directory. install -m 644 "${0}" "$REPACKDIR/src/$SCRIPT" # Check if the current directory contains the Opera binary package, # otherwise download it. if [ -e $OPERA_DEB ]; then cp $OPERA_DEB "$REPACKDIR/src/" else wget -c -P "$REPACKDIR/src" http://deb.opera.com/opera/pool/non-free/o/opera-developer/$OPERA_DEB 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 Opera binary package ar p "../src/$OPERA_DEB" data.tar.xz | xz -d | tar -xf- \ --transform="s,/lib/.*-linux-gnu,/lib$LIBDIRSUFFIX," \ --exclude="./usr/share/lintian" --exclude="./usr/share/menu" # Move any doc directory to the correct Slackware location if [ -d usr/share/doc ]; then mv usr/share/doc usr/ find usr/doc -maxdepth 1 -type d -name "opera*" -exec mv {} usr/doc/tmp \; fi mkdir -p usr/doc/tmp mv usr/doc/tmp usr/doc/opera-$VERSION # Copy this script into the doc directory mkdir -p usr/doc/opera-$VERSION cp ../src/$SCRIPT usr/doc/opera-$VERSION/$SCRIPT # 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------------------------------------------------------| opera: opera (Fast and secure web browser) opera: opera: Opera is a fast, secure, and user-friendly web browser. It includes opera: web developer tools, news aggregation, and the ability to compress opera: data via Opera Turbo on congested networks. opera: opera: opera: opera: opera: Homepage: http://www.opera.com/computer/linux opera: EOD # Make sure the file permissions are ok chmod -R u+w,go+r-w,a-s . # opera_sandbox needs to be setuid root for Opera to run # chmod 4711 usr/lib$LIBDIRSUFFIX/opera/opera_sandbox ### modify by follow line: find . -name 'opera_sandbox' -exec chmod 4711 {} \; # Create the Slackware package # mkpkg "$PACKAGE" ### modify by follow line: makepkg -l y -c n "$PACKAGE" # Install if the user requested it if [ $AUTO_INSTALL = "Y" ]; then /sbin/upgradepkg --install-new "$PACKAGE" fi
Debian Squeeze com kernel 3.0.4
Instalação do Google Chrome no Debian Squeeze
Jogo Pokémon Golden Sky no Linux
Pacote BrOffice 3.0.0 para Slackware Linux
Clarkconnect - Gerencie seu servidor Linux pela web
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Remoção de propaganda com o programa Comskip[AJUDA] (2)
Linux Lite Demorando Muito Para Ligar (0)
PC não liga no filtro de linha (3)