Prvý vykonáme praxe de zabaliť s RPM, a bude to obalový engine hry, ktorú chceme hrať. Bez nej by hra nefungovala. |
Všetko čo potrebuješ je láska
Súbory SPEC dostupné v openSUSE slúžili ako inšpirácia.
Stiahnite si zdrojový kód
Budete si musieť stiahnuť zdroje a umiestniť ich do priečinka ZDROJE.
cd ~ / rpmbuild / ZDROJE
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz
Vytvorte prázdnu šablónu špecifikácie
Tento príkaz vytvorí láska.spec. V RPM je názov súborov dosť dôležitý, pretože jeho nomenklatúra je štandardizovaná na označenie mnohých vecí, ako je napríklad vaša architektúra, verzia, vydanie, distribúcia atď.
cd ~ / rpmbuild / SPECS
rpmdev-newspec láska
Otvoríme novovytvorený súbor ~ / rpmbuild / SPECS / love.spec. Uvidíte, že ide o prázdnu šablónu. Prvá časť je myslím dosť vysvetľujúca. Naplníme to informácie na jeho oficiálnej stránke.
Vyplňte šablónu a vytvorte náš prvý SPEC
Ako vyzerá celý súbor, som uviedol veľa komentárov, ktoré vysvetľujú jednotlivé oddiely:
# Názov balíka.
# Podľa normy odstránime prehlásku na „o“.
Názov: láska
# Verzia podľa pôvodného autora balíka (proti prúdu)
Verzia: 0.7.2
# Verzia balenia. Zakaždým, keď upravíme balík, pridáme jeden do
# toto číslo. Týmto spôsobom ju viete aktualizovať.
Vydanie: 1% {? Dist}
# Stručný popis balíka
Zhrnutie: LÖVE je bezplatný 2D herný engine pre ľahké vytváranie hier v Lua
# Licencia (iba meno)
Licencia: ZLIB
# Webové stránky programu
URL: http://love2d.org/
# Spravidla presná adresa URL, z ktorej sa sťahujú pôvodné zdroje
# v archíve .tar.gz, .zip alebo niečo podobné.
#
# Ako vidíte, používame makra, takže ak aktualizujeme balík, nebude tam žiadny
# upravte tento riadok. Makrá „názov“ a „verzia“ pochádzajú z čoho
# sme naznačili vyššie.
Zdroj0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz
# Závislosti potrebné na zostavenie balíka.
# Vieme to, pretože to umiestňuje na svoju webovú stránku.
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
###########
# Dlhý popis balenia
% popis
LÖVE je nepochybne úžasný 2D herný engine, ktorý umožňuje rýchlu hru
vývoj a prototypy v Lua.
Tento projekt sa neustále vyvíja a zmeny prichádzajú a odchádzajú, niekedy sú iniciované
nami a niekedy aj odporúčaniami ostatných. Ak máte predstavu ako
kvôli vylepšeniu herného enginu je veľmi žiaduce, aby ste nás kontaktovali a
dajte nám vedieť, čo si myslíte.
###########
# V tejto časti pripravíme zdroje na zostavenie a použitie
# opráv, ak nejaké máte
% prep
# Toto makro je funkcia, ktorá dekomprimuje pôvodné zdroje.
# Označujeme 2 parametre:
# -q: Tichý režim. Neposielajte správy pre každý súbor
# rozbalené.
# -n% name-HEAD: V takom prípade sa pri rozbalení vytvorí adresár s názvom
#% meno-HLAVA. Ak by sme to neoznačili, program by vyhľadal
# jedna sa volala% name-% verzia a jej nenájdenie by spôsobilo chybu.
% setup -q -n% name-HEAD
# Ako viete, textové súbory vytvorené v systéme Windows končia rn,
# zatiaľ čo v * nix končia iba na n. Takže k lepšiemu
# kompatibilita, odstránime písmená r z priloženej dokumentácie.
sed -i 's / r //' * .txt
###########
# V tejto časti zostavíme zdrojový kód
% budovania
# Toto je to isté ako robenie `. / Configure` s kopou ďalších parametrov, ktoré
# uľahčite nám nerobiť chyby.
% konfigurovať
# Pridajte predvolené možnosti výroby, ak existujú.
# V mojom prípade sa to rozšíri na `make -j3`.
zarobiť% {? _ smp_mflags}
###########
# Tu nainštalujeme program do% buildroot.
% Inštalácia
# Rovnako ako `vykonať inštaláciu` s mnohými požadovanými preddefinovanými parametrami.
% make_install
###########
# Tu kontrolujeme nainštalované súbory
% súborov
# S touto funkciou označíme súbory, ktoré sú dokumentáciou
% doc changes.txt licencia.txt readme.txt
# Ďalej musíte uviesť zoznam všetkých súborov, ktoré sa nainštalujú.
# Jediný súbor, ktorý to nainštaluje, je / usr / bin / love, alebo čo je rovnaké:
% _bindir /% meno
###########
# Nakoniec musíte vyplniť denník zmien balíkov
% zoznam zmien
* Pi 18. novembra 2011 Jairot Llopis0.7.2-1 @ doména.com>
- Prvé vydanie
Pred vytvorením balíka máme posledný krok: inštaláciu závislostí. Použijeme utilitu z balíka yum-utils čítať ich priamo zo súboru, ktorý sme práve vytvorili.
sudo yum-builddep ~ / rpmbuild / SPECS / love.spec
To by malo stačiť. Ďalej vytvoríme balíček.
rpmbuild -ba ~ / rpmbuild / SPECS / love.spec
Pripravený! Náš balíček už máme distribuovaný v adresárovom strome. Budeme mať:
- ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM pripravené na inštaláciu.
- ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Zdrojové otáčky pripravené na ľahkú úpravu balíka. Zahŕňa súbor SPEC, zdrojový kód a opravy.
mohli by ste urobiť návod na balenie .deb
Aký dobrý návod by som tiež chcel, aby ste vytvorili jeden pre súbor .deb
muy bueno