Launchpad su Debian… finalmente realtà! (guida funzionante anche su Ubuntu [??])
For English-speaking readers: Stay tuned, I will translate this how-to later!
Mi ero lamentato giorni fa del fatto che Launchpad fosse installabile solamente su Ubuntu. Ebbene, ieri mi sono tuffato nel magico mondo delle dipendenze™ e ho adattato lo script “rocketfuel-setup” a Debian lenny.
Di seguito vedremo come installare Launchpad tramite questo script modificato:
ATTENZIONE: La procedura di seguito riportata installa pacchetti non creati per Debian Lenny o proprio non creati per Debian. Lo script modifica anche la configurazione di apache e cancella un’eventuale database Postgresql, quindi è consigliabile installare Launchpad su una installazione fresca di Debian.
NOTA: Questo script dovrebbe funzionare anche su Ubuntu, e la guida può essere applicata anche sulla distribuzione sponsorizzata da Canonical. Aspetto test per proporlo nel trunk di launchpad.
Configuriamo sudo (non necessario per Ubuntu)
Per far funzionare lo script è necessario avere sudo installato e configurato, vediamo adesso come fare:
su # Al prompt, mettete la password di root
apt-get install sudo nano # nano è un editor semplice e facile da usare che puo essere utile per modificare il file sudoers richiesto da sudo.
env EDITOR="nano" visudo
vi dovrebbe apparire qualcosa simile a questo:
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL
Dopo la riga root ALL=(ALL) ALL aggiungete:
mionomeutente ALL=(ALL) ALL
Dove mionomeutente è l’utente da cui installeremo Launchpad.
Aggiorniamo bazaar e scarichiamo lo script
Il pacchetto “bzr” in lenny non è aggiornato. Quindi scarichiamo ed installiamo dal PPA degli sviluppatori di bazaar la versione 1.17 per Ubuntu Hardy:
cd /tmp
wget https://launchpad.net/~bzr/+archive/ppa/+files/bzr_1.17-1~bazaar1~hardy1_i386.deb
sudo dpkg -i bzr_1.17-1~bazaar1~hardy1_i386.deb
mkdir ~/launchpad
cd ~/launchpad
wget http://ubu4ever.netsons.org/scripts/rocketfuel-setup
chmod a+x rocketfuel-setup
Fatto!
Creiamo una nuova chiave ssh
Visto che stiamo installando su una nuova Debian lenny, dobbiamo creare una nuova chiave ssh da usare con bazaar:
sudo apt-get install openssh-client # Stavolta inserite la VOSTRA password al prompt, non quella di root
eval `ssh-agent` # Avviamo ssh-agent…
ssh-keygen -t rsa # E creiamo una nuova chiave…
Adesso, aiutandovi con un server FTP remoto oppure con una penna USB o quant’altro sia adatto a trasferire dei dati, copiate /home/mionomeutente/.ssh/id_rsa.pub in un’altro computer e aggiungetela al vostro account launchpad (perchè ne avete uno, vero?)
Adesso memorizziamo la password della chiave ssh per questa sessione:
ssh-add ~/.ssh/id_rsa # Quando ve lo chiede, inserite la password che avete precedentemente messo nella chiave ssh.
Avviamo lo script e facciamoci una bella passeggiata…
Adesso avviamo lo script
./rocketfuel-setup
Rispondete alle domande che vi farà (non preoccupatevi se non trova /etc/lsb-release, è normale in Debian) e agguiungete quello che vi dice in ~/.ssh/config
Rispondete “y” quando aptitude vi chiede di installare le dipendenze e fatevi mentre scarica un bel caffè.
Una volta che ha finito di installare le dipendenze però, lo script deve scaricare launchpad. Quindi, una volta bevuto il caffè e dopo aver visto la barra di avanzamento di bazaar (che indica che durante lo scaricamento delle dipendenze non c’è stato alcun problema, visto che è arrivato lì
) potete lasciare le sorti dello scaricamento alla vostra linea telefonica e potete farvi una bella passeggiata, sperando che al ritorno abbia finito di scaricare.
Una volta che lo script ha terminato lo scaricamento sia di launchpad che delle applicazioni necessarie per il suo funzionamento, vi dovrebbe apparire questo:
Thank you for using this script. You can improve it for everyone by
committing changes to Launchpad in utilities/rocketfuel-setup.
Please see http://dev.launchpad.net/ for more information on
developing and testing Launchpad, and on submitting changes.
You can use the following commands to manage your Launchpad
development environment:rocketfuel-get
Update your copy of $LP_TRUNK_NAME and the necessary source
dependencies, and make sure all source dependencies are properly
linked in to all the branches you are working on.rocketfuel-branch foo
Create a new branch of LP called \"foo\" in
$LP_PROJECT_PATH/foo,
with all the source dependencies properly linked in.rocketfuel-status
Check each of the branches in $LP_PROJECT_PATH
and show which of them have uncommitted changes; also check which ones
have revisions that have not yet landed on trunk.rocketfuel-push
Push all of your branches to Launchpad, so that you have a server-side
backup of everything.
Happy hacking!
E quindi adesso potete passare al passo successivo:
Compiliamo launchpad
Adesso compiliamo Launchpad. Prestate attenzione al secondo comando: esso distruggerà gli eventuali database postgresql nel sistema!
cd lp-branches/devel
./utilities/launchpad-database-setup $USER
make schema
Avviamo Launchpad
Il grande momento è arrivato!! Diamo:
make run
per avviare Launchpad. Spostiamoci adesso in un’altro terminale/in un’altra tty e andiamo all’indirizzo “launchpad.dev” per vedere la nostra nuova installazione di Launchpad!
Aggiorniamo l’installazione di Launchpad
Non ho provato, ma dovrebbero bastare questi comandi per aggiornare la propria installazione di Launchpad:
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa # Come al solito, mettete quando ve la chiede la password che avete inserito nella chiave ssh.
/usr/local/bin/rocketfuel-get
Buon hacking!



[...] http://ubu4ever.netsons.org/2009/07/24/launchpad-su-debian-finalmente-realta-guida-funzionante-anch... [...]