Criador de pacotes para o Slackware
Publicado por Leandro Santiago 21/07/2007
[ Hits: 5.259 ]
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"
Bom treino para iniciados em Shell pt2
Script para backup de usuários
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
ATUALIZAÇÃO DO KERNEL LINUX (2)
[Matemática] o que seria algo mais poderoso do que uma função? [RESOLV... (5)









