Criando um Pacote DEB – PARTE 3
Para execução de scripts antes ou após a instalação do pacote, pode se utilizar os arquivos na pasta DEBIAN:
- Preinst - Executado antes do início da instalação;
- Postinst - Executado após o termino da instalação;
- Prerm - Executado antes da remoção;
- Postrm - Executado após a remoção.
Os scripts seguem o mesmo padrão. Utilização de bash, sh ou ksh. Ou se souber "fazer marretas", pode utilizar php, c, c++, tudo seria uma questão de fazer a chamada do arquivo com outra linguagem dentro dos scripts do pacote.
No nosso exemplo não há necessidade da utilização de um destes scripts. Porém utilizaremos, para criar um ícone no menu para abrir o navegador com o arquivo php sendo executado.
Postinst
#!/bin/sh # # Copyright (c) 2010 The Vinicius Muniz <http://viniciusmuniz.com> Authors. All rights reserved. #Add icons to all users. for usuario in $( ls /home ); do if [ ! -d /home/$usuario/.local/share/applications ]; then mkdir /home/$usuario/.local/share/applications fi cp /usr/share/applications/examplePHPDEB.desktop /home/$usuario/.local/share/applications done
Para a utilização deste script, iremos criar outro arquivo, com o nome de examplePHPDEB.desktop onde iremos armazenar os dados do atalho. O arquivo ficará armazenado dentro de /usr/share/applications/ dentro do pacote, e após a instalação neste mesmo caminho dentro do servidor.
O conteúdo do atalho será:
[Desktop Entry] # Created by Vinícius Muniz <http://ViniciusMuniz.com> Version=1.0 Encoding=UTF-8 Name=examplePHPDEB # Only KDE 4 seems to use GenericName, so we reuse the KDE strings. # From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. GenericName=examplePHPDEB # Gnome and KDE 3 uses Comment. Comment=Example DEB Exec=/var/www/start.sh Terminal=false Type=Application Categories=GTK;Application;Development;IDE; StartupNotify=true
Para a execução do nosso arquivo iremos criar um outro arquivo em shell para abrir o navegador com o script PHP rodando. O arquivo, está especificado em Exec no arquivo .desktop será o arquivo start.sh, o conteúdo do mesmo será:
#!/bin/sh
# Created by Vinícius Muniz <ViniciusMuniz.com>
sudo /etc/init.d/apache2 start
for i in google-chrome firefox mozilla konqueror; do
if test -x "/usr/bin/$i"; then
/usr/bin/$i http://localhost/example.php
exit $?
fi
done
start.sh
No proximo artigo, finalmente iremos ver os comandos para compilar o pacote.
Related posts:

novembro 4th, 2010 - 18:20
Gostei do tutorial
http://www.taghost.com.br
maio 10th, 2011 - 14:59
Copicolado e salvo no meu pc… Valeu.