التعبئة والتغليف RPM. الجزء 3: تعبئة LÖVE

سنقوم بتنفيذ الأول الممارسة de حزمة مع RPM، وسيتم تغليف محرك اللعبة التي نريد لعبها. بدونها ، لن تنجح اللعبة.

كل ما تحتاج إليه هو الحب

تراه هو محرك للألعاب ثنائية الأبعاد مكتوبة بلغة لوا، لا تتريس 2 إنها لعبة مصممة للمحرك المذكور. بسبب التبعيات على أساس libmpg123 إنها ليست في المستودعات الرسمية ، لذا فهي مثالية للبرنامج التعليمي.

تتوفر ملفات SPEC بتنسيق زحمة لقد كانوا بمثابة مصدر إلهام.

تنزيل الكود المصدري

سيتعين عليك تنزيل المصادر ووضعها في مجلد SOURCES.

cd ~ / rpmbuild / المصادر
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz

قم بإنشاء قالب مواصفات فارغ

هذا الأمر سيخلق الحب. في RPM ، يعد اسم الملفات مهمًا جدًا ، منذ ذلك الحين تسمياتها موحدة بحيث يشير إلى أشياء كثيرة ، مثل بنيته وإصداره وإصداره وتوزيعه ، إلخ.

cd ~ / rpmbuild / المواصفات
rpmdev-newsec love

سنفتح الملف الذي تم إنشاؤه حديثًا ~ / rpmbuild / المواصفات / love.spec. سترى أنه قالب فارغ. الجزء الأول أعتقد أنه توضيحي لنفسه. سنملأها المعلومات الموجودة على صفحتها الرسمية.

املأ النموذج وأنشئ أول المواصفات الخاصة بنا

إليك كيف يبدو الملف الكامل مع الكثير من التعليقات التي تشرح كل قسم:

# اسم الحزمة.
# وفقًا للمعيار ، نقوم بإزالة العلامة إلى "o".
الاسم: الحب

# الإصدار وفقًا للمؤلف الأصلي للحزمة (upstream)
الإصدار 0.7.2

# نسخة التغليف. في كل مرة نقوم بتعديل الحزمة ، نضيف واحدة إلى
# هذا العدد. بهذه الطريقة يعرف yum تحديثه.
الإصدار: 1٪ {؟ Dist}

# وصف موجز للحزمة
ملخص: LÖVE هو محرك ألعاب ثنائي الأبعاد مجاني لإنشاء لعبة سهلة في Lua


# رخصة (الاسم فقط)
الترخيص: ZLIB

# موقع البرنامج
URL: http://love2d.org/

# عنوان URL الدقيق الذي يتم من خلاله تنزيل المصادر الأصلية
# في أرشيف .tar.gz أو .zip أو شيء مشابه.
#
# كما ترى ، نستخدم وحدات الماكرو بحيث إذا قمنا بتحديث الحزمة فلا يوجد
# تعديل هذا الخط. تأتي وحدات الماكرو "الاسم" و "الإصدار" من ماذا
# أشرنا إليه أعلاه.
المصدر 0: https://bitbucket.org/rude/٪name/downloads/٪name-٪version-linux-src.tar.gz


# التبعيات المطلوبة لبناء الحزمة.
# نحن نعلم هذا لأنه وضعه على موقعه على الإنترنت.
يتطلب البناء: flac-devel
يتطلب BuildRequires: freetype-devel
يتطلب BuildRequires: glibc-devel
يتطلب Build: libmpg123-devel
يتطلب Build: libmodplug-devel
يتطلب BuildRequires: physfs-devel
يتطلب البناء: mesa-libGL-devel
يتطلب البناء: openal-soft-devel
يتطلب البناء: DevIL-devel
يتطلب البناء: libvorbis-devel
متطلبات البناء: SDL-devel
يتطلب Build: libmng-devel
يتطلب البناء: libtiff-devel
يتطلب البناء: lua-devel


##########
# وصف الحزمة الطويل
٪ وصف
LÖVE هو محرك ألعاب ثنائي الأبعاد رائع بلا شك ، والذي يسمح باللعب السريع
التطوير والنماذج الأولية في Lua.

هذا المشروع يتطور باستمرار والتغييرات تأتي وتذهب ، في بعض الأحيان تبدأ
من قبلنا وأحيانًا بتوصيات الآخرين. إذا كان لديك فكرة عن كيفية القيام بذلك
لجعل محرك اللعبة أفضل ، من المرغوب فيه بشدة أن تتصل بنا و
اسمحوا لنا أن نعرف ما هو رأيك.


##########
# في هذا القسم ، سنقوم بإعداد المصادر لتجميع وتطبيق
# بقع إذا كان لديك أي منها
٪ تجهيز

# هذا الماكرو هو دالة تقوم بفك ضغط المصادر الأصلية.
# نشير إلى معلمتين:
# -q: الوضع الهادئ. لا ترسل رسائل لكل ملف
# غير مضغوط.
# -n٪ name-HEAD: في هذه الحالة عند فك ضغط الدليل يتم استدعاؤه
#٪ اسم- HEAD. إذا لم نقم بالإشارة إلى هذا ، فسيبحث البرنامج
# واحد يسمى٪ name-٪ الإصدار وعدم العثور عليه سيعطي خطأ.
إعداد٪ -q -n٪ اسم-رأس

# كما تعلم ، تنتهي الملفات النصية التي تم إنشاؤها في Windows بـ rn ،
# بينما في * لا شيء ، تنتهي فقط بـ n. لذلك من أجل الأفضل
# التوافق ، سنقوم بإزالة r في الوثائق المضمنة.
sed -i 's / r //' * .txt


##########
# في هذا القسم سنقوم بتجميع الكود المصدري
٪ بناء

# هذا هو نفس عمل ". / تكوين" مع مجموعة من المعلمات الإضافية التي
# اجعل من السهل علينا عدم ارتكاب الأخطاء.
٪ تهيئة

# أضف الخيارات الافتراضية لعملها ، إن وجدت.
# في حالتي ، يتم توسيع هذا إلى `make -j3`.
اجعل٪ {؟ _ smp_mflags}


##########
# هنا سنقوم بتثبيت البرنامج داخل٪ buildroot.
٪ تثبيت

# مثل "التثبيت" مع العديد من المعلمات المحددة مسبقًا المطلوبة.
٪ make_install


##########
# هنا نقوم بتدقيق الملفات المثبتة
٪ ملفات

# سنشير إلى الملفات التي هي وثائق مع هذه الوظيفة
٪ doc Changes.txt License.txt readme.txt

# بعد ذلك ، يجب عليك سرد جميع الملفات التي سيتم تثبيتها.
# الملف الوحيد الذي سيقوم بتثبيت هذا هو / usr / bin / love ، أو ما هو نفسه:
٪ _bindir /٪ اسم


##########
# أخيرًا ، يجب عليك ملء سجل التغيير في الحزمة
٪ التغيير
* الجمعة 18 نوفمبر 2011 جايروت لوبيس 0.7.2-1
- الإصدار الأولي
@ domain.com>

لدينا خطوة أخيرة قبل إنشاء الحزمة: تثبيت التبعيات. سوف نستخدم الأداة المساعدة من الحزمة يم تيلس لقراءتها مباشرة من الملف الذي أنشأناه للتو.

sudo yum-builddep ~ / rpmbuild / المواصفات / love.spec

يجب أن يكون كافيا. بعد ذلك سننشئ الحزمة.

rpmbuild -ba ~ / rpmbuild / المواصفات / 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: Source RPM جاهز لتعديل الحزمة بسهولة. يتضمن ملف SPEC وكود المصدر والتصحيحات.
ومع ذلك ، فإن امتلاك محرك اللعبة لن يفيدنا بمفرده. في الدفعة القادمة سوف نرى كيف بناء اللعبة نفسها.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   سواتش قال

    يمكنك عمل برنامج تعليمي لتعبئة ملفات .deb

  2.   لوكاس ماتياس جوميز قال

    يا له من برنامج تعليمي جيد ، أود أيضًا أن تصنع واحدًا لـ .deb

  3.   بورتارو قال

    جيد جدا