Criador de pacotes para o Slackware
Publicado por Leandro Santiago 21/07/2007
[ Hits: 5.019 ]
Homepage: http://leandrosan.wordpress.com
Pequeno bash-script que cria um pacote compilado para o slackware.
Recebe um parâmetro, que é o conteúdo da descrição do pacote. É bem simples, mas me ajudou bastante. Deve ser usado no lugar do make install (como root).
Lógico que é só um núcleo. Ainda não adicionei recursos como tratamento de parâmetros ou verificação de uid, para saber se é root.
Espero que ajude alguém como me ajudou.
#!/bin/bash # slack-pkg-create.sh # Escrito por Leandro Santiago da Silva ## leandrosansilva $$AT$$ gmail $$DOT$$ com ## Maringá, Paraná, Brasil 11/07/07 ## Script que cria um pacote compilado para o Slackware # Deve ser usado no lugar do make install ## Define a arquitetura do Seu computador ARQUITETURA=i686 ## Release EXTRAV=1ten # O nome do pacote, já com a versão NOME="`basename $PWD`" # Cria o pacote expandido em /tmp/packages make install DESTDIR=/tmp/packages/"$NOME" # Acessa o diretório /tmp/packages cd /tmp/packages/"$NOME" # Cria os diretórios de documentos e de scripts de instalação mkdir -p usr/doc/"$NOME" install # Copio arquivos de documentos, etc cp "$OLDPWD"/{INSTALL,LICENCE,AUTHORS,COPYING,TODO,VERSION,NEWS,README} usr/doc/"$NOME" # Defino o nome do pacote, sem versão. NOMESEMVER="`echo $NOME | rev | cut -f2- -d- | rev `" # Crio um arquivo install/slack-desc com a descrição do pacote, com o conteúdo do arquivo recebido como primeiro parâmetro # Que deve estar no diretório onde este script foi chamado while read LINHA do echo $NOMESEMVER: $LINHA done < "$OLDPWD"/"$1" >> install/slack-desc # eStripo os arquivos (peguei do site http://linuxpackages.net/ { find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip --str ip-debug find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded } &> /dev/null # Por fim, crio o pacote no diretório onde foi chamado este script yes | /sbin/makepkg "$OLDPWD"/$NOME-$ARQUITETURA-$EXTRAV.tgz # Volto ao diretório original (desnecessário) cd "$OLDPWD" # Excluo o diretório onde foi criado o pacote rm -rf /tmp/packages/"$NOME"
Embaralhando aleatoriamente vetores - array shuffle
Monitoramento automático de logs e envio por e-mail – Fácil e explicado
Agenda Telefônica com Bash e Xdialog
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Como fazer boot em img do debian 12.img da web? (3)
Manjaro 25.0 no permite usar crontab (1)
trocar linhas [RESOLVIDO] (11)