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
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 Llopis0.7.2-1 @ domain.com>
- Første udgivelse
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.
du kunne lave en tutorial til emballering af .deb
Hvilken god tutorial, jeg vil også gerne have, at du laver en til .deb
muy bueno