Imballaggi RPM. Parte 3: imballà LÖVE

Faremu a prima pratica de pacchettu cù RPM, è serà imballatu u mutore di u ghjocu chì vulemu ghjucà. Senza ella, u ghjocu ùn funziunaria micca.

Basta solu l'amore

VEDE hè un mutore per ghjochi 2D scritti in piglià, canta Micca Tetris 2 hè un ghjocu fattu per dittu mutore. A causa di dipendenze basate nantu à libmpg123 Ùn sò micca in i repositori ufficiali, dunque hè ideale per u tutoriale.

I fugliali SPEC dispunibuli in openSUSE anu servutu d'ispirazione.

Scaricate u codice surghjente

Duvete scaricà e fonti è mette li in u cartulare SOURCES.

cd ~ / rpmbuild / SOURCES
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz

Crea un mudellu di spec

Questu cumandamentu creà amore.spec. In RPM u nome di i fugliali hè abbastanza impurtante, postu chì a so nomenclatura hè standardizata per indicà parechje cose, cum'è a vostra architettura, versione, liberazione, distro, ecc.

cd ~ / rpmbuild / SPECS
rpmdev-newsec amore

Avemu da apre u fugliale novu creatu ~ / rpmbuild / SPECS / love.spec. Puderete vede chì hè un mudellu in biancu. A prima parte pensu chì hè abbastanza spiegativa. A faremu cù l'infurmazioni truvate in a so pagina ufficiale.

Inserite u mudellu è create u nostru primu SPEC

Aghju messu cumu u fugliale cumpletu pare cun assai cumenti chì spieganu ogni sezione:

# Nome di u pacchettu.
# Sicondu u standard, eliminemu a umlaut à u "o".
Nome: amore

# Versione secondu l'autore originale di u pacchettu (upstream)
Versione: 0.7.2

# Versione di imballu. Ogni volta chì mudificemu u pacchettu, ne aghjustemu unu
# questu numeru. In questu modu yum sapi d'aghjurnallu.
Release: 1% {? Dist}

# Breve descrizzione di u pacchettu
Riassuntu: LÖVE hè un mutore di ghjocu 2D gratuitu per a creazione faciule di ghjocu in Lua


# Licenza (solu u nome)
Licenza: ZLIB

# Situ di u prugramma
URL: http://love2d.org/

# URL esattu da chì e fonti uriginali sò scaricate, di solitu
# in un archiviu .tar.gz, .zip, o qualcosa di simile.
#
# Cumu pudete vede, adupremu macros per chì se aghjurnemu u pacchettu ùn avemu micca bisognu
# mudificà sta linea. E macros "nome" è "versione" venenu da chì
# avemu indicatu sopra.
Source0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# Dipendenze necessarie per custruisce u pacchettu.
# A sapemu perchè u mette in u so situ 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


###########
# Longa descrizzione di u pacchettu
% descrizzione
LÖVE hè un mutore di ghjocu 2D senza dubbiu impressionante, chì permette un ghjocu rapidu
sviluppu è prototipu in Lua.

Stu prugettu hè in evoluzione cuntinua è i cambiamenti venenu è vanu, qualchì volta iniziati
da noi è à volte da e raccomandazioni di l'altri. Sì avete una idea di cumu
per fà megliu u mutore di ghjocu, hè assai desideratu chì ci cuntattate è
Fateci sapè ciò chì ne pensate.


###########
# In questa sezione prepareremu e fonti per compilà è applicà u
# patch se ne avete
% prep

# Questa macro hè una funzione chì decomprime e fonti originali.
# Indichemu 2 parametri:
# -q: Modu silenziu. Ùn mandate micca messagi per ogni fugliale
# scumpressu.
# -n% name-HEAD: In questu casu quandu scumpressate un repertoriu hè creatu chjamatu
#% name-HEAD. Se ùn avemu micca indicatu questu, u prugramma cercarà
# unu chjamatu% name-% versione è ùn truvallu darà un errore.
% setup -q -n% name-HEAD

# Cum'è sapete, i fugliali di testu creati in Windows finiscenu in rn,
# mentre in * nix finiscenu solu in n. Cusì per u megliu
# cumpatibilità, elimineremu i r in a ducumentazione inclusa.
sed -i 's / r //' * .txt


###########
# In questa sezzione compilaremu u codice surghjente
% custruisce

# Questu hè listessu chì fà `. / Configurà` cun unepoche di parametri extra chì
# rende più faciule per noi di ùn fà sbagli.
% cunfigurà

# Aghjunghjite l'opzioni predeterminate da fà, s'ellu ci hè.
# In u mo casu, questu si espande à "make -j3".
fà% {? _ smp_mflags}


###########
# Quì installeremu u prugramma in% buildroot.
% installà

# Cum'è "fà installà" cù parechji parametri predefiniti richiesti.
% make_install


###########
# Quì auditemu i fugliali installati
% schedarii

# Indicaremu i fugliali chì sò ducumentazione cù sta funzione
% doc changes.txt license.txt readme.txt

# Dopu avete da elencà tutti i fugliali chì seranu installati.
# L'unicu schedariu chì stallerà questu hè / usr / bin / love, o ciò chì hè u listessu:
% _bindir /% name


###########
# Infine, duvete riempie u registru di cambiamenti di pacchetti
% cambiamentu
* Ven Nov 18 2011 Jairot Llopis 0.7.2-1
- Versione iniziale
@ duminiu.com>

Avemu un ultimu passu prima di creà u pacchettu: installà e dipendenze. Adupraremu una utilità da u pacchettu yum-utils per leghje li direttamente da u fugliale chì avemu creatu.

sudo yum-builddep ~ / rpmbuild / SPECS / love.spec

Chì duverebbe bastà. Dopu creemu u pacchettu.

rpmbuild -ba ~ / rpmbuild / SPECS / love.spec

Prontu! Avemu digià u nostru pacchettu distribuitu in l'arburu di u repertoriu. Avemu da:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM prontu per installà.
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: RPM surghjente prontu à mudificà u pacchettu cun facilità. Include u fugliale SPEC, u codice surghjente è i patch.
Tuttavia, avè u mutore di ghjocu ùn ci ferà nunda da solu. In a prossima rata videremu cumu custruisce u ghjocu stessu.

U cuntenutu di l'articulu aderisce à i nostri principii di etica edituriale. Per signalà un errore cliccate quì.

3 cumenti, lasciate i toi

Lasciate u vostru cummentariu

U vostru indirizzu email ùn esse publicatu.

*

*

  1. Responsabile di i dati: Miguel Ángel Gatón
  2. Scopu di i dati: Cuntrolla SPAM, gestione di cumenti.
  3. Legitimazione: U vostru accunsentu
  4. Cumunicazione di i dati: I dati ùn seranu micca cumunicati à terzi, eccettu per obbligazione legale.
  5. Archiviazione di dati: Base di dati ospitata da Occentus Networks (UE)
  6. Diritti: In ogni mumentu pudete limità, recuperà è cancellà e vostre informazioni.

  1.   Swatch dijo

    pudete fà un tutoriale per imballà .deb

  2.   Lucas Matías Gomez dijo

    Chì un bonu tutoriale, mi piacerebbe ancu chì ne fate unu per .deb

  3.   purtari dijo

    assai boni

bool (veru)