Pembungkusan RPM. Bahagian 4: Pembungkusan Bukan Tetris 2

Pada ansuran sebelumnya kami mengemas mesin permainan, sekarang kami harus melakukan perkara yang sama dengan permainan jika kami ingin bermain.

Pembungkusan Bukan Tetris 2

Ini adalah bagaimana SPEC Not Tetris 2. Saya memberikan komen untuk menjelaskan perkara yang berbeza dari apa yang telah dijelaskan di bahagian sebelumnya.

Kali ini tidak ada bahagian% membina. Ini kerana permainan untuk LÖVE adalah fail ZIP dengan sambungannya .love, yang mengandungi skrip Lua. Ayuh, anda tidak perlu menyusun apa-apa.

Nama: nottetris
Versi: 2
Keluaran: 0% {? Dist}
Ringkasan: Tetris klasik dicampur dengan fizik

# Kali ini kami juga memasukkan ringkasan dalam bahasa Sepanyol
Ringkasan (en): Tetris Klasik dicampur dengan fizik
Kumpulan: Hiburan / Permainan

# Kerana ia adalah skrip, seni bina sistem tidak peduli dengan kita
BuildArch: noarch

Lesen: ZLIB / libPng
URL: http://stabyourself.net/%name/
Sumber0: http://stabyourself.net/dl.php?file=%name%version/%name%version-source.zip

# Kami memerlukan program ini untuk mengekstrak ikon dari pelancar permainan
BuildRequires: unzip
BuildRequires: / usr / bin / tukar

# Enjin permainan diperlukan untuk menjalankannya, tetapi tidak untuk membina RPM,
# itu sebabnya kami melabelkannya sebagai Memerlukan dan bukannya BuildRequires
Memerlukan: cinta


% keterangan
Bukan Tetris 2 adalah pengganti rohani Tetris klasik yang dicampurkan
fizik. Hasilnya adalah spinoff yang menyeronokkan di mana blok tidak lagi terikat dengan
grid biasa. Blok dapat diputar dan diletakkan di sudut mana pun, menghasilkan a
kekacauan lengkap jika tidak berhati-hati. Dan dengan teknologi canggih terbaru, Bukan
tetris 2 membenarkan pengosongan garisan apabila garisan diisi dengan cukup. Yang tua
mod masih tersedia untuk dimainkan dan kini dipanggil Stack.

# Kami juga menyertakan terjemahan Sepanyol
% keterangan -l adalah
Bukan Tetris 2 adalah penerus rohani Tetris klasik yang dicampur dengan fizik.
Hasilnya adalah permainan yang menyeronokkan di mana blok tidak lagi terhad
untuk bergerak melalui grid biasa. Blok boleh dipusingkan dan diletakkan di dalam
sebarang sudut, mengakibatkan kekacauan besar jika tidak berhati-hati.
Dengan teknologi terkini, Not Tetris 2 membenarkan garisan kosong ketika
mereka cukup lengkap. Mod lama masih tersedia untuk
bermain, dan kini dipanggil "Stack".


% persediaan
% persediaan -qc

# Sekali lagi kami menghilangkan jenis Windows akhir baris
sed -i / s $ // '* .txt

# Kami menamakan semula fail supaya lebih 'gaya GNU'
mv 'Not Readme.txt' readme.txt
mv 'Not Tetris 2.love'% name.love

# Kami membuat yang boleh dilaksanakan
echo -e "#! / bin / shnlove% _datadir /% name /% name.loven">% nama

# Buat pelancar untuk desktop
echo "[Entri Desktop] Jenis = Aplikasi
Versi =% versi
Pengekodan = UTF-8
Nama = Bukan Tetris 2
Ulasan = Tetris klasik dicampur dengan fizik
Ulasan [en] = Tetris Klasik dicampur dengan fizik
Ikon =% _ ikon96dir /% name.png
Exec =% nama
Terminal = false
StartupNotify = true
Kategori = Aplikasi; Permainan; ArcadeGame;
">% name.desktop

# Kami membuat ikon untuk aplikasi, berdasarkan gambar yang dibawa oleh permainan
unzip -p% name.love grafik / tajuk.png | tukar - -geometri 96x96% name.png


# Kami memasang fail yang diperlukan:
% memasang

# 1. Data permainan
pasang -pDm u = rw, go = r% name.love% buildroot% _datadir /% name /% name.love

# 2. Yang boleh dilaksanakan
pasang -pDm u = rwx, go = rx% name% buildroot% _bindir /% name

# 3. Pelancar desktop
pasang -pDm u = rwx, go = rx% name.desktop% buildroot% _desktopdir /% name.desktop

# 4. Ikon untuk pelancar
pasang -pDm u = rw, go = r% name.png% buildroot% _icons96dir /% name.png


% fail

# Kami menunjukkan bahawa pemilik fail akan menjadi root
% defattr (-, root, root)

# Kami menunjukkan fail mana yang menjadi dokumentasi
% doc readme.txt

# Kami menyenaraikan 4 fail yang akan dipasang oleh pakej ini
% _bindir /% nama
% _datadir /% name /% name.love
% _desktopdir /% name.desktop
% _icons96dir /% name.png

# Kami juga menyenaraikan direktori data sehingga dihapus ketika mencopot pemasangan
% _datadir /% nama


% perubahan
* Jum 18 Nov 2011 Jairot Llopis 2-0
- Pelepasan awal

Setelah ini selesai, kami mengulangi operasi yang sama seperti pada pakej sebelumnya:

sudo yum-builddep ~ / rpmbuild / SPECS / nottetris.spec
rpmbuild -ba ~ / rpmbuild / SPECS / nottetris.spec

Sekarang anda hanya perlu memasang dan bermain:

sudo yum install ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm ~/rpmbuild/RPMS/noarch/nottetris-2-0.fc16.noarch.rpm

kemas kini

Apabila kita ingin mengemas kini pakej, kita mesti menambah jumlah yang ditunjukkan dalam Lepaskan, dan sertakan entri baru di bahagian% changelog. Sekiranya pembaruan dilakukan kerana versi baru telah dirilis, apa yang akan kami lakukan adalah menambah jumlah yang ditunjukkan dalam versi.

Kesimpulan

Ini menamatkan Tutorial pembungkusan RPM. Ini hanya merangkumi asas-asasnya, tetapi saya harap anda telah banyak belajar. Sebaik sahaja anda memahami, anda pasti akan mula mengemas semuanya.

Oh, dan seperti yang saya katakan pada awalnya, berhati-hatilah permainan ini terlalu memikat!

Kursus Pembungkusan RPM: Bahagian 1, Bahagian 2, Bahagian 3


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

2 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan.

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Borisdsp kata

    Saya rasa sangat menarik, terima kasih kerana berkongsi.
    By the way anda tidak dapat melakukan penghantaran lain tetapi dengan fail .deb? Saya akan lebih menghargainya.
    Sesuatu ucapan

  2.   Mari gunakan Linux kata

    Saya akan cuba…
    Ceria! Paul.

bool(benar)