RPM emballage. Del 3: pakning af LÖVE

Vi gennemfører den første praksis de pakke med RPM, og det pakker motoren i det spil, vi vil spille. Uden det ville spillet ikke fungere.

Alt hvad du behøver er LÖVE

SE DET er en motor til 2D-spil skrevet i Lua, Og Ikke Tetris 2 det er et spil lavet til motoren. På grund af afhængigheder baseret på libmpg123 De findes ikke i de officielle arkiver, så det er ideelt til vejledningen.

SPEC-filerne findes i openSUSE de har tjent som inspiration.

Download kildekode

Du bliver nødt til at downloade kilderne og placere dem i SOURCES-mappen.

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

Opret en tom spec-skabelon

Denne kommando oprettes kærlighed.spec. I RPM er navnet på filerne ret vigtigt, da dens nomenklatur er standardiseret for at angive mange ting, såsom din arkitektur, version, frigivelse, distro osv.

cd ~ / rpmbuild / SPECS
rpmdev-avis kærlighed

Vi åbner den nyoprettede fil ~ / rpmbuild / SPECS / love.spec. Du vil se, at det er en tom skabelon. Den første del synes jeg er ret selvforklarende. Vi udfylder det med oplysningerne findes på dets officielle side.

Udfyld skabelonen, og opret vores første SPEC

Sådan ser den komplette fil ud med mange kommentarer, der forklarer hvert afsnit:

# Navn på pakken.
# I henhold til standarden fjerner vi umlaut til "o".
Navn: kærlighed

# Version ifølge den oprindelige forfatter af pakken (opstrøms)
Version: 0.7.2

# Emballageversion. Hver gang vi ændrer pakken, tilføjer vi en til
# dette nummer. På denne måde ved yum at opdatere det.
Frigivelse: 1% {? Dist}

# Kort beskrivelse af pakken
Resumé: LÖVE er en gratis 2D-spilmotor til nem oprettelse af spil i Lua


# Licens (kun navnet)
Licens: ZLIB

# Programwebsted
URL: http://love2d.org/

# Præcis URL, hvorfra de originale kilder downloades, normalt
# i et arkiv .tar.gz, .zip eller lignende.
#
# Som du kan se, bruger vi makroer, så hvis vi opdaterer pakken, behøver vi ikke
# rediger denne linje. Makroerne "navn" og "version" kommer fra hvad
# vi har angivet ovenfor.
Kilde0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# Afhængigheder, der kræves for at bygge pakken.
# Vi ved dette, fordi han lægger det på sin hjemmeside.
BuildRequires: flac-devel
BuildRequires: freetype-udvikling
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-udvikling
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: lua-devel


##########
# Lang pakkebeskrivelse
% beskrivelse
LÖVE er en utvivlsomt fantastisk 2D-spilmotor, som muliggør hurtig spil
udvikling og prototyping i Lua.

Dette projekt udvikler sig konstant, og ændringer kommer og går, nogle gange igangsat
af os og nogle gange af andres anbefalinger. Hvis du har en idé om hvordan
for at gøre spilmotoren bedre, er det meget ønsket, at du kontakter os og
lad os vide, hvad du synes.


##########
# I dette afsnit forbereder vi kilderne til at kompilere og anvende
# patches, hvis du har nogen
% Forbered

# Denne makro er en funktion, der dekomprimerer de originale kilder.
# Vi angiver 2 parametre:
# -q: Stille tilstand. Send ikke beskeder for hver fil
# udpakket.
# -n% name-HEAD: I dette tilfælde kaldes der, når der udpakkes en mappe
#% name-HEAD. Hvis vi ikke angav dette, ville programmet søge
# en kaldte% name-% version og ikke at finde den ville give en fejl.
% setup -q -n% name-HEAD

# Som du ved slutter tekstfiler oprettet i Windows i rn,
# mens i * nix ender de kun i n. Så til det bedre
# kompatibilitet, vi fjerner r'erne i den medfølgende dokumentation.
sed -i 's / r //' * .txt


##########
# I dette afsnit kompilerer vi kildekoden
% build

# Dette er det samme som at gøre `. / Konfigurer 'med en masse ekstra parametre, der
# gør det let for os ikke at begå fejl.
% konfigurer

# Tilføj standardindstillingerne for at foretage, hvis nogen.
# I mit tilfælde udvides dette til `make -j3`.
lav% {? _ smp_mflags}


##########
# Her installerer vi programmet inde i% buildroot.
% installation

# Ligesom `make install` med mange krævede foruddefinerede parametre.
% make_install


##########
# Her reviderer vi de installerede filer
% filer

# Vi angiver de filer, der er dokumentation med denne funktion
% doc ændringer.txt licens.txt readme.txt

# Derefter skal du liste alle de filer, der skal installeres.
# Den eneste fil, der installerer dette, er / usr / bin / love, eller hvad er det samme:
% _bindir /% name


##########
# Endelig skal du udfylde ændringsloggen i pakken
% changelog
* Fre 18. nov 2011 Jairot Llopis 0.7.2-1
- Første udgivelse
@ domain.com>

Vi har et sidste trin inden oprettelse af pakken: installation af afhængigheder. Vi bruger et hjælpeprogram fra pakken yum-utils at læse dem direkte fra den fil, vi lige har oprettet.

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

Det skulle være tilstrækkeligt. Derefter opretter vi pakken.

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

Parat! Vi har allerede vores pakke distribueret i katalogtræet. Vi vil have:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM klar til installation.
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Kilde RPM klar til at ændre pakken med lethed. Den inkluderer SPEC-filen, kildekoden og programrettelserne.
At have spilmotoren vil dog ikke gøre noget godt alene. I den næste rate vil vi se hvordan bygge selve spillet.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Swatch sagde han

    du kunne lave en tutorial til emballering af .deb

  2.   Lucas matias gomez sagde han

    Hvilken god tutorial, jeg vil også gerne have, at du laver en til .deb

  3.   portør sagde han

    muy bueno