RPM-emballasje. Del 3: pakking av LÖVE

Vi skal gjennomføre den første praksis de pakke med RPM, og den pakker motoren til spillet vi vil spille. Uten det ville ikke spillet fungert.

Alt du trenger er kjærlighet

SE DET er en motor for 2D-spill skrevet i Lua, Og Ikke Tetris 2 det er et spill laget for nevnte motor. På grunn av avhengigheter basert på libmpg123 De er ikke i de offisielle arkivene, så det er ideelt for opplæringen.

SPEC-filene er tilgjengelige i opensuse de har tjent som inspirasjon.

Last ned kildekoden

Du må laste ned kildene og legge dem i KILDER-mappen.

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

Lag en blank spesifikasjonsmal

Denne kommandoen vil opprette kjærlighet.spec. I RPM er navnet på filene ganske viktig, siden dens nomenklatur er standardisert slik at det indikerer mange ting, som arkitektur, versjon, utgivelse, distro, etc.

cd ~ / rpmbuild / SPECS
rpmdev-avis kjærlighet

Vi åpner den nyopprettede filen ~ / rpmbuild / SPECS / love.spec. Du vil se at det er en tom mal. Den første delen synes jeg er ganske selvforklarende. Vi vil fylle den med informasjonen som er funnet på den offisielle siden.

Fyll ut malen og lag vår første SPEC

Slik ser den fullstendige filen ut med mange kommentarer som forklarer hver seksjon:

# Navn på pakken.
# I henhold til standarden fjerner vi paraplyen til "o".
Navn: kjærlighet

# Versjon i henhold til den opprinnelige forfatteren av pakken (oppstrøms)
Versjon: 0.7.2

# Emballasjeversjon. Hver gang vi endrer pakken, legger vi til en i
# dette nummeret. På denne måten vet yum å oppdatere det.
Utgivelse: 1% {? Dist}

# Kort beskrivelse av pakken
Sammendrag: LÖVE er en gratis 2D-spillmotor for enkel spilloppretting i Lua


# Lisens (bare navnet)
Lisens: ZLIB

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

# Nøyaktig URL der de originale kildene lastes ned, vanligvis
# i et arkiv .tar.gz, .zip eller noe lignende.
#
# Som du ser, bruker vi makroer, slik at hvis vi oppdaterer pakken, er det ingen
# endre denne linjen. Makroene "navn" og "versjon" kommer fra hva
# vi har angitt ovenfor.
Kilde0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# Avhengigheter som kreves for å bygge pakken.
# Vi vet dette fordi han legger det på nettstedet sitt.
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-utvikling
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: lua-devel


##########
# Lang pakkebeskrivelse
% beskrivelse
LÖVE er en utvilsomt fantastisk 2D-spillmotor, som tillater raskt spill
utvikling og prototyping i Lua.

Dette prosjektet er i stadig utvikling og endringer kommer og går, noen ganger igangsatt
av oss og noen ganger av andres anbefalinger. Hvis du har en idé om hvordan
for å gjøre spillmotoren bedre, er det sterkt ønsket at du kontakter oss og
gi oss beskjed om hva du synes.


##########
# I denne delen vil vi forberede kildene til å kompilere og bruke
# lapper hvis du har noen
% prep

# Denne makroen er en funksjon som dekomprimerer de originale kildene.
# Vi indikerer to parametere:
# -q: Stille modus. Ikke send meldinger for hver fil
# pakket ut.
# -n% name-HEAD: I dette tilfellet kalles det når du pakker ut en katalog
#% name-HEAD. Hvis vi ikke antydet dette, ville programmet søke
# en kalt% name-% versjon og ikke finne den ville gi en feil.
% oppsett -q -n% name-HEAD

# Som du vet slutter tekstfiler opprettet i Windows på rn,
# mens i * nix ender de bare i n. Så til det bedre
# kompatibilitet, vi fjerner r-ene i den medfølgende dokumentasjonen.
sed -i 's / r //' * .txt


##########
# I denne delen vil vi kompilere kildekoden
% bygge

# Dette er det samme som å gjøre `. / Konfigurer` med en haug med ekstra parametere som
# gjør det enkelt for oss å ikke gjøre feil.
% konfigurere

# Legg til standardalternativene du vil lage, hvis noen.
# I mitt tilfelle utvides dette til `make -j3`.
lage% {? _ smp_mflags}


##########
# Her vil vi installere programmet i% buildroot.
% installere

# Som "make install" med mange nødvendige forhåndsdefinerte parametere.
% make_install


##########
# Her kontrollerer vi de installerte filene
% filer

# Vi vil indikere filene som er dokumentasjon med denne funksjonen
% doc changes.txt lisens.txt readme.txt

# Deretter må du liste opp alle filene som skal installeres.
# Den eneste filen som vil installere dette er / usr / bin / love, eller hva er det samme:
% _bindir /% name


##########
# Til slutt må du fylle ut endringsloggen i pakken
% changelog
* Fre 18. nov 2011 Jairot Llopis 0.7.2-1
- Første utgivelse
@ domain.com>

Vi har et siste trinn før du oppretter pakken: installere avhengighetene. Vi bruker et verktøy fra pakken nam-utils å lese dem direkte fra filen vi nettopp opprettet.

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

Det burde være tilstrekkelig. Deretter lager vi pakken.

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

Klar! Vi har allerede pakken distribuert i katalogtreet. Vi vil ha:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM klar til installasjon.
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Kilde RPM klar til å endre pakken med letthet. Inkluderer SPEC-fil, kildekode og oppdateringer.
Å ha spillmotoren vil imidlertid ikke gjøre noe for oss selv. I neste avdeling vil vi se hvordan bygge selve spillet.


3 kommentarer, legg igjen dine

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Swatch sa

    du kan gjøre en veiledning for emballering av .deb

  2.   Lucas matias gomez sa

    For en god opplæring, jeg vil også at du skal lage en til .deb

  3.   bærer sa

    muy bueno