RPM-pakkaus. Osa 3: LÖVE-pakkaaminen

Suoritamme ensimmäisen käytäntö de pakkaus RPM: llä, ja se pakkaa haluamasi pelin moottorin. Ilman sitä peli ei toimisi.

Rakkaus on kaikki mitä tarvitset

RAKKAUS on moottori 2D-peleille kirjoitettuna luaJa Ei Tetris 2 se on peli, joka on tehty mainitulle moottorille. Perustuu riippuvuuksiin libmpg123 Ne eivät ole virallisissa arkistoissa, joten se on ihanteellinen opetusohjelmaan.

SPEC-tiedostot saatavilla openSUSE ne ovat olleet inspiraationa.

Lataa lähdekoodi

Sinun on ladattava lähteet ja laitettava ne LÄHTEET-kansioon.

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

Luo tyhjä spec-malli

Tämä komento luo rakkaus. spes. RPM: ssä tiedostojen nimi on melko tärkeä, koska sen nimikkeistö on standardoitu niin, että se osoittaa monia asioita, kuten sen arkkitehtuurin, version, julkaisun, levityksen jne.

cd ~ / rpmbuild / SPECS
rpmdev-newsec rakkaus

Avaamme vasta luodun tiedoston ~ / rpmbuild / SPECS / love.spec. Näet, että se on tyhjä malli. Ensimmäinen osa on mielestäni melko itsestään selvä. Me täytämme sen virallisella sivulla olevat tiedot.

Täytä malli ja luo ensimmäinen SPEC

Näin koko tiedosto näyttää lukuisilla kommenteilla, jotka selittävät kunkin osan:

# Paketin nimi.
# Standardin mukaan poistamme umlautin "o".
Nimi: rakkaus

# Paketin alkuperäisen kirjoittajan mukainen versio (ylävirtaan)
Versio: 0.7.2

# Pakkausversio. Joka kerta, kun muokkaamme pakettia, lisätään yksi
# Tämä numero. Tällä tavalla yum tietää päivittää sen.
Julkaisu: 1% {? Dist}

# Lyhyt kuvaus paketista
Yhteenveto: LÖVE on ilmainen 2D-pelimoottori, joka helpottaa pelin luomista Lua


# Lisenssi (vain nimi)
Lisenssi: ZLIB

# Ohjelman verkkosivusto
URL: http://love2d.org/

# Tarkka URL-osoite, josta alkuperäiset lähteet ladataan, yleensä
# arkistossa .tar.gz, .zip tai jotain vastaavaa.
#
# Kuten näette, käytämme makroja, joten jos päivitämme pakettia, sitä ei ole
# muokkaa tätä riviä. Makrot "nimi" ja "versio" ovat peräisin mistä
# olemme ilmoittaneet edellä.
Lähde0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# Paketin rakentamiseen tarvittavat riippuvuudet.
# Tiedämme tämän, koska hän laittaa sen verkkosivustolleen.
Koontivaatimus: flac-devel
Koontiversio: freetype-devel
Koontivaatimus: glibc-devel
Koontiversio: libmpg123-devel
BuildRequires: libmodplug-devel
Koontivaatimus: physfs-devel
Koontiversio: mesa-libGL-devel
Koontivaatimus: openal-soft-devel
Koontiversio: DevIL-kehitys
Koontiversio: libvorbis-devel
Koontiversio: SDL-kehitys
Koontiversio: libmng-devel
Koontiversio: libtiff-devel
Koontivaatimus: lua-devel


##########
# Pitkän paketin kuvaus
% kuvaus
LÖVE on kiistatta mahtava 2D-pelimoottori, joka mahdollistaa nopean pelin
kehittäminen ja prototyyppien valmistaminen Luan alueella.

Tämä projekti kehittyy jatkuvasti ja muutoksia tulee ja menee, joskus aloitetaan
meidän ja toisinaan muiden suositusten perusteella. Jos sinulla on idea siitä, miten
Pelikoneen parantamiseksi on erittäin toivottavaa, että otat meihin yhteyttä
kerro meille mielipiteesi.


##########
# Tässä osiossa valmistellaan lähteet kokoamaan ja soveltamaan
# laastaria, jos sinulla on
% prep

# Tämä makro on toiminto, joka purkaa alkuperäiset lähteet.
# Ilmoitamme 2 parametria:
# -q: Hiljainen tila. Älä lähetä viestejä jokaiselle tiedostolle
# purettu.
# -n% name-HEAD: Tässä tapauksessa luodaan hakemiston purkaminen
#% name-HEAD. Jos emme ilmoittaneet tätä, ohjelma etsii
# yksi kutsui% name-% -versiota eikä sen löytäminen antaisi virheen.
% setup -q -n% name-HEAD

# Kuten tiedät, Windowsissa luodut tekstitiedostot päättyvät rn: hen,
# kun taas * nixissä ne loppuvat vain n: ään. Joten parempaan suuntaan
# yhteensopivuus, poistamme r: t mukana olevasta dokumentaatiosta.
sed -i 's / r //' * .txt


##########
# Tässä osiossa kootaan lähdekoodi
% rakentaa

# Tämä on sama kuin `. / Configure` tekeminen joukolla ylimääräisiä parametreja, jotka
# tee meille helppo olla tekemättä virheitä.
% configure

# Lisää mahdolliset oletusasetukset.
# Minun tapauksessani tämä laajenee muotoon `make -j3`.
tee% {? _ smp_mflags}


##########
# Täällä asennamme ohjelman% buildrootin sisälle.
% Asentaa

# Kuten `tee asennus` monilla vaadituilla ennalta määritetyillä parametreilla.
% make_install


##########
# Täällä tarkastamme asennetut tiedostot
% tiedostot

# Ilmoitamme tiedostot, jotka ovat tämän toiminnon dokumentaatiota
% doc changes.txt lisenssi.txt readme.txt

# Seuraavaksi sinun on lueteltava kaikki asennettavat tiedostot.
# Ainoa tiedosto, joka asentaa tämän, on / usr / bin / love tai mikä on sama:
% _bindir /% name


##########
# Lopuksi sinun on täytettävä paketin muutosloki
% muutosloki
* Pe 18. marraskuuta 2011 Jairot Llopis 0.7.2-1
- Ensimmäinen julkaisu
@ domain.com>

Meillä on viimeinen vaihe ennen paketin luomista: riippuvuuksien asentaminen. Käytämme paketista saatavaa apuohjelmaa yum-utils lukea ne suoraan luomastamme tiedostosta.

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

Sen pitäisi riittää. Seuraavaksi luomme paketin.

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

Valmis! Pakettimme on jo jaettu hakemistopuuhun. Meillä tulee olemaan:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM valmis asennettavaksi.
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Lähde-RPM on valmis muokkaamaan pakettia helposti. Se sisältää SPEC-tiedoston, lähdekoodin ja korjaustiedostot.
Pelimoottorin saaminen ei kuitenkaan tee meille mitään hyötyä yksin. Seuraavassa erässä näemme miten rakentaa itse peli.


3 kommenttia, jätä omasi

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Swatch dijo

    Voisit tehdä opetusohjelman .deb-pakkaamisesta

  2.   Lucas matias gomez dijo

    Mikä hyvä opetusohjelma, haluaisin myös sinun tekevän sellaisen .deb-tiedostoon

  3.   Portaro dijo

    muy bueno