mercoledì 6 febbraio 2013

Installare StepMania su Fedora da repository

Se, come me, siete appassionati di questo bellissimo gioco, vi farà piacere sapere che ho da pochissimo aggiunto i relativi pacchetti al mio repository online su OpenSUSE Build Service.
Ci sono però alcuni importanti limiti: poiché OBS gestisce unicamente pacchetti provenienti dai repo ufficiali di Fedora, ho dovuto compilare StepMania senza il supporto a ffmpeg e libmad.
La mancanza di ffmpeg significa nessun video riprodotto in background durante il gioco, mentre senza libmad non sarete in grado di utilizzare nessuna traccia audio in formato MP3, dettaglio sicuramente non trascurabile.
Ma andiamo con ordine; se volete installare il mio repo sulla vostra macchina, date da root:
# wget http://download.opensuse.org/repositories/home:darkhado/Fedora_17/home:darkhado.repo -O - | tee /etc/yum.repos.d/home\:darkhado.repo
Questo comando è valido esclusivamente se state utilizzando ancora Fedora 17, OBS non offre ancora la possibilità di creare repository per  la release 18 (aggiornerò l'articolo quando il supporto verrà introdotto, il che dovrebbe avvenire a breve).

Aggiornamento del 15/02/2013
È disponibile da qualche giorno anche il repo per Fedora 18; per installarlo date:
# wget http://download.opensuse.org/repositories/home:darkhado/Fedora_18/home:darkhado.repo -O - | tee /etc/yum.repos.d/home\:darkhado.repo

Nel repository oltre a StepMania potete trovare altri software che ho pacchettizzato per mie necessità e che potreste trovare utili (potete consultare l'elenco dei pacchetti disponibili qui)
Dopo aver aggiunto il repository per l'installazione del gioco è sufficiente dare:
# yum install stepmania
Come ho detto prima, in questo modo però installerete StepMania senza il supporto a mp3 e  filmati; se tale supporto vi serve ( e penso di sì ) dovrete ricompilarvi manualmente il pacchetto; tranquilli, è tutt'altro che complicato!
Cominciamo con l'installare mock (uno strumento che ci assisterà nella ricompilazione di StepMania) più i file di configurazione richiesti per il repo RPM Fusion Free (il repo che contiene ffmpeg e libmad):
# yum install mock-rpmfusion-free
Se non avete mai usato mock prima di ora, dovrete aggiungere il vostro utente all'omonimo gruppo 'mock':
# usermod -a -G  mock <utente>
Scarichiamo ora il pacchetto sorgente di StepMania:
$ yumdownloader --source stepmania
Al termine del download avremo un file dal nome stepmania-5.0-x.x.src.rpm, ad esempio stepmania-5.0-6.1.src.rpm (purtroppo OBS gestisce il tag "Release" unicamente secondo lo stile di OpenSUSE)
Possiamo ora passare alla ricompilazione del pacchetto con (se siamo su un sistema a 64bit):
$ mock -r fedora-17-x86_64-rpmfusion_free --with=mad --with=ffmpeg  stepmania-5.0-x.x.src.rpm
 Su una macchina a 32 bit daremo invece:
$ mock -r fedora-17-i386-rpmfusion_free [...]
Mock offre anche la possibilità di compilare pacchetti per release di Fedora differenti da quella installata; quindi, ad esempio, anche se stiamo utilizzando Fedora 17 nulla ci vieterebbe di creare un pacchetto di StepMania adatto per Fedora 18, nel qual caso daremo:
$ mock -r fedora-18-i386-rpmfusion_free [...]
Se tutto è andato a buon fine, al termine della compilazione troveremo i nostri nuovi pacchetti nella directory
  /var/lib/mock/fedora-<release>-<architettura>/result (ad esempio: /var/lib/mock/fedora-17-x86_64/result); sarà comunque mock stesso a fornirci il percorso esatto, stampandolo a video alla fine del processo di rebuild.
Dopo aver installato la versione ricompilata di StepMania, possiamo dire a yum di "bloccarla"; cioè di non installare eventuali futuri aggiornamenti onde preservare il pacchetto che abbiamo compilato con il prezioso supporto a ffmpeg e libmad.
Per fare questo è sufficiente aggiunger al file /etc/yum.conf la seguente riga:
 exclude=stepmania
Con questa istruzione vi sarà impossibile reinstallare o aggiornare StepMania ad una nuova versione tramite yum; qualora aveste queste esigenze ricordatevi di cancellare o commentare tale riga prima di procedere con queste operazioni.

Nessun commento:

Posta un commento