RPMパッケージ。 パート3:LÖVEの梱包

最初に実施します 練習する de RPMでパック、そしてそれは私たちがプレイしたいゲームのエンジンをパッケージ化するでしょう。 それがなければ、ゲームは機能しません。

あなたが必要なものは愛です

それを見る で書かれた2Dゲーム用のエンジンです Luaの、そして、 テトリス2ではない それはそのエンジンのために作られたゲームです。 に基づく依存関係のため libmpg123 それらは公式リポジトリにないので、チュートリアルに最適です。

で利用可能なSPECファイル openSUSEの 彼らはインスピレーションとして役立ってきました。

ソースコードをダウンロードする

ソースをダウンロードして、SOURCESフォルダーに配置する必要があります。

cd〜 / rpmbuild /ソース
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz

空白の仕様テンプレートを作成する

このコマンドは作成します 愛仕様。 RPMでは、ファイルの名前は非常に重要です。 その命名法は標準化されています そのため、アーキテクチャ、バージョン、リリース、ディストリビューションなど、多くのことを示します。

cd〜 / rpmbuild / SPECS
rpmdev-newspec 愛

新しく作成したファイルを開きます 〜/ rpmbuild / SPECS / love.spec。 空白のテンプレートであることがわかります。 私が思う最初の部分はかなり自明です。 で埋めます 公式ページにある情報.

テンプレートに記入して、最初のSPECを作成します

各セクションを説明する多くのコメントを含む完全なファイルの外観は次のとおりです。

#パッケージの名前。
#規格によれば、ウムラウトを「o」に削除します。
名前:愛

#パッケージの元の作成者によるバージョン(アップストリーム)
バージョン:0.7.2

#パッケージバージョン。 パッケージを変更するたびに、パッケージを追加します
# この番号。 このようにして、yumはそれを更新することを知っています。
リリース:1%{?距離}

#パッケージの簡単な説明
概要:LÖVEは、Luaで簡単にゲームを作成できる無料の2Dゲームエンジンです。


#ライセンス(名前のみ)
ライセンス:ZLIB

#プログラムのウェブサイト
URL:http://love2d.org/

#元のソースがダウンロードされた正確なURL、通常は
#アーカイブ内.tar.gz、.zip、または同様のもの。
#
#ご覧のとおり、マクロを使用しているため、パッケージを更新しても何も起こりません。
#この行を変更します。 マクロ「名前」と「バージョン」は何から来ています
#上記で示しました。
Source0:https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


#パッケージのビルドに必要な依存関係。
#彼が彼のウェブサイトにそれを置いているので、私たちはこれを知っています。
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-開発
BuildRequires:libvorbis-devel
BuildRequires:SDL-開発
BuildRequires:libmng-devel
BuildRequires:libtiff-devel
BuildRequires:lua-devel


##########
#長いパッケージの説明
%説明
LÖVEは間違いなく素晴らしい2Dゲームエンジンであり、迅速なゲームを可能にします
Luaでの開発とプロトタイピング。

このプロジェクトは絶えず進化しており、変化が起こり、時には開始されます
私たちによって、そして時には他の人の推薦によって。 あなたが方法についての考えを持っているなら
ゲームエンジンをより良くするために、私たちに連絡して
ご意見をお聞かせください。


##########
#このセクションでは、コンパイルして適用するためのソースを準備します
#パッチがある場合
%準備

#このマクロは、元のソースを解凍する関数です。
#2つのパラメータを示します:
#-q:クワイエットモード。 ファイルごとにメッセージを送信しないでください
#解凍しました。
#-n%name-HEAD:この場合、ディレクトリを解凍すると、
#%名前-HEAD。 これを示さなかった場合、プログラムは検索します
#XNUMXつは%name-%versionと呼ばれ、それが見つからないとエラーが発生します。
%setup -q -n%name-HEAD

#ご存知のように、Windowsで作成されたテキストファイルはrnで終わります。
#* nixにいる間は、nでのみ終了します。 だからより良い
#互換性、含まれているドキュメントのrを削除します。
sed -i's / r // '* .txt


##########
#このセクションでは、ソースコードをコンパイルします
%ビルド

#これは、 `。/ Configure`を実行するのと同じです。
#間違いを犯さないようにします。
% 構成、設定

#デフォルトのオプションを追加します(ある場合)。
#私の場合、これは `make-j3`に展開されます。
make%{?_ smp_mflags}


##########
#ここでは、%buildroot内にプログラムをインストールします。
%インストール

#多くの必須の事前定義されたパラメータを持つ `makeinstall`のように。
%make_install


##########
#ここでは、インストールされたファイルを監査します
%ファイル

#この関数のドキュメントであるファイルを示します
%docchanges.txtlicense.txtreadme.txt

#次に、インストールするすべてのファイルを一覧表示する必要があります。
#これをインストールする唯一のファイルは/ usr / bin / love、または同じものです:
%_bindir /%名前


##########
#最後に、パッケージに変更ログを入力する必要があります
%変更ログ
* 18年2011月XNUMX日金曜日JairotLlopis 0.7.2-1
- 初回リリース
@ domain.com>

パッケージを作成する前の最後のステップは、依存関係のインストールです。 パッケージのユーティリティを使用します yum-utils 作成したファイルから直接読み取ることができます。

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

それで十分です。 次に、パッケージを作成します。

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

準備ができました! パッケージはすでにディレクトリツリーに配布されています。 私たちは持っているでしょう:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm:RPMをインストールする準備ができました。
  • 〜/ rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm:ソースRPMは、パッケージを簡単に変更する準備ができています。 これには、SPECファイル、ソースコード、およびパッチが含まれています。
ただし、ゲームエンジンを持っていても、それだけでは何の役にも立ちません。 次の記事では、その方法を見ていきます ゲーム自体を構築する.


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   材料見本

    .debをパッケージ化するためのチュートリアルを行うことができます

  2.   ルーカスマティアスゴメス

    なんて良いチュートリアルでしょう。.deb用のチュートリアルも作ってほしいです。

  3.   ポルタロ

    ブエノMUY