Ambalare RPM. Partea 3: ambalarea LÖVE

Vom realiza primul practică de împachetează cu RPMși va împacheta motorul jocului pe care vrem să îl jucăm. Fără el, jocul nu ar funcționa.

Tot ce ai nevoie este dragoste

O VEDE este un motor pentru jocuri 2D scrise în Lua, Și Nu Tetris 2 este un joc făcut pentru motorul respectiv. Datorită dependențelor bazate pe libmpg123 Nu se află în depozitele oficiale, deci este ideal pentru tutorial.

Fișierele SPEC disponibile în openSUSE au servit ca inspirație.

Descărcați codul sursă

Va trebui să descărcați sursele și să le puneți în folderul SURSE.

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

Creați un șablon de specificații necompletat

Această comandă se va crea dragoste.spec. În RPM numele fișierelor este destul de important, deoarece nomenclatura sa este standardizată astfel încât să indice multe lucruri, cum ar fi arhitectura, versiunea, versiunea, distribuția etc.

cd ~ / rpmbuild / SPECS
rpmdev-newsec love

Vom deschide fișierul nou creat ~ / rpmbuild / SPECS / love.spec. Veți vedea că este un șablon gol. Prima parte cred că se explică de la sine. O vom umple cu informațiile găsite pe pagina sa oficială.

Completați șablonul și creați primul nostru SPEC

Iată cum arată fișierul complet cu o mulțime de comentarii care explică fiecare secțiune:

# Numele pachetului.
# Conform standardului, scoatem umlauta la „o”.
Nume: dragoste

# Versiune conform autorului original al pachetului (în amonte)
Versiune: 0.7.2

# Versiunea de ambalare. De fiecare dată când modificăm pachetul, adăugăm unul la
# acest număr. În acest fel, Yum știe să îl actualizeze.
Lansare: 1% {? Dist}

# Scurtă descriere a pachetului
Rezumat: LÖVE este un motor de jocuri 2D gratuit pentru crearea ușoară a jocului în Lua


# Licență (doar numele)
Licență: ZLIB

# Site-ul programului
URL: http://love2d.org/

# Adresa URL exactă din care sunt descărcate sursele originale, de obicei
# într-o arhivă .tar.gz, .zip sau ceva similar.
#
# După cum puteți vedea, folosim macrocomenzi, astfel încât, dacă actualizăm pachetul, nu trebuie să o facem
# modificați această linie. Macrocomenzile „nume” și „versiune” provin din ce
# am indicat mai sus.
Sursa0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# Dependențe necesare pentru a construi pachetul.
# Știm acest lucru pentru că el îl pune pe site-ul său.
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


###########
# Descrierea pachetului lung
% Descriere
LÖVE este un motor de joc 2D incontestabil minunat, care permite jocul rapid
dezvoltare și prototipare în Lua.

Acest proiect este în continuă evoluție și schimbările vin și pleacă, uneori inițiate
de noi și uneori de recomandările altora. Dacă aveți o idee despre cum
pentru a îmbunătăți motorul jocului, este de dorit să ne contactați și
spune-ne ce crezi.


###########
# În această secțiune vom pregăti sursele pentru a compila și aplica
# patch-uri dacă aveți
% pregătire

# Această macrocomandă este o funcție care decomprimă sursele originale.
# Indicăm 2 parametri:
# -q: Mod silențios. Nu trimiteți mesaje pentru fiecare fișier
# dezarhivat.
# -n% name-HEAD: În acest caz, când se dezarhivează un director, se numește
#% name-HEAD. Dacă nu am indica acest lucru, programul ar căuta
# one numit% name-% versiune și dacă nu o găsiți ar da o eroare.
% setup -q -n% name-HEAD

# După cum știți, fișierele text create în Windows se termină cu rn,
# în timp ce în * nix se termină doar în n. Deci în bine
# compatibilitate, vom elimina r-urile din documentația inclusă.
sed -i 's / r //' * .txt


###########
# În această secțiune vom compila codul sursă
% construi

# Aceasta este la fel ca a face `. / Configure` cu o grămadă de parametri suplimentari care
# ușurează-ne să nu greșim.
% configurați

# Adăugați opțiunile implicite de făcut, dacă există.
# În cazul meu, aceasta se extinde la „make -j3”.
face% {? _ smp_mflags}


###########
# Aici vom instala programul în% buildroot.
% instalare

# Ca „make install” cu mulți parametri predefiniți necesari.
% make_install


###########
# Aici verificăm fișierele instalate
% fișiere

# Vom indica fișierele care sunt documentație cu această funcție
% doc changes.txt license.txt readme.txt

# În continuare trebuie să enumerați toate fișierele care vor fi instalate.
# Singurul fișier care va instala acest lucru este / usr / bin / love, sau ce este același:
% _bindir /% name


###########
# În cele din urmă, trebuie să completați jurnalul de modificări din pachet
% changelog
* Vin 18 noiembrie 2011 Jairot Llopis 0.7.2-1
- Lansare inițială
@ domain.com>

Avem un ultim pas înainte de a crea pachetul: instalarea dependențelor. Vom folosi un utilitar din pachet yum-utils pentru a le citi direct din fișierul pe care tocmai l-am creat.

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

Ar trebui să fie suficient. În continuare vom crea pachetul.

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

Gata! Avem deja pachetul nostru distribuit în arborele directorului. Noi vom avea:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM gata de instalare.
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: RPM sursă gata să modifice pachetul cu ușurință. Include fișierul SPEC, codul sursă și patch-urile.
Cu toate acestea, faptul că avem motorul de joc nu ne va face bine de unul singur. În următoarea tranșă vom vedea cum construiește jocul în sine.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Swatch el a spus

    ai putea face un tutorial pentru ambalarea .deb

  2.   Lucas matias gomez el a spus

    Ce tutorial bun, aș vrea să creezi unul pentru .deb

  3.   porter el a spus

    foarte bun