asbuild (Auto-SlackBuild)

Publicado por Perfil removido (última atualização em 27/10/2014)

[ Hits: 3.793 ]

Download asbuild




O "asbuild" (abreviação para "Auto-SlackBuild") é um script criado com a finalidade de automatizar a instalação de pacotes do SlackBuild no Slackware;
Em poucas palavras, você precisa apenas baixar o SlackBuild do programa que deseja instalar, baixar o fonte deste programa e por fim, rodar este script.

Sintaxe de uso:

# ./asbuild <slackbuild>

Onde <slackbuild> é o SlackBuild do programa que você deseja instalar (lembre-se de ativar a permissão de execução no script).

Exemplo:

Suponhamos que você queira instalar o Leafpad (editor de textos) no seu sistema usando este script.
A primeira coisa que você deve fazer é acessar o site dos SlackBuilds (slackbuilds.org) e, no campo de buscas, digitar "leafpad";

Em seguida, você será apresentado à pagina de download do SlackBuild e do fonte do pacote (Leafpad), agora, você deve fazer o download de ambos os pacotes (leafpad-0.8.18.1.tar.gz e leafpad.tar.gz) e por fim, rodar o comando "./asbuild leafpad.tar.gz".

Dica final:

Caso você queira "instalar" o script, a fim de poder executá-lo de qualquer lugar do sistema, rode o comando abaixo:

# cp asbuild /usr/local/bin

Enjoy!

  



Esconder código-fonte

#!/bin/bash

# NOTA:
# Eu não incluí os comentários do código aqui por questões de visualização,
# mas eles estão disponíveis no script anexado para download desta página;

###########################################################
###   ::: SCRIPT: ASBUILD (AUTO-SLACKBUILD)
###   ::: AUTOR : UNNSLACKER
###   :::
###   ::: NOTAS :
###   ::: #1 - ESTE SCRIPT É DISTRIBUÍDO SOB A GNU
###   :::        GENERAL PUBLIC LICENCE version 2 (GPLv2),
###   :::        DISPONÍVEL NO SITE DA FSF;
###   ::: #2 - NÃO ME RESPONSABILIZO POR POSSÍVEIS DANOS
###   :::        CAUSADOS EM SEU SISTEMA POR ESTE SCRIPT,
###   :::        SEJA INTENCIONALMENTE OU NÃO; USE-O POR
###   :::        SUA PRÓPRIA CONTA E RISCO;
###########################################################


export file=""

if [ $# -eq "0" ]
then
    echo
    echo "Falta arquivo"
    echo
    exit
elif [ $# -gt "1" ]
then
    echo
    echo "Excesso de arquivos"
    echo
    exit
else
    export file=$1
fi

home()
{
    if [ -e $file ]
    then
        if [ -d $file ]
        then
            echo
            echo "O arquivo selecionado"
            echo "não pode ser um diretório!"
            echo
            exit
        fi
    else
        echo
        echo "Arquivo '$file' não existe"
        echo
        exit
    fi

    ls . | grep $file
    if [ $? -eq "0" ]
    then
        echo $file > temp_file
        comp;
    else
        echo
        echo "O script deve ser executado"
        echo "no mesmo diretório do fonte"
        echo "e do slackbuild"
        echo
        exit
    fi
}

comp()
{
    tar -zxvf $file
    if [ $? -ne "0" ]
    then
        rm temp_file
        echo
        echo "Erro ao descompactar o arquivo '$file'"
        echo
        exit
    fi

    export sfix=".tar.gz"
    export afix=""
    export word=""
    export chars=`wc -c temp_file | awk '{print $1}'`
    export posix=""

    for i in `seq $chars`
    do
        export word=`cut -c $i-$((i+6)) temp_file`
        case $word in
            $sfix)
                export posix=$i
                export posix=$((posix-1))
            ;;
        esac
    done

    export afix=`cut -c 1-$posix temp_file`
    rm temp_file

    if [ -e $afix-* ]
    then
        build;
    else
        rm -rf $afix
        echo
        echo "O pacote do fonte não corresponde"
        echo "com o pacote do slackbuild ou não"
        echo "foi encontrado"
        echo
        exit
    fi
}

build()
{
    rm $file
    mv $afix-* $afix
    cd $afix
    ./$afix.SlackBuild
    installpkg /tmp/$afix-*
    cd ..
    rm -rf $afix
}

home;

Scripts recomendados

string_out: remova a primeira ocorrência de uma string em um arquivo de texto

Display números digital no terminal

Medidor de temperatura do CPU

Script para gravar CD

Script para calcular a media área de cobertura de impressão (toner ou tinta)


  

Comentários
[1] Comentário enviado por moisespedro em 04/11/2014 - 20:58h

Recomendo comecar com um "set -e" para evitar que o script continue em caso de erros (qualquer erro).

[2] Comentário enviado por removido em 04/11/2014 - 21:32h

Opa, valeu pela dica; estou pensando em fazer alguns incrementos nele futuramente e sua sugestão com certeza será incluída. Obrigado;


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts