RPM paketleme. Bölüm 3: LÖVE'i Paketleme

İlkini gerçekleştireceğiz uygulama de RPM ile paketve oynamak istediğimiz oyunun motorunu paketleyecek. Onsuz oyun çalışmazdı.

Tek ihtiyacın aşk

GÖRÜYOR ile yazılmış 2D oyunlar için bir motordur LuaVe Tetris 2 değil adı geçen motor için yapılmış bir oyundur. Şuna dayalı bağımlılıklar nedeniyle libmpg123 Resmi havuzlarda değiller, bu yüzden eğitim için idealdir.

Mevcut SPEC dosyaları openSUSE ilham kaynağı oldular.

Kaynak kodunu indirin

Kaynakları indirmeniz ve KAYNAKLAR klasörüne koymanız gerekecektir.

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

Boş bir özellik şablonu oluşturun

Bu komut oluşturacak aşk.spec. RPM'de dosyaların adı oldukça önemlidir, çünkü terminolojisi standartlaştırılmıştır mimariniz, sürümünüz, sürümünüz, dağıtımınız vb. gibi birçok şeyi belirtmek için

cd ~ / rpmbuild / SPECS
rpmdev-gazetec aşk

Yeni oluşturulan dosyayı açacağız ~ / rpmbuild / SPECS / love.spec. Bunun boş bir şablon olduğunu göreceksiniz. Bence ilk bölüm oldukça açıklayıcı. Dolduracağız resmi sayfasında bulunan bilgiler.

Şablonu doldurun ve ilk SPEC'imizi oluşturun

Tam dosyanın nasıl göründüğünü, her bölümü açıklayan birçok yorumla birlikte koydum:

# Paketin adı.
# Standarda göre, umlaut'u "o" işaretine kaldırıyoruz.
İsim: aşk

# Paketin orijinal yazarına göre sürüm (yukarı akış)
Sürüm: 0.7.2

# Paketleme versiyonu. Paketi her değiştirdiğimizde, pakete bir tane ekleriz
# bu numara. Bu şekilde yum onu ​​güncellemeyi bilir.
Sürüm:% 1 {? Dist}

# Paketin kısa açıklaması
Özet: LÖVE, Lua'da kolay oyun oluşturma için ücretsiz bir 2D oyun motorudur


# Lisans (sadece ad)
Lisans: ZLIB

# Program web sitesi
URL: http://love2d.org/

# Orijinal kaynakların indirildiği tam URL, genellikle
# .tar.gz, .zip veya benzeri bir arşivde.
#
# Gördüğünüz gibi, makroları kullanıyoruz, böylece paketi güncellersek
# bu satırı değiştirin. Makrolar "ad" ve "sürüm",
# yukarıda belirtmiştik.
Kaynak0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# Paketi oluşturmak için gerekli bağımlılıklar.
# Bunu web sitesine koyduğu için biliyoruz.
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


##########
# Uzun paket açıklaması
% açıklama
LÖVE, tartışmasız harika bir 2D oyun motorudur ve hızlı oyun
Lua'da geliştirme ve prototipleme.

Bu proje sürekli gelişiyor ve değişiklikler gelir ve gider, bazen başlar
bizim tarafımızdan ve bazen başkalarının tavsiyeleriyle. Nasıl olduğuna dair bir fikrin varsa
oyun motorunu daha iyi hale getirmek için bizimle iletişime geçmeniz çok arzu edilir ve
Haydi ne düşündüğünü söyle.


##########
# Bu bölümde kaynakları derlemek ve uygulamak için hazırlayacağız.
Varsa # yama
% hazırlık

# Bu makro, orijinal kaynakları açan bir işlevdir.
# 2 parametre belirtiyoruz:
# -q: Sessiz mod. Her dosya için mesaj göndermeyin
# sıkıştırılmamış.
# -n% name-HEAD: Bu durumda, bir dizini açarken adı verilen
#% name-HEAD. Bunu belirtmeseydik, program arardı
# biri% name-% version aradı ve bulamamak bir hata verecektir.
% setup -q -n% name-HEAD

# Bildiğiniz gibi, Windows'ta oluşturulan metin dosyaları rn ile biter,
# * nix'te ise sadece n ile bitiyorlar. Yani daha iyisi için
# uyumluluk, dahil olan dokümantasyondaki r'leri kaldıracağız.
sed -i 's / r //' * .txt


##########
# Bu bölümde kaynak kodunu derleyeceğiz
% inşa etmek

# Bu, bir dizi ekstra parametre ile ". / Yapılandır" yapmakla aynıdır.
# hata yapmamamızı kolaylaştırın.
% yapılandır

# Varsa, yapılacak varsayılan seçenekleri ekleyin.
# Benim durumumda, bu "make -j3" e genişler.
% {? _ smp_mflags} yap


##########
# Burada programı% buildroot içine kuracağız.
% Yüklemek

# Gerekli önceden tanımlanmış birçok parametreyle "make install" gibi.
% make_install


##########
# Burada kurulu dosyaları denetleriz
% Dosyalar

# Bu işlevle dokümantasyon olan dosyaları göstereceğiz
% doc changes.txt license.txt readme.txt

# Ardından yüklenecek tüm dosyaları listelemelisiniz.
# Bunu kuracak tek dosya / usr / bin / love veya aynısıdır:
% _bindir /% name


##########
# Son olarak, paket değişiklik günlüğünü doldurmanız gerekir
% değişim günlüğü
* Cum Kasım 18 2011 Jairot Llopis 0.7.2-1
- İlk sürüm
@ alan.com>

Paketi oluşturmadan önce son bir adımımız var: bağımlılıkları kurmak. Paketten bir yardımcı program kullanacağız yum-utils onları doğrudan oluşturduğumuz dosyadan okumak için.

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

Bu yeterli olmalı. Ardından paketi oluşturacağız.

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

Hazır! Paketimizi zaten dizin ağacında dağıtmış durumdayız. Sahip olacağız:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM kuruluma hazır.
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Kaynak RPM'si paketi kolaylıkla değiştirmeye hazır. SPEC dosyasını, kaynak kodunu ve yamaları içerir.
Ancak, oyun motoruna sahip olmak kendi başına bize bir fayda sağlamaz. Bir sonraki taksitte nasıl olduğunu göreceğiz oyunun kendisini inşa et.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   parça kumaş dijo

    deb paketleme için bir eğitim yapabilirsiniz.

  2.   Lucas matias gomez dijo

    Ne kadar iyi bir öğretici, .deb için de bir tane hazırlamanızı istiyorum

  3.   Portaro dijo

    muy bueno