Criador de pacotes para o Slackware
Publicado por Leandro Santiago 21/07/2007
[ Hits: 5.164 ]
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"
Enviar SMS usando um telefone (Nokia)
Consultar fila de mensagens Postfix
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Pendrive Bootable [RESOLVIDO] (5)
Desenvolvi um programa de hot corner (você colocar o mouse nos cantos)... (3)









