Criação de ports para slackware

Publicado por Douglas Giorgio Fim (última atualização em 18/02/2011)

[ Hits: 4.362 ]

Homepage: http://freebsdwallpapers.blogspot.com/

Download dgfportscreate.sh




Crie ports no Slackware com este script.

Mais detalhes sobre o uso, digite:

./dgfportscreate -h

  



Esconder código-fonte

#!/bin/bash
# -----------------------------------------------------------------------
# - Feito por: Douglas Giorgio Fim               -
# - E-mail: [email protected]               -
# - Programa: dgfports                     -
# - Versao: x.x                        -
# -                           -
# - Este script pode ser alterado e distribuido por qualquer pessoa,   -
# - desde que este quadro se mantenha inalterado.         -
# -                           -
# - Obs.:   Este script foi desenvolvido para criação de ports com    -
# -       scripts do slackbuilds.org.               -
# -       Estes scripts não resolvem dependencias.      -
# -       Não me responsabiliso pelas alterações do usuário.   -
# -----------------------------------------------------------------------
#
# recomendo alterar somente as variaveis.

DIRPORTS=/usr/local/dgfports # defina aqui o diretorio padrão do ports, evite colocar diretorio existente.
SLACK_VERSION=13.1 # defina aqui a versão de seu slackware, esse valor tem que ser o mesmo do slackbuilds.org

# script direcionado para download.sh
EXAMPLE_SCRIPT='
#!/bin/bash

ARCH=`uname -m`

case $1 in
  -h|help|-help|--help)
      echo "
   Download SlackBuild script -> download program
   ./download.sh

   Download SlackBuild script -> download program -> run SlackBuild script
   ./download.sh makepkg

   Install Package
   ./download.sh installpkg

   Download SlackBuild script -> Download program -> run SlackBuild script -> Install Package
   ./download.sh all

   Clean
   ./download.sh clean
       "
      exit 1
      ;;

  clean)
      for i in `ls | grep -v download.sh`; do  rm -rf $i ; done
      exit 1
      ;;

esac
'

# script direcionado para download.sh
EXAMPLE_SCRIPT2='
PRGNAM=`more *.info | grep PRGNAM | cut -d= -f2 | sed s/\"//g`
VERSION=`more *.info | grep VERSION | cut -d= -f2 | sed s/\"//g`
LINK1=`more *.info | grep DOWNLOAD_x86_64= | cut -d= -f2 | sed s/\"//g`
LINK2=`more *.info | grep DOWNLOAD= | cut -d= -f2 | sed s/\"//g`

if [ "$ARCH" == "x86_64" ]; then
  if [ "$LINK1" == "" ];then
    LINK_DOWNLOAD="$LINK2"
  else
    LINK_DOWNLOAD="$LINK1"
  fi
else
  LINK_DOWNLOAD="$LINK2"
fi

case $1 in

  makepkg) 
      wget -c "$LINK_DOWNLOAD"
      chmod +x ./$PRGNAM.SlackBuild ; ./$PRGNAM.SlackBuild
      exit 1
      ;;

  installpkg) 
      installpkg /tmp/$PRGNAM-$VERSION-$ARCH-*.t?z
      exit 1
      ;;

  all) 
      wget -c "$LINK_DOWNLOAD"
      chmod +x ./$PRGNAM.SlackBuild ; ./$PRGNAM.SlackBuild && installpkg /tmp/$PRGNAM-$VERSION-`uname -m`-*.t?z
      exit 1
      ;;

esac

wget -c "$LINK_DOWNLOAD"
'

# parametro para remoção do ports
if [ "$1" == -r ]; then
  echo "Removendo o DGFPorts..."
  rm -rf $DIRPORTS
  echo "Remoção concluida!"
  exit 1
fi

mkdir -p "$DIRPORTS" || exit 1
cd "$DIRPORTS" || exit 1

rm -rf SLACKBUILDS.TXT*
wget ftp://slackbuilds.org/$SLACK_VERSION/SLACKBUILDS.TXT
mkdir -p "$DIRPORTS/DISTFILES"

# cria os diretorios, não é recomendavel alterar
more SLACKBUILDS.TXT | for i in `grep LOCATION: | awk '{print $3}'` ; do mkdir -pv $i ;done 

# função criada para criação de novas funções ao script
RECURS() {
  for DIR in `ls -l "$DIRPORTS" | grep "^d" | grep -v DISTFILES | awk '{print $9}'` ; do 
    cd "$DIRPORTS/$DIR" 
    for SUB_DIR in `ls -l "$DIRPORTS/$DIR" | grep "^d" | grep -v DISTFILES | awk '{print $9}'` ; do 
      cd "$DIRPORTS/$DIR/$SUB_DIR"
      $*
    done 
  done
}
# Exemplo de uso:
#
# RECURS 'touch download.sh'
# RECURS 'chmod +x download.sh'

# remoção e criação de scripts, não é recomendavel alterar
for DIR in `ls -l "$DIRPORTS" | grep "^d" | grep -v DISTFILES | awk '{print $9}'` ; do 
  cd "$DIRPORTS/$DIR" 
  for SUB_DIR in `ls -l "$DIRPORTS/$DIR" | grep "^d" | grep -v DISTFILES | awk '{print $9}'` ; do 
    cd "$DIRPORTS/$DIR/$SUB_DIR"
    echo "Removendo script $DIRPORTS/$DIR/$SUB_DIR/download.sh"
    rm -rf download.sh
    echo "Criando script $DIRPORTS/$DIR/$SUB_DIR/download.sh"
    touch download.sh
    chmod +x download.sh
    echo "$EXAMPLE_SCRIPT" >> download.sh
    echo "wget -c ftp://slackbuilds.org/$SLACK_VERSION/$DIR/$SUB_DIR/*" >> download.sh
    echo "$EXAMPLE_SCRIPT2" >> download.sh
  done 
done

Scripts recomendados

Configurando um Servidor de Nomes no CL10 apenas respondendo algumas perguntas...

Backup para CD-R/RW e DVD+/- R/RW

Manutencao de arquivos no Squid-Cache

cal2svg gerador de calendários em formato vetorial SVG

Firewall - FECHADO


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts