RPM-Verpackung. Teil 3: Verpackung LÖVE

Wir werden den ersten durchführen Praxis de Packen Sie mit RPMund es wird die Engine des Spiels verpacken, das wir spielen wollen. Ohne sie würde das Spiel nicht funktionieren.

Liebe ist alles was man braucht

LIEBE ist eine Engine für 2D-Spiele LuaUnd Nicht Tetris 2 Es ist ein Spiel für diese Engine. Aufgrund von Abhängigkeiten basierend auf libmpg123 Sie befinden sich nicht in den offiziellen Repositories, daher ist es ideal für das Tutorial.

Die in verfügbaren SPEC-Dateien openSUSE Sie haben als Inspiration gedient.

Quellcode herunterladen

Sie müssen die Quellen herunterladen und in den Ordner SOURCES legen.

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

Erstellen Sie eine leere Spezifikationsvorlage

Dieser Befehl wird erstellt liebe.spec. In RPM ist der Name der Dateien sehr wichtig, da seine Nomenklatur ist standardisiert um viele Dinge anzuzeigen, wie z. B. Ihre Architektur, Version, Veröffentlichung, Distribution usw.

cd ~ / rpmbuild / SPECS
rpmdev-Zeitungen Liebe

Wir werden die neu erstellte Datei öffnen ~ / rpmbuild / SPECS / love.spec. Sie werden sehen, dass es sich um eine leere Vorlage handelt. Der erste Teil ist meiner Meinung nach ziemlich selbsterklärend. Wir werden es mit füllen die Informationen auf seiner offiziellen Seite gefunden.

Füllen Sie die Vorlage aus und erstellen Sie unsere erste SPEC

So sieht die vollständige Datei mit vielen Kommentaren aus, die jeden Abschnitt erklären:

# Name des Pakets.
# Gemäß dem Standard entfernen wir den Umlaut zum "o".
Name: Liebe

# Version nach dem ursprünglichen Autor des Pakets (Upstream)
Version: 0.7.2

# Verpackungsversion. Jedes Mal, wenn wir das Paket ändern, fügen wir eines hinzu
# diese Nummer. Auf diese Weise weiß yum, wie man es aktualisiert.
Veröffentlichung: 1% {? Dist}

# Kurze Beschreibung des Pakets
Zusammenfassung: LÖVE ist eine kostenlose 2D-Spiel-Engine für die einfache Erstellung von Spielen in Lua


# Lizenz (nur der Name)
Lizenz: ZLIB

# Programmwebsite
URL: http://love2d.org/

# Genaue URL, von der normalerweise die Originalquellen heruntergeladen werden
# in einem Archiv .tar.gz, .zip oder ähnlichem.
#
# Wie Sie sehen können, verwenden wir Makros, damit wir das Paket nicht aktualisieren müssen
# Ändern Sie diese Zeile. Die Makros "Name" und "Version" stammen von was
# haben wir oben angegeben.
Source0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# Zum Erstellen des Pakets erforderliche Abhängigkeiten.
# Wir wissen das, weil er es auf seine Website stellt.
BuildRequires: flac-devel
BuildRequires: Freetype-Entwicklung
BuildRequires: glibc-devel
BuildRequires: libmpg123-devel
BuildRequires: libmodplug-devel
BuildRequires: physfs-devel
BuildRequires: mesa-libGL-devel
BuildRequires: openal-soft-devel
BuildRequires: DevIL-Entwicklung
BuildRequires: libvorbis-devel
BuildRequires: SDL-Entwicklung
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: lua-devel


##########
# Lange Paketbeschreibung
% Beschreibung
LÖVE ist eine zweifellos großartige 2D-Spiel-Engine, die schnelles Spiel ermöglicht
Entwicklung und Prototyping in Lua.

Dieses Projekt entwickelt sich ständig weiter und Veränderungen kommen und gehen, manchmal initiiert
von uns und manchmal von den Empfehlungen anderer. Wenn Sie eine Idee haben, wie
Um die Spiel-Engine zu verbessern, ist es sehr erwünscht, dass Sie uns kontaktieren und
Lass uns wissen was du denkst.


##########
# In diesem Abschnitt bereiten wir die Quellen zum Kompilieren und Anwenden der vor
# Patches, falls vorhanden
% prep

# Dieses Makro ist eine Funktion, die die Originalquellen dekomprimiert.
# Wir geben 2 Parameter an:
# -q: Ruhiger Modus. Senden Sie keine Nachrichten für jede Datei
# entpackt.
# -n% name-HEAD: In diesem Fall wird beim Entpacken ein Verzeichnis mit dem Namen erstellt
#% name-HEAD. Wenn wir dies nicht angeben würden, würde das Programm suchen
# one namens% name-% version und wenn es nicht gefunden wird, wird ein Fehler ausgegeben.
% setup -q -n% name-HEAD

# Wie Sie wissen, enden in Windows erstellte Textdateien mit rn,
# während in * nix enden sie nur in n. Also zum Besseren
# Kompatibilität, werden wir die Rs in der mitgelieferten Dokumentation entfernen.
sed -i 's / r //' * .txt


##########
# In diesem Abschnitt kompilieren wir den Quellcode
% bauen

# Dies ist dasselbe wie `. / Configure` mit einer Reihe zusätzlicher Parameter, die
# Machen Sie es uns einfach, keine Fehler zu machen.
% konfigurieren

# Fügen Sie ggf. die Standardoptionen hinzu.
# In meinem Fall wird dies zu `make -j3` erweitert.
mache% {? _ smp_mflags}


##########
# Hier installieren wir das Programm in% buildroot.
% Installieren

# Wie `make install` mit vielen erforderlichen vordefinierten Parametern.
% make_install


##########
# Hier prüfen wir die installierten Dateien
% Dateien

# Wir geben die Dateien an, die mit dieser Funktion dokumentiert sind
% doc Changes.txt Lizenz.txt readme.txt

# Als nächstes müssen Sie alle Dateien auflisten, die installiert werden sollen.
# Die einzige Datei, die dies installiert, ist / usr / bin / love oder was ist das gleiche:
% _bindir /% name


##########
# Schließlich müssen Sie das Paketänderungsprotokoll ausfüllen
% Änderungsprotokoll
* Fr 18 Jairot Llopis 0.7.2-1
- Erstveröffentlichung
@ domain.com>

Wir haben einen letzten Schritt vor dem Erstellen des Pakets: Installieren Sie die Abhängigkeiten. Wir werden ein Dienstprogramm aus dem Paket verwenden yum-utils um sie direkt aus der gerade erstellten Datei zu lesen.

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

Das sollte ausreichen. Als nächstes werden wir das Paket erstellen.

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

Bereit! Wir haben unser Paket bereits im Verzeichnisbaum verteilt. Wir werden haben:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM bereit zur Installation.
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Quell-RPM bereit, um das Paket mit Leichtigkeit zu ändern. Es enthält die SPEC-Datei, den Quellcode und die Patches.
Die Spiel-Engine allein bringt uns jedoch nichts. In der nächsten Folge werden wir sehen, wie baue das Spiel selbst.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Swatch sagte

    Sie könnten ein Tutorial zum Verpacken von .deb machen

  2.   Lucas Matías Gomez sagte

    Was für ein gutes Tutorial, ich möchte auch, dass Sie eines für .deb erstellen

  3.   Porter sagte

    muy bueno