Eu mantenho muitos pacotes no Path. Normalmente gosto de construir do zero usando a incrível ferramenta FPM escrita por Jordan Sissel. Às vezes eu gosto de fazer cirurgias em pacotes deb existentes do Ubuntu. É assim que eu atualizo o pacote supervisor Ubuntu / Debian desatualizado da versão 3.0a8-1.1 para a versão 3.0b1 mais recente.
Prepare seu espaço de trabalho. Configure um novo servidor Ubuntu 12.04 vagrant. Certifique-se de ter o FPM e o python-setuptools instalados.
vagrant init precise64
vagrant up
vagrant ssh
sudo aptitude install -y build-essential python-setuptools
sudo gem install fpmBaixe o pacote supervisor-3.0a mais antigo do seu apt repo explode-lo.
mkdir -pv src/supervisor-3.0a/
cd src/supervisor-3.0a/
aptitude download supervisor
ar xv supervisor_3.0a8-1.1_all.debConstrua o pacote supervisor-3.0b mais recente usando fpm e exploda-o.
cd ..
mkdir -pv supervisor-3.0b/
cd supervisor-3.0b/
fpm -s python -t deb supervisor
ar xv python-supervisor_3.0b1_all.deb
tar xvfz data.tar.gz
tar xvfz control.tar.gzÉ hora de juntar os dois pacotes novamente. Estaremos usando a base do pacote Ubuntu original com scripts init, post e pré com binários do pacote mais recente.
cd ../..
mkdir -pv path-supervisor_3.0b_all/DEBIAN
cd path-supervisor_3.0b_all/
tar xvfz ../src/supervisor-3.0a/data.tar.gz
tar xvfz ../src/supervisor-3.0a/control.tar.gz -C DEBIAN/Agora que temos uma base original não tarada, vamos substituir os binários pela versão 3.0b mais recente.
rm -rv usr/
mv -v ../src/supervisor-3.0b/usr .Atualize os arquivos md5 e de controle.
find usr/ -type f -exec md5sum {} ; > DEBIAN/md5sums
vi DEBIAN/controlÉ hora de construir o pacote deb.
cd ../
dpkg-deb --build path-supervisor_3.0b_all/
dpkg --info path-supervisor_3.0b_all.deb
Package: path-supervisor
Version: 3.0b1
Architecture: all
Maintainer: Richard Nghiem <richard@path.com>
Installed-Size: 2382
Depends: python-setuptools, python-meld3 (>= 0.6.5)
Section: admin
Priority: extra
Homepage: http://supervisord.org/
Description: A system for controlling process state
Supervisor is a system for controlling and maintaining process state,
similar to what init does, but not intended as an init replacement.
.
It will manage individual processess or groups of processes that
need to be started and stopped in order, and it is possible to
control individual process state via an rpc mechanism, thus allowing
ordinary users to restart processes.
- adereços para: http://sgp.me.uk/2009/08/11/hacking-deb-files/