आरपीएम पैकेजिंग। भाग 3: पैकिंग L .VE

हम पहले करेंगे अभ्यास de RPM के साथ पैक करें, और यह उस खेल के इंजन की पैकेजिंग करेगा जिसे हम खेलना चाहते हैं। इसके बिना, खेल काम नहीं करेगा।

आपको बस प्यार की ज़रूरत है

इसे देखें में लिखे गए 2D गेम्स के लिए एक इंजन है लुआ, और टेट्रिस 2 नहीं यह उक्त इंजन के लिए बनाया गया एक खेल है। के आधार पर निर्भरता के कारण libmpg123 वे आधिकारिक रिपॉजिटरी में नहीं हैं, इसलिए यह ट्यूटोरियल के लिए आदर्श है।

में उपलब्ध फाइलें openSUSE उन्होंने प्रेरणा के रूप में सेवा की है।

स्रोत कोड डाउनलोड करें

आपको स्रोतों को डाउनलोड करना होगा और उन्हें SOURCES फ़ोल्डर में डालना होगा।

सीडी ~ / rpmbuild / स्रोत
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz

एक रिक्त युक्ति टेम्पलेट बनाएँ

यह कमांड बनाएगा प्यार.कल्पना। RPM में, फ़ाइलों का नाम काफी महत्वपूर्ण है, क्योंकि इसका नामकरण मानकीकृत है कई चीजों को इंगित करने के लिए, जैसे कि आपका आर्किटेक्चर, संस्करण, रिलीज़, डिस्ट्रो इत्यादि।

सीडी ~ / rpmbuild / विनिर्देश
rpmdev -IPSec love

हम नई बनाई गई फ़ाइल खोलेंगे ~ / rpmbuild / कल्पना / love.spec। आप देखेंगे कि यह एक खाली टेम्पलेट है। मुझे लगता है कि पहला भाग बहुत आत्म व्याख्यात्मक है। हम इसे भरेंगे इसके आधिकारिक पृष्ठ पर मिली जानकारी.

टेम्प्लेट भरें और हमारी पहली युक्ति बनाएं

यहां बताया गया है कि संपूर्ण फ़ाइल बहुत सी टिप्पणियों के साथ दिखती है जो प्रत्येक अनुभाग को समझाती है:

# पैकेज का नाम।
# मानक के अनुसार, हम umlaut को "o" पर हटा देते हैं।
नाम: प्रेम

# पैकेज के मूल लेखक के अनुसार संस्करण (अपस्ट्रीम)
संस्करण: 0.7.2

# पैकेजिंग संस्करण। जब भी हम पैकेज को संशोधित करते हैं, हम एक को जोड़ते हैं
# यह अंक। इस तरह से yum इसे अपडेट करना जानता है।
रिलीज़: 1% {? जिला}

# पैकेज का संक्षिप्त विवरण
सारांश: L easyVE Lua में आसान गेम निर्माण के लिए एक नि: शुल्क 2 डी गेम इंजन है


# लाइसेंस (सिर्फ नाम)
लाइसेंस: ZLIB

# प्रोग्राम वेबसाइट
URL: http://love2d.org/

# सटीक URL जिससे मूल स्रोत डाउनलोड किए जाते हैं, आमतौर पर
# एक संग्रह में .tar.gz, .zip, या कुछ समान।
#
# जैसा कि आप देख सकते हैं, हम मैक्रोज़ का उपयोग करते हैं ताकि यदि हम उस पैकेज को अपडेट करें जो हमारे पास नहीं है
# इस लाइन को संशोधित करें। मैक्रोज़ "नाम" और "संस्करण" क्या से आते हैं
# हमने ऊपर संकेत दिया है।
Source0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# पैकेज बनाने के लिए आवश्यक निर्भरताएँ
# हम यह जानते हैं क्योंकि वह इसे अपनी वेबसाइट पर डालता है।
बिल्डक्रीयरस: फ्लैक-डेवेल
BuildRequires: freetype-devel
बिल्डइरप्राइसेस: ग्लिबेक-डेवेल
बिल्डरप्रायर्स: libmpg123-devel
बिल्डरप्रायर्स: लिबमोडप्लग-डेवेल
BuildRequires: फिजिशियल्स-डेवेल
BuildRequires: mesa-libGL-devel
बिल्डरप्रायर्स: ओपनल-सॉफ्ट-डेवेल
बिल्डरप्रायर्स: डेविल-डेवेल
बिल्डरप्रायर्स: लिबेरवेरिस-डेवेल
बिल्डरप्रायर्स: एसडीएल-डेवेल
बिल्डरप्रायर्स: लिबमन-डेवेल
बिल्डरप्रायर्स: लिबेटिफ-डेवेल
बिल्डरप्रायर्स: लुआ-डेवेल


##########
# लंबा पैकेज विवरण
% विवरण
LÖVE एक निर्विवाद रूप से भयानक 2D गेम इंजन है, जो तीव्र गेम की अनुमति देता है
लुआ में विकास और प्रोटोटाइप।

यह परियोजना लगातार विकसित हो रही है और परिवर्तन कभी-कभी आते हैं और आते हैं
हमारे द्वारा और कभी-कभी दूसरों की सिफारिशों द्वारा। यदि आप कैसे पर एक विचार है
गेम इंजन को बेहतर बनाने के लिए, यह बहुत वांछित है कि आप हमसे संपर्क करें और
मुझे बताओ कि आप क्या सोचते हो।


##########
# इस खंड में हम संकलन करने और लागू करने के लिए स्रोत तैयार करेंगे
# पैच अगर आपके पास कोई है
% प्रीप

# यह मैक्रो एक ऐसा फ़ंक्शन है जो मूल स्रोतों को डिकम्प्रेस करता है।
# हम 2 पैरामीटर दर्शाते हैं:
# -q: चुप मोड। प्रत्येक फ़ाइल के लिए संदेश न भेजें
# अनझिप हो गया।
# -n% name-HEAD: इस मामले में जब किसी डायरेक्टरी को अनजिप किया जाता है तो उसे कॉल किया जाता है
#% नाम-हेड। यदि हम इसे इंगित नहीं करते हैं, तो कार्यक्रम खोज करेगा
# एक को% नाम-% संस्करण कहा जाता है और इसे नहीं ढूंढने से त्रुटि होती है।
% सेटअप -q -n% नाम-HEAD

# जैसा कि आप जानते हैं, विंडोज में बनाई गई टेक्स्ट फाइलें rn में समाप्त हो जाती हैं,
# जबकि * nix में वे केवल n में समाप्त होते हैं। तो बेहतर के लिए
# संगतता, हम शामिल किए गए दस्तावेज़ में r को हटा देंगे।
sed -i 's / r //' * .txt


##########
# इस खंड में हम स्रोत कोड संकलित करेंगे
% निर्माण

# यह अतिरिक्त मापदंडों के एक समूह के साथ `/ कॉन्फ़िगर करें 'के समान है
# हमारे लिए गलतियाँ न करना आसान है।
% कॉन्फ़िगर करें

# यदि कोई हो, बनाने के लिए डिफ़ॉल्ट विकल्प जोड़ें।
# मेरे मामले में, यह `मेक -j3` तक फैलता है।
% {! _ smp_mflags} बनायें


##########
# यहां हम% buildroot के अंदर प्रोग्राम इंस्टॉल करेंगे।
% इंस्टॉल

# जैसे कई आवश्यक पूर्वनिर्धारित मापदंडों के साथ `स्थापित करें`।
% make_install


##########
# यहां हम स्थापित फ़ाइलों का ऑडिट करते हैं
% फाइलें

# हम उन फ़ाइलों को इंगित करेंगे जो इस फ़ंक्शन के साथ प्रलेखन हैं
% doc change.txt licence.txt readme.txt

# इसके बाद आपको उन सभी फाइलों को सूचीबद्ध करना होगा जो इंस्टॉल हो जाएंगी।
# यह स्थापित करने वाली एकमात्र फ़ाइल / usr / bin / love है, या जो समान है:
% _bindir /% नाम


##########
# अंत में, आपको पैकेज में परिवर्तन लॉग भरना होगा
% चेंजलोग
* शुक्र नवंबर 18 2011 जिरोट लोपिस 0.7.2-1
- आरंभिक रिलीज
@ domain.com>

पैकेज बनाने से पहले हमारे पास एक अंतिम चरण है: निर्भरता स्थापित करना। हम पैकेज से एक उपयोगिता का उपयोग करेंगे यम-utils हमारे द्वारा बनाई गई फ़ाइल से सीधे उन्हें पढ़ने के लिए।

सुडो यम-बिल्डडेप ~ / rpmbuild / स्पेस / love.spec

यह पर्याप्त होना चाहिए। आगे हम पैकेज बनाएंगे।

rpmbuild -ba ~ / rpmbuild / कल्पना / love.spec

तैयार! हमारे पास पहले से ही हमारे पैकेज को डायरेक्टरी ट्री में वितरित किया गया है। हमारे पास होगा:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM इंस्टॉल करने के लिए तैयार
  • ~ / rpmbuild / SRPMS / प्यार-0.7.2-1.fc16.src.rpm: स्रोत RPM आसानी से पैकेज को संशोधित करने के लिए तैयार है। इसमें विशेष फ़ाइल, स्रोत कोड और पैच शामिल हैं।
हालाँकि, खेल इंजन होने से हमें अपने दम पर कोई फायदा नहीं होगा। अगली किस्त में हम देखेंगे कि कैसे खेल ही बनाएँ.


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   नमूना कहा

    आप पैकेजिंग .deb के लिए एक ट्यूटोरियल कर सकते हैं

  2.   लुकस मतीस गोमेज़ कहा

    क्या एक अच्छा ट्यूटोरियल, मैं भी आप के लिए एक .deb बनाना चाहते हैं

  3.   पोर्टो कहा

    बहुत अच्छा