Effettueremo il primo pratica de pacchetto con RPMe confezionerà il motore del gioco che vogliamo giocare. Senza di esso, il gioco non funzionerebbe. |
Tutto ciò di cui hai bisogno è l'amore
I file SPEC disponibili in openSUSE sono serviti da ispirazione.
Scarica il codice sorgente
Dovrai scaricare i sorgenti e metterli nella cartella SOURCES.
cd ~ / rpmbuild / SOURCES
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz
Crea un modello di specifiche vuoto
Questo comando creerà amore.spec. In RPM il nome dei file è abbastanza importante, poiché la sua nomenclatura è standardizzata per indicare molte cose, come la tua architettura, versione, rilascio, distro, ecc.
cd ~ / rpmbuild / SPECS
rpmdev-newspec amore
Apriremo il file appena creato ~ / rpmbuild / SPECS / love.spec. Vedrai che è un modello vuoto. La prima parte penso sia abbastanza autoesplicativa. Lo riempiremo con le informazioni trovate sulla sua pagina ufficiale.
Compila il modello e crea il nostro primo SPEC
Ecco come appare il file completo con molti commenti che spiegano ogni sezione:
# Nome del pacchetto.
# Secondo lo standard, rimuoviamo l'umlaut dalla "o".
Nome: amore
# Versione secondo l'autore originale del pacchetto (a monte)
Versione: 0.7.2
# Versione packaging. Ogni volta che modifichiamo il pacchetto, ne aggiungiamo uno a
# questo numero. In questo modo yum sa aggiornarlo.
Rilascio: 1% {? Dist}
# Breve descrizione del pacchetto
Riepilogo: LÖVE è un motore di gioco 2D gratuito per creare facilmente giochi in Lua
# Licenza (solo il nome)
Licenza: ZLIB
# Sito web del programma
URL: http://love2d.org/
# URL esatto da cui vengono scaricate le fonti originali, di solito
# in un archivio .tar.gz, .zip o qualcosa di simile.
#
# Come puoi vedere, usiamo le macro in modo che se aggiorniamo il pacchetto non ci sia
# modifica questa riga. Le macro "nome" e "versione" derivano da cosa
# abbiamo indicato sopra.
Fonte0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz
# Dipendenze richieste per creare il pacchetto.
# Lo sappiamo perché lo mette sul suo sito web.
BuildRequires: flac-devel
BuildRequires: freetype-devel
BuildRequires: glibc-devel
BuildRequires: libmpg123-devel
BuildRequires: libmodplug-devel
BuildRequires: physfs-devel
BuildRequires: mesa-libGL-devel
BuildRequires: openal-soft-devel
BuildRequires: DevIL-devel
BuildRequires: libvorbis-devel
BuildRequires: SDL-devel
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: lua-devel
##########
# Descrizione lunga del pacchetto
% descrizione
LÖVE è un motore di gioco 2D indiscutibilmente fantastico, che consente un gioco rapido
sviluppo e prototipazione a Lua.
Questo progetto è in continua evoluzione e i cambiamenti vanno e vengono, a volte iniziati
da noi e talvolta dalle raccomandazioni di altri. Se hai un'idea su come
per migliorare il motore di gioco, è fortemente auspicabile che ci contatti e
Fateci sapere cosa ne pensate.
##########
# In questa sezione prepareremo i sorgenti per compilare e applicare il
# patch se ne hai
% prep
# Questa macro è una funzione che decomprime i sorgenti originali.
# Indichiamo 2 parametri:
# -q: modalità silenziosa. Non inviare messaggi per ogni file
# decompresso.
# -n% name-HEAD: In questo caso, quando si decomprime una directory viene creata chiamata
#% name-HEAD. Se non lo indichiamo, il programma cercherà
# uno chiamato% name-% versione e non trovarlo darebbe un errore.
% setup -q -n% name-HEAD
# Come sai, i file di testo creati in Windows finiscono con rn,
# mentre in * nix finiscono solo in n. Quindi in meglio
# compatibilità, rimuoveremo le r dalla documentazione inclusa.
sed -i 's / r //' * .txt
##########
# In questa sezione compileremo il codice sorgente
% build
# È lo stesso di fare `. / Configure` con un mucchio di parametri extra che
# rendici facile non commettere errori.
% configure
# Aggiungi le opzioni predefinite da fare, se presenti.
# Nel mio caso, questo si espande in `make -j3`.
crea% {? _ smp_mflags}
##########
# Qui installeremo il programma all'interno di% buildroot.
% install
# Come `make install` con molti parametri predefiniti richiesti.
% make_install
##########
# Qui controlliamo i file installati
% File
# Indicheremo i file che sono documentazione con questa funzione
% doc changes.txt license.txt readme.txt
# Successivamente devi elencare tutti i file che verranno installati.
# L'unico file che installerà questo è / usr / bin / love, o qual è lo stesso:
% _bindir /% nome
##########
# Infine, devi compilare il registro delle modifiche nel pacchetto
% changelog
* Ven 18 novembre 2011 Jairot Llopis0.7.2-1 @ dominio.com>
- Versione iniziale
Abbiamo un ultimo passaggio prima di creare il pacchetto: installare le dipendenze. Useremo un'utilità dal pacchetto yum-utils per leggerli direttamente dal file che abbiamo appena creato.
sudo yum-builddep ~ / rpmbuild / SPECS / love.spec
Dovrebbe bastare. Successivamente creeremo il pacchetto.
rpmbuild -ba ~ / rpmbuild / SPECS / love.spec
Pronto! Abbiamo già il nostro pacchetto distribuito nell'albero delle directory. Avremo:
- ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM pronto per l'installazione.
- ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Source RPM pronto per modificare il pacchetto con facilità. Include il file SPEC, il codice sorgente e le patch.
potresti fare un tutorial per pacchettizzare .deb
Che bel tutorial, vorrei anche che ne facessi uno per .deb
muy bueno