Kami akan melaksanakan yang pertama amalan de pek dengan RPM, dan ia akan mengemas mesin permainan yang ingin kita mainkan. Tanpa itu, permainan tidak akan berjaya. |
Yang anda perlukan hanyalah LÖVE
Fail SPEC tersedia dalam openSUSE mereka telah menjadi inspirasi.
Muat turun kod sumber
Anda harus memuat turun sumbernya dan memasukkannya ke dalam folder SUMBER.
cd ~ / rpmbuild / SUMBER
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz
Buat templat spek kosong
Perintah ini akan dibuat cinta.spec. Dalam RPM nama fail sangat penting, sejak tatanama diseragamkan untuk menunjukkan banyak perkara, seperti seni bina, versi, pelepasan, distro, dll.
cd ~ / rpmbuild / SPECS
rpmdev-newspec cinta
Kami akan membuka fail yang baru dibuat ~ / rpmbuild / SPECS / love.spec. Anda akan melihat bahawa ia adalah templat kosong. Bahagian pertama yang saya fikir cukup jelas. Kami akan mengisinya dengan maklumat yang terdapat di halaman rasminya.
Isi templat dan buat SPEC pertama kami
Saya meletakkan rupa fail lengkap dengan banyak komen yang menerangkan setiap bahagian:
# Nama pakej.
# Menurut standard, kami mengalihkan umlaut ke "o".
Nama: cinta
# Versi mengikut pengarang asal pakej (hulu)
Versi: 0.7.2
# Versi pembungkusan. Setiap kali kita mengubah suai pakej, kita menambahnya
# nombor ini. Dengan cara ini yum tahu untuk mengemas kini.
Keluaran: 1% {? Dist}
# Penerangan ringkas mengenai pakej
Ringkasan: LÖVE adalah mesin permainan 2D percuma untuk pembuatan permainan yang mudah di Lua
# Lesen (hanya nama)
Lesen: ZLIB
# Laman web program
URL: http://love2d.org/
# URL tepat dari mana sumber asalnya dimuat turun
# dalam arkib .tar.gz, .zip, atau yang serupa.
#
# Seperti yang anda lihat, kami menggunakan makro sehingga jika kami mengemas kini pakej tidak ada
# ubah baris ini. Makro "nama" dan "versi" berasal dari apa
# kami telah menunjukkan di atas.
Sumber0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz
# Ketergantungan diperlukan untuk membina pakej.
# Kami tahu ini kerana dia meletakkannya di laman webnya.
BuildRequires: flac-devel
BuildRequires: freetype-devel
BuildRequires: glibc-devel
BuildRequires: libmpg123-devel
BuildRequires: libmodplug-devel
BuildRequires: physfs-devel
BuildRequires: mesa-libGL-devel
BuildRequires: pembukaan terbuka-lembut
BuildRequires: DevIL-devel
BuildRequires: libvorbis-devel
BuildRequires: SDL-devel
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: lua-devel
##########
# Penerangan pakej panjang
% keterangan
LÖVE adalah enjin permainan 2D yang tidak diragukan lagi, yang membolehkan permainan pantas
pembangunan dan prototaip di Lua.
Projek ini sentiasa berkembang dan perubahan datang dan pergi, kadang-kadang dimulakan
oleh kami dan kadang-kadang oleh cadangan orang lain. Sekiranya anda mempunyai idea tentang bagaimana
Untuk menjadikan enjin permainan lebih baik, sangat diharapkan anda menghubungi kami dan
beritahu kami pendapat anda.
##########
# Di bahagian ini kita akan menyiapkan sumber untuk menyusun dan menerapkan
# tambalan jika ada
% persediaan
# Makro ini adalah fungsi yang menyahmampatkan sumber asalnya.
# Kami menunjukkan 2 parameter:
# -q: Mod senyap. Jangan hantar mesej untuk setiap fail
# zip.
# -n% name-HEAD: Dalam kes ini ketika membuka zip direktori dibuat dipanggil
#% nama-KEPALA. Sekiranya kami tidak menunjukkannya, program akan mencari
# yang disebut% name-% version dan tidak menjumpainya akan memberikan ralat.
% setup -q -n% name-HEAD
# Seperti yang anda ketahui, fail teks yang dibuat di Windows berakhir dengan rn,
# semasa di * nix mereka berakhir hanya di n. Jadi untuk yang lebih baik
# keserasian, kami akan membuang r dalam dokumentasi yang disertakan.
sed -i / s // '* .txt
##########
# Di bahagian ini kita akan menyusun kod sumber
% membina
# Ini sama dengan melakukan `. / Configure` dengan sekumpulan parameter tambahan yang
#mudahkan kita untuk tidak melakukan kesalahan.
% mengkonfigurasi
# Tambahkan pilihan lalai untuk dibuat, jika ada.
# Dalam kes saya, ini berkembang menjadi `make -j3`.
buat% {? _ smp_mflags}
##########
# Di sini kita akan memasang program di dalam% buildroot.
% memasang
# Like `make install` dengan banyak parameter yang telah ditentukan sebelumnya.
% buat_pasang
##########
# Di sini kita mengaudit fail yang dipasang
% fail
# Kami akan menunjukkan fail yang didokumentasikan dengan fungsi ini
% doc berubah.txt lesen.txt readme.txt
# Seterusnya anda harus menyenaraikan semua fail yang akan dipasang.
# Satu-satunya fail yang akan memasangnya ialah / usr / bin / love, atau yang sama:
% _bindir /% nama
##########
# Akhirnya, anda perlu mengisi log perubahan pakej
% perubahan
* Jum 18 Nov 2011 Jairot Llopis0.7.2-1 @ domain.com>
- Pelepasan awal
Kami mempunyai satu langkah terakhir sebelum membuat pakej: memasang pergantungan. Kami akan menggunakan utiliti dari pakej yum-utils untuk membacanya terus dari fail yang baru kita buat.
sudo yum-builddep ~ / rpmbuild / SPECS / love.spec
Itu sudah mencukupi. Seterusnya kami akan membuat pakej.
rpmbuild -ba ~ / rpmbuild / SPECS / love.spec
Sedia! Kami sudah mengedarkan pakej kami di pohon direktori. Kita akan mempunyai:
- ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM sedia dipasang.
- ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: RPM sumber siap mengubah pakej dengan mudah. Ia merangkumi fail SPEC, kod sumber dan tambalannya.
anda boleh melakukan tutorial untuk mengemas .deb
Apa tutorial yang bagus, saya juga ingin anda membuatnya untuk .deb
sangat baik