Skip to main content

دليل التعبئة والتغليف أوبونتو - التعبئة والتغليف مع Debhelper

Epson L382 ink Filling (أبريل 2025)

Epson L382 ink Filling (أبريل 2025)

جدول المحتويات:

Anonim

التغليف مع Debhelper

مهم

المتطلبات: المتطلبات من قسم يسمى "تغليف من الصفر" بالإضافة إلى debhelper و dh-make

بصفتك جهاز ربط ، نادرًا ما ستقوم بإنشاء حزم من البداية كما فعلنا في القسم السابق. كما يمكنك أن تتخيل الكثير من المهام والمعلومات في قواعد الملف ، على سبيل المثال ، شائعة في الحزم. لجعل التعبئة أسهل وأكثر كفاءة ، يمكنك استخدامها debhelper للمساعدة في هذه المهام. Debhelper هو مجموعة من البرامج النصية Perl (مسبوقة بـ dh_) أن أتمتة عملية بناء الحزمة. مع هذه النصوص ، يصبح بناء حزمة دبيان أمرًا بسيطًا للغاية.

في هذا المثال ، سنبني حزمة GNU Hello مرة أخرى ، ولكن هذه المرة سنقوم بمقارنة عملنا مع Ubuntu مرحبا-debhelper صفقة. مرة أخرى ، قم بإنشاء دليل حيث ستعمل:

mkdir ~ / hello-debhelper cd ~ / hello-debhelper wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz mkdir ubuntu cd ubuntu

ثم ، احصل على حزمة مصدر أوبونتو:

apt-get source hello-debhelper cd ..

مثل المثال السابق ، فإن أول شيء يتعين علينا القيام به هو فك الأكياس الأصلية (المنبع).

tar -xzvf hello-2.1.1.tar.gz

بدلا من نسخ المنبع hello_2.1.1.orig.tar.gz كما فعلنا في المثال السابق ، سنسمح dh_make نفذ العمل لنا. الشيء الوحيد الذي عليك القيام به هو إعادة تسمية المجلد المصدر بحيث يكون في شكل - حيث packagename صغير. في هذه الحالة ، ينتج فقط عدم انتظام التعمية دليل مصدر مسمى بشكل صحيح حتى نتمكن من الانتقال إليه:

مؤتمر نزع السلاح مرحبا -1.2.1

لإنشاء "debianization" الأولي للمصدر الذي سنستخدمه dh_make.

dh_make -e your.maintainer@address -f ../hello-2.1.1.tar.gz

عندها سيطلب منك dh_make سلسلة من الأسئلة:

نوع الحزمة: ثنائي واحد ، ثنائي متعدد ، مكتبة ، وحدة النواة أو cdbs؟ ق / م / ل / ك / ب الصورة اسم جهة الصيانة: Captain Packager عنوان البريد الإلكتروني: [email protected] التاريخ: Thu، 6 Apr 2006 10:07:19 -0700 اسم الحزمة: hello الإصدار: 2.1.1 الترخيص: blank نوع العرض: Single Hit للتأكيد: أدخل

الحذر

تشغيل فقط dh_make -e ذات مرة. إذا قمت بتشغيله مرة أخرى بعد القيام بذلك في المرة الأولى ، فإنه لن يعمل بشكل صحيح. إذا كنت ترغب في تغييرها أو ارتكبت خطأ ، فقم بإزالة الدليل المصدر وقم بإعادة تنشيط tarball tar المنبع من جديد. ثم يمكنك الانتقال إلى الدليل المصدر والمحاولة مرة أخرى.

جري dh_make -e يفعل شيئين:

  • يخلق hello_2.1.1.orig.tar.gz ملف في الدليل الرئيسي ،
  • يخلق الملفات الأساسية اللازمة في ديبيان / والعديد من ملفات القوالب (.ex) التي قد تكون مطلوبة.

ال مرحبا البرنامج ليس معقدًا جدًا ، وكما رأينا في القسم المسمى "تغليف من سكراتش" ، فإن التغليف لا يتطلب أكثر بكثير من الملفات الأساسية. لذلك ، دعونا إزالة .EX ملفات:

cd debian rm * .ex * .EX

إلى عن على مرحبا، فلن تفعل أيضا

* رخصة

* Ubuntu دليل دليل التغليف

بحاجة إلى README.Debian (ملف README لمشكلات ديبيان محددة ، وليس README للبرنامج) ، تطبيق الاستعراض المفصل (استعمل من قبل dh_installdirs لإنشاء الأدلة المطلوبة) ، مستندات (استعمل من قبل dh_installdocs لتثبيت وثائق البرنامج) ، أو معلومات (استعمل من قبل dh_installinfo لتثبيت ملفات المعلومات) في الملفات ديبيان دليل. لمزيد من المعلومات حول هذه الملفات ، راجع القسم المسمى "dh_make example files".

في هذه المرحلة ، يجب أن يكون لديك فقط التغيير, COMPAT, مراقبة, حقوق النشرو قواعد الملفات في ديبيان دليل. من المقطع المسمى "Packaging From Scratch" ، الملف الوحيد الجديد هو COMPAT، وهو ملف يحتوي على debhelper الإصدار (في هذه الحالة 4) الذي يتم استخدامه.

سوف تحتاج إلى ضبط التغييرقليلا في هذه الحالة لتعكس أن يتم تسمية هذه الحزمة مرحبا-debhelper افضل من مجرد مرحبا:

hello-debhelper (2.1.1-1) dapper؛ إلحاح = منخفض * الإصدار الأولي - كابتن الرابط الخميس ، 6 أبريل 2006 10:07:19 -0700

باستخدام debhelper، الأشياء الوحيدة التي نحتاج لتغييرها مراقبة اسم (استبدال) مرحبا إلى عن على مرحبا-debhelper) وإضافة debhelper (> = 4.0.0) الى البناء يتوقف الحقل لحزمة المصدر. حزمة أوبونتو ل مرحبا-debhelper يشبه:

المصدر: hello-debhelper Section: devel Priority: extra Mainer: Capitan Packager Standards-Version: 3.6.1 Build-Depends: debhelper (> = 4) الحزمة: hello-debhelper Architecture: any Depends: $ {shlibs: Depends} Conflicts: hello يوفر: hello بديل: hello الوصف: التحية الكلاسيكية ، و مثال جيد يقدم برنامج غنو الترفيهي تحية ودية مألوفة. فهي تسمح لغير المبرمجين باستخدام أداة علوم الكمبيوتر الكلاسيكية التي قد لا تكون متاحة لهم. . على محمل الجد ، على الرغم من ذلك: هذا مثال على كيفية تنفيذ حزمة دبيان. إنها نسخة دبيان من برنامج "hello world" الخاص بمشروع جنو (والذي يعد في حد ذاته مثالاً لمشروع غنو). . هذا هو نفس حزمة hello ، باستثناء أنه يستخدم debhelper لإجراء deb. يرجى الاطلاع على debhelper على ما هو عليه.

يمكننا نسخ حقوق النشر الملف و postinst و prerm مخطوطات من أوبونتو مرحبا-debhelper الحزمة ، لأنها لم تتغير منذ قسم يسمى "التعبئة والتغليف من سكراتش". سننسخ أيضا قواعد الملف حتى نتمكن من فحصها.

cp ../../ubuntu/hello-debhelper-2.1.1/debian/copyright. cp ../../ubuntu/hello-debhelper-2.1.1/debian/postinst. cp ../../ubuntu/hello-debhelper-2.1.1/debian/prerm. cp ../../ubuntu/hello-debhelper-2.1.1/debian/rules.

الملف الأخير الذي نحتاج إلى النظر فيه هو قواعدحيث قوة debhelper مخطوطات يمكن رؤيتها. ال debhelper نسخة من قواعد أصغر (54 سطر بدلاً من 72 سطرًا في الإصدار من القسم المسمى "القواعد").

ال debhelper يبدو الإصدار مثل:

#! / usr / bin / make -f package = hello-debhelper CC = gcc CFLAGS = -g -Wall ifeq (، $ (findstring noopt، $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 clean : dh_testdir dh_clean rm -f build - $ (MAKE) -i distclean install: build dh_clean dh_installdirs $ (MAKE) prefix = $ (CURDIR) / debian / $ (package) / usr mandir = $ (CURDIR) / debian / $ (الحزمة) / usr / share / man infodir = $ (CURDIR) / debian / $ (package) / usr / share / info install build: ./configure --prefix = / usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

touch build binary-indep: install # لا توجد ملفات مستقلة عن البنية يتم تحميلها # تم إنشاؤها بواسطة هذه الحزمة. إذا كان هناك أي أنها سوف تكون # صنعت هنا. binary-arch: install dh_testdir -a dh_testroot -a dh_installdocs -a NEWS dh_installchangelogs -a ChangeLog dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binary: binary-indep binary- قوس. PHONY: ثنائي ثنائي ثنائي الثقب الثنائي التنقيط indep نظيفة

لاحظ أن المهام مثل الاختبار إذا كنت في الدليل الصحيح (dh_testdir) ، للتأكد من أنك تقوم ببناء الحزمة مع امتيازات الجذر (dh_testroot) ، تثبيت الوثائق (dh_installdocs و dh_installchangelogs) ، والتنظيف بعد البناء (dh_clean) تتم معالجتها تلقائيًا. العديد من الحزم أكثر تعقيدا بكثير من مرحبا يملك قواعد الملفات لا أكبر لأن debhelper مخطوطات التعامل مع معظم المهام. للحصول على قائمة كاملة من debhelper مخطوطات ، يرجى الاطلاع على القسم المسمى "قائمة debhelper مخطوطات ". كما أنها موثقة جيدا في كل منهما رجل الصفحات. إنه تمرين مفيد لقراءة الصفحة الخاصة بالرجل (مكتوبة بشكل جيد وغير مطولة) لكل نص برمجي مساعد مستخدم في ما سبق قواعد ملف.