Através do dpkg é possível criar/editar pacotes *.Deb com facilidade.
https://www.hardware.com.br/livros/ferramentas-linux/criando-seus-proprios-pacotes-deb.html
https://www.hardware.com.br/artigos/criando-deb/
No Kuruma existia um script "criar-deb", bons tempos...
#!/bin/sh
# Script de instalação dos ícones mágicos
# Escrito por Carlos E. Morimoto
export XDIALOG_HIGH_DIALOG_COMPAT=1
DIALOG=Xdialog
DIA=Xdialog
$DIALOG --title "Ícones mágicos" \
--backtitle " Criar pacote .deb " \
--radiolist "O sistema de pacotes do Debian é extremamente versátil como você pode perceber rapidamente usando o apt-get. Instalar, remover e atualizar os pacotes são uma tarefa rotineira.\n\n
Além de serem fáceis de instalar, os pacotes .deb também podem ser criados rapidamente, usando as ferramentas incluídas na própria distribuição. Você pode incluir qualquer coisa nos pacotes, desde um ícone no iniciar até um monstro de 200 MB como o OpenOffice. Este script automatiza a tarefa de
criar um novo pacote .deb, que pode ser distribuído posteriormente.\n
" 27 70 0 \
"Criar" "Criar um novo pacote .deb" off \
"Atualizar" "Modificar um pacote anteriormente criado" off \
"Sair" "Sair sem fazer nada" off 2> /tmp/checklist.tmp.$$
retval=$?
choice=`cat /tmp/checklist.tmp.$$`
rm -f /tmp/checklist.tmp.$$
# -----------------------------------
if [ "$choice" = "Criar" ];
then
rm -f /tmp/pacotedeb1
$DIALOG --title "Criar pacote .deb" \
--backtitle "Criar pacote .deb" \
--ok-label "Continuar" --cancel-label "Sair" \
--inputbox "Antes de mais nada você deve dar um nome para o deu pacote. Este nome será usado para a descrição e o nome do
arquivo. Ele não deve ser longo nem conter espaços. Algo do tipo: meu-pacote-1.2
" 15 80 'meu-pacote' > /dev/null 2> /tmp/pacotedeb1
retval=$?
nomepacote=`cat /tmp/pacotedeb1`
rm -f /tmp/pacotedeb1
rm -f /tmp/pacotedeb2
$DIALOG --title "Criar pacote .deb" \
--backtitle "Criar pacote .deb" \
--ok-label "Continuar" --cancel-label "Sair" \
--inputbox "Qual pasta você deseja usar para guardar os arquivos e gerar o pacote no final do processo?
" 15 80 '/tmp' > /dev/null 2> /tmp/pacotedeb2
retval=$?
pasta=`cat /tmp/pacotedeb2`
rm -f /tmp/pacotedeb2
BT="Ícones mágicos"
T1="Criar pacote .deb"
M1="O pacote é criado a partir dos arquivos de uma pasta, que criarei a seguir. Se você quiser que o pacote ao ser instalado copie um arquivo binário para a pasta /usr/local/bin e um ícone para a pasta /usr/share/applnk/ você criaria as duas pastas dentro do diretório do pacote e colocaria seus arquivos dentro delas, mantendo toda a estrutura de sub pastas a partir do diretório raiz.\n\n
No final você teria por exemplo as pastas /usr/local/bin/arquivo.sh e /usr/share/applnk/icone.desktop dentro do diretório do novo pacote. \n\n
Ao ser instalado o pacote simplesmente copiará os arquivos, mantendo a estrutura de diretórios da pasta. Ao pressionar OK vou abrir a pasta
para que você possa adicionar os arquivos dentro."
$DIALOG --backtitle "$BT" --title "$T1" --msgbox "$M1" 22 80
mkdir $pasta/$nomepacote
echo 'Delete este texto antes de fachar a janela, ele é apenas um aviso ;-)' >> $pasta/$nomepacote/coloque_os_arquivos_aqui
konqueror $pasta/$nomepacote
mkdir $pasta/$nomepacote/DEBIAN/
echo 'Package: Meu-pacote' >> $pasta/$nomepacote/DEBIAN/control
echo 'Priority: optional' >> $pasta/$nomepacote/DEBIAN/control
echo 'Version: 1.0' >> $pasta/$nomepacote/DEBIAN/control
echo 'Architecture: i386' >> $pasta/$nomepacote/DEBIAN/control
echo 'Maintainer: foo <foo@bar.com>' >> $pasta/$nomepacote/DEBIAN/control
echo 'Depends:' >> $pasta/$nomepacote/DEBIAN/control
echo 'Description: Mais um pacote deb' >> $pasta/$nomepacote/DEBIAN/control
BT="Ícones mágicos"
T1="Criar pacote .deb"
M1="Dentro do pacote vai um arquivo chamado control, onde vão as informações de controle do pacote. Este é um arquivo de texto que abrirei na janela a seguir. Você deve editá-lo colocando os detalhes sobre o pacote que está criando. Este arquivo fica disponível para consulta por parte dos usuários.\n\n
No campo Package vai o nome do pacote, seguido pela prioridade (optional significa que o pacote não é necessário para o funcionamento normal do sistema, é apenas um add-on). Importante: O nome do pacote não deve conter espaços nem caracteres especiais. Você deve usar apenas letras, numeros e o -. \n
O campo "version" é um dos campos importantes, pois é por ele que o apt-get vai se orientar na hora de instalar o pacote. Se você lançar uma atualização do pacote mais tarde, o campo deve ser alterado.\n
Caso o seu pacote precise de outros pacotes com bibliotecas ou programas para funcionar, você deve informá-los no campo "Depends", assim o apt cuidará de checar as dependências e instalá-las se necessário. "
$DIALOG --backtitle "$BT" --title "$T1" --msgbox "$M1" 33 80
kedit $pasta/$nomepacote/DEBIAN/control
BT="Ícones mágicos"
T1="Criar pacote .deb"
M1="Se você fez tudo direitinho até aqui seu pacote já está pronto para ser criado. Vou gerar um arquivo .deb na pasta escolhida. Este pacote pode ser instalado em outros micros usando o comando: dpgk -i pacote.deb\n\n
Daqui em diante você tem a responsabilidade de manter este pacote, atualizando-o quando necessário e distribuindo as novas versões para as pessoas que o utilizarem."
$DIALOG --backtitle "$BT" --title "$T1" --msgbox "$M1" 18 80
cd $pasta
echo "Executando comando:"
echo "dpkg-deb -b $pasta/$nomepacote/ $pasta/$nomepacote.deb"
echo " "
dpkg-deb -b $pasta/$nomepacote/ $pasta/$nomepacote.deb
sleep 3
echo " "
echo "Pressione Enter para continuar"
read pausa
konqueror $pasta
fi
# -----------------------------------
if [ "$choice" = "Atualizar" ];
then
rm -f /tmp/pacotedeb3
$DIALOG --title "Criar pacote .deb" \
--backtitle "Selecione o diretório do pacote que será editado:" \
--ok-label "Continuar" --cancel-label "Sair" \
--dselect "/home/$USER" 28 78 00 > /dev/null 2> /tmp/pacotedeb3
retval=$?
diretorio=`cat /tmp/pacotedeb3`
rm -f /tmp/pacotedeb3
echo $diretorio
konqueror $diretorio
kedit $diretorio/DEBIAN/control
rm -f /tmp/pacotedeb1
$DIALOG --title "Criar pacote .deb" \
--backtitle "Criar pacote .deb" \
--ok-label "Continuar" --cancel-label "Sair" \
--inputbox "Qual o nome do pacote que será gerado? O nome não deve ser longo nem conter espaços. Algo do tipo: meu-pacote-1.2
" 15 80 'meu-pacote' > /dev/null 2> /tmp/pacotedeb1
retval=$?
nomepacote=`cat /tmp/pacotedeb1`
rm -f /tmp/pacotedeb1
cd $diretorio
cd ../
echo "Executando comando:"
echo "dpkg-deb -b $diretorio $nomepacote.deb"
echo " "
dpkg-deb -b $diretorio $nomepacote.deb
sleep 3
echo " "
echo "Pressione Enter para continuar"
read pausa
konqueror ./
fi
# -----------------------------------
if [ "$choice" = "Sair" ];
then
exit 0
fi
exit 0
Em algum lugar, tenho uma versão revisada que criei deste script, que roda graficamente em Gnome e KDE, se encontrar eu posto.
[]'s