Vi kommer att genomföra den första praktiken de packa med RPM, och det kommer att förpacka motorn i spelet vi vill spela. Utan det skulle spelet inte fungera. |
Allt du behöver är kärlek
SPEC-filer tillgängliga i openSUSE de har fungerat som inspiration.
Ladda ner källkod
Du måste ladda ner källorna och lägga dem i källkällan.
cd ~ / rpmbuild / SOURCES
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz
Skapa en tom specifik mall
Detta kommando kommer att skapa kärlek.spec. I RPM är namnet på filerna ganska viktigt, eftersom dess nomenklatur är standardiserad så att den indikerar många saker, som dess arkitektur, version, release, distro, etc.
cd ~ / rpmbuild / SPECS
rpmdev-newspaperec kärlek
Vi öppnar den nyskapade filen ~ / rpmbuild / SPECS / love.spec. Du kommer att se att det är en tom mall. Den första delen tycker jag är ganska självförklarande. Vi fyller det med informationen finns på dess officiella sida.
Fyll i mallen och skapa vår första SPEC
Jag lägger ut hur hela filen ser ut med många kommentarer som förklarar varje avsnitt:
# Paketets namn.
# Enligt standarden tar vi bort paraplyet till "o".
Namn: kärlek
# Version enligt den ursprungliga författaren till paketet (uppströms)
Version: 0.7.2
# Förpackningsversion. Varje gång vi ändrar paketet lägger vi till ett till
# detta nummer. På så sätt vet yum att uppdatera det.
Släpp: 1% {? Dist}
# Kort beskrivning av paketet
Sammanfattning: LÖVE är en gratis 2D-spelmotor för enkel spelskapande i Lua
# Licens (bara namnet)
Licens: ZLIB
# Programwebbplats
URL: http://love2d.org/
# Exakt webbadress från vilken originalkällorna laddas ner, vanligtvis
# i ett arkiv .tar.gz, .zip eller något liknande.
#
# Som du kan se använder vi makron så att om vi uppdaterar paketet finns det inget
# ändra den här raden. Makron "namn" och "version" kommer från vad
# vi har angett ovan.
Källa0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz
# Beroenden som krävs för att bygga paketet.
# Vi vet detta eftersom han lägger det på sin webbplats.
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-utveckling
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: lua-devel
###########
# Lång paketbeskrivning
% beskrivning
LÖVE är en otvivelaktigt fantastisk 2D-spelmotor som möjliggör snabbt spel
utveckling och prototyper i Lua.
Detta projekt utvecklas ständigt och förändringar kommer och går, ibland initierade
av oss och ibland av andras rekommendationer. Om du har en idé om hur
för att göra spelmotorn bättre är det mycket önskvärt att du kontaktar oss och
låt oss veta vad du tycker.
###########
# I det här avsnittet förbereder vi källorna för att sammanställa och tillämpa
# lappar om du har några
% förberedelse
# Detta makro är en funktion som dekomprimerar de ursprungliga källorna.
# Vi anger två parametrar:
# -q: Tyst läge. Skicka inte meddelanden för varje fil
# uppackad.
# -n% name-HEAD: I det här fallet när en katalog skapas kallas
#% name-HEAD. Om vi inte angav detta skulle programmet söka
# en som heter% name-% version och att inte hitta den skulle ge ett fel.
% setup -q -n% name-HEAD
# Som du vet slutar textfiler som skapats i Windows i rn,
# medan i * nix slutar de bara i n. Så till det bättre
# kompatibilitet, vi tar bort r-skivorna i den medföljande dokumentationen.
sed -i's / r // '* .txt
###########
# I detta avsnitt kommer vi att sammanställa källkoden
% bygga
# Detta är detsamma som att göra `. / Konfigurera 'med en massa extra parametrar som
# gör det lätt för oss att inte göra misstag.
% konfigurera
# Lägg till standardalternativen för att göra, om någon.
# I mitt fall expanderar detta till `make -j3`.
göra% {? _ smp_mflags}
###########
# Här installerar vi programmet inuti% buildroot.
% Installera
# Gilla `gör installation` med många nödvändiga fördefinierade parametrar.
% make_install
###########
# Här granskar vi de installerade filerna
% filer
# Vi anger de filer som är dokumentation med den här funktionen
% doc changes.txt licens.txt readme.txt
# Därefter måste du lista alla filer som kommer att installeras.
# Den enda filen som kommer att installera detta är / usr / bin / love, eller vad är detsamma:
% _bindir /% name
###########
# Slutligen måste du fylla i paketets ändringslogg
% förändringslogg
* Fre 18 nov 2011 Jairot Llopis0.7.2-1 @ domain.com>
- Första utgåvan
Vi har ett sista steg innan du skapar paketet: att installera beroenden. Vi använder ett verktyg från paketet yum-utils att läsa dem direkt från filen vi just skapade.
sudo yum-builddep ~ / rpmbuild / SPECS / love.spec
Det borde räcka. Därefter skapar vi paketet.
rpmbuild -ba ~ / rpmbuild / SPECS / love.spec
Redo! Vi har redan vårt paket distribuerat i katalogträdet. Vi kommer att ha:
- ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM redo att installeras.
- ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: RPM-källa redo att enkelt ändra paketet. Den innehåller SPEC-filen, källkoden och korrigeringsfilerna.
du kan göra en handledning för förpackning av .deb
Vilken bra handledning, jag skulle också vilja att du skapar en för .deb
muy bueno