Pagbalot ng RPM. Bahagi 3: pag-iimpake ng LÖVE

Isasagawa namin ang una pagsasanay de pack sa RPM, at ilalagay nito ang makina ng larong nais nating i-play. Kung wala ito, hindi gagana ang laro.

Pagmamahal lang ang kailangan mo

MAKITA ITO ay isang makina para sa mga larong 2D na nakasulat Lua, At Hindi Tetris 2 ito ay isang laro na ginawa para sa nasabing makina. Dahil sa mga dependency batay sa libmpg123 Wala sila sa opisyal na mga repository, kaya't perpekto ito para sa tutorial.

Magagamit ang mga file na SPEC sa openSUSE nagsilbi silang inspirasyon.

Mag-download ng source code

Kakailanganin mong i-download ang mga mapagkukunan at ilagay ang mga ito sa folder na SOURCES.

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

Lumikha ng isang blangko na template ng spec

Lilikha ang utos na ito pagmamahal.spec. Sa RPM ang pangalan ng mga file ay medyo mahalaga, dahil ang nomenclature nito ay na-standardize upang ito ay nagpapahiwatig ng maraming mga bagay, tulad ng arkitektura, bersyon, paglabas, distro, atbp.

cd ~ / rpmbuild / SPECS
pag-ibig rpmdev-newspec

Bubuksan namin ang bagong nilikha na file ~ / rpmbuild / SPECS / love.spec. Makikita mo na ito ay isang blangko na template. Ang unang bahagi sa palagay ko ay medyo nagpapaliwanag sa sarili. Punan namin ito ng ang impormasyong matatagpuan sa opisyal na pahina nito.

Punan ang template at lumikha ng aming unang SPEC

Inilagay ko kung paano ang hitsura ng kumpletong file na may maraming mga puna na nagpapaliwanag sa bawat seksyon:

# Pangalan ng package.
# Ayon sa pamantayan, inaalis namin ang umlaut sa "o".
Pangalan: pag-ibig

# Bersyon ayon sa orihinal na may-akda ng package (upstream)
Bersyon: 0.7.2

# Bersyon ng pag-iimpake. Sa tuwing binabago namin ang package, nagdagdag kami ng isa sa
# itong numero. Sa ganitong paraan alam ng yum na i-update ito.
Pakawalan: 1% {? Dist}

# Maikling paglalarawan ng package
Buod: Ang LÖVE ay isang libreng 2D game engine para sa madaling paglikha ng laro sa Lua


# Lisensya (ang pangalan lang)
Lisensya: ZLIB

# Website ng programa
URL: http://love2d.org/

# Eksaktong URL kung saan mai-download ang mga orihinal na mapagkukunan, kadalasan
# sa isang archive .tar.gz, .zip, o katulad na bagay.
#
# Tulad ng nakikita mo, gumagamit kami ng mga macros upang kung mai-update namin ang package ay hindi na namin kinakailangan
# baguhin ang linyang ito. Ang macros na "pangalan" at "bersyon" ay nagmula sa kung ano
# na isinaad namin sa itaas.
Source0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


Kinakailangan ang mga dependency upang buuin ang package.
# Alam natin ito dahil inilalagay niya ito sa kanyang website.
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


####
# Mahabang paglalarawan ng package
% paglalarawan
Ang LÖVE ay isang hindi mawari na kahanga-hangang engine ng laro ng 2D, na nagbibigay-daan sa mabilis na laro
pag-unlad at prototyping sa Lua.

Ang proyektong ito ay patuloy na nagbabago at ang mga pagbabago ay darating at pupunta, minsan pinasimulan
sa pamamagitan namin at kung minsan sa pamamagitan ng mga rekomendasyon ng iba. Kung mayroon kang isang ideya kung paano
upang gawing mas mahusay ang engine ng laro, labis na ninanais na makipag-ugnay ka sa amin at
ipaalam sa amin kung ano ang iniisip mo.


####
# Sa seksyong ito ihahanda namin ang mga mapagkukunan upang mag-ipon at ilapat ang
# patch kung mayroon ka
% prep

# Ang macro na ito ay isang pagpapaandar na decompresses ang orihinal na mga mapagkukunan.
# Ipinapahiwatig namin ang 2 mga parameter:
# -q: Tahimik na mode. Huwag magpadala ng mga mensahe para sa bawat file
# na naka-zip
# -n% name-HEAD: Sa kasong ito kapag ang pag-unzipping ng isang direktoryo ay nilikha tinawag
#% pangalan-ULO. Kung hindi namin ito ipahiwatig, maghanap ang programa
# isang tinawag na% pangalan-% bersyon at ang hindi paghanap nito ay magbibigay ng isang error.
% setup -q -n% pangalan-HEAD

# Tulad ng alam mo, ang mga file ng teksto na nilikha sa Windows ay nagtatapos sa rn,
# habang nasa * nix nagtatapos lamang sila sa n. Kaya't para sa ikabubuti
# pagiging tugma, aalisin namin ang mga r sa kasama na dokumentasyon.
sed -i 's / r //' * .txt


####
# Sa seksyong ito ay ipo-compile namin ang source code
% build

# Ito ay kapareho ng paggawa ng `. / I-configure` na may isang bungkos ng labis na mga parameter na
# gawing madali para sa atin na hindi magkamali.
% configure

# Idagdag ang mga default na pagpipilian upang magawa, kung mayroon man.
# Sa aking kaso, lumalawak ito sa `make -j3`.
gumawa ng% {? _ smp_mflags}


####
# Dito mai-install namin ang programa sa loob ng% buildroot.
% install

# Tulad ng `gumawa ng pag-install` na may maraming mga kinakailangang paunang natukoy na mga parameter.
% make_install


####
# Dito namin susuriin ang mga naka-install na file
% mga file

# Ipapahiwatig namin ang mga file na dokumentasyon sa pagpapaandar na ito
% doc nagbabago.txt lisensya.txt readme.txt

# Susunod kailangan mong ilista ang lahat ng mga file na mai-install.
# Ang tanging file na mag-i-install nito ay / usr / bin / love, o kung ano ang pareho:
% _bindir /% pangalan


####
# Panghuli, kailangan mong punan ang log ng pagbabago ng package
% changelog
* Biyernes 18 Nobyembre 2011 Jairot Llopis 0.7.2-1
- Paunang paglabas
@ domain.com>

Mayroon kaming isang huling hakbang bago lumikha ng package: pag-install ng mga dependency. Gumagamit kami ng isang utility mula sa package yum-utils upang basahin ang mga ito nang direkta mula sa file na aming nilikha.

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

Dapat ay sapat na iyon. Susunod na lilikha namin ng package.

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

Handa na! Mayroon na kaming pakete na ipinamamahagi sa puno ng direktoryo. Magkakaroon kami ng:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: Handa nang i-install ang RPM.
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Pinagmulan ng RPM na handa nang baguhin ang pakete nang madali. Kabilang dito ang SPEC file, ang source code at ang mga patch.
Gayunpaman, ang pagkakaroon ng game engine ay hindi makakagawa sa atin ng anumang kabutihan sa sarili nitong. Sa susunod na yugto ay makikita natin kung paano buuin ang laro mismo.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Swatch dijo

    maaari kang gumawa ng isang tutorial para sa packaging .deb

  2.   Lucas matias gomez dijo

    Anong magandang tutorial, nais ko rin na gumawa ka ng isa para sa .deb

  3.   tagabitbit dijo

    muy bueno