Translate

Getting the Sources
SourceTranslationState
7
Maintainer
مشرف
8
Creating a Debian Package
إنشاء حزمة دبيان
9
It is quite common, for an administrator who has been handling Debian packages in a regular fashion, to eventually feel the need to create their own packages, or to modify an existing package. This chapter aims to answer the most common questions in this field, and provide the required elements to take advantage of the Debian infrastructure in the best way. With any luck, after trying your hand for local packages, you may even feel the need to go further than that and join the Debian project itself!
من الشائع جداً، بين مديري النظم الذين يتعاملون مع حزم دبيان بشكل منتظم، أن يصلوا إلى مرحلة يحتاجون فيها لإنشاء حزم خاصة بهم، أو لتعديل حزمة سابقة. يهدف هذا الفصل للإجابة عن أكثر الأسئلة شيوعاً في هذا المجال، وتقديم العناصر اللازمة للاستفادة من بنية دبيان التحتية بأفضل طريقة ممكنة. ومع بعض الحظ، قد تشعر ‒بعد تجربة مهاراتك في الحزم المحلية‒ بالحاجة للغوص أكثر من ذلك وتنضم لمشروع دبيان نفسه!
10
Rebuilding a Package from its Sources
إعادة بناء حزمة من المصدر
11
Rebuilding a binary package is required under several sets of circumstances. In some cases, the administrator needs a software feature that requires the software to be compiled from sources, with a particular compilation option; in others, the software as packaged in the installed version of Debian is not recent enough. In the latter case, the administrator will usually build a more recent package taken from a newer version of Debian — such as <emphasis role="distribution">Testing</emphasis> or even <emphasis role="distribution">Unstable</emphasis> — so that this new package works in their <emphasis role="distribution">Stable</emphasis> distribution; this operation is called “backporting”. As usual, care should be taken, before undertaking such a task, to check whether it has been done already — a quick look on the Debian Package Tracker for that package will reveal that information. <ulink type="block" url="https://tracker.debian.org/" /> <indexterm><primary>backport</primary></indexterm>
تحتاج إعادة بناء حزمة ثنائية في عدد من الظروف. في بعض الحالات، يحتاج مدير النظام ميزة برمجية تتطلب ترجمة البرنامج من المصدر، مع استخدام خيار ترجمة معين؛ وفي حالات أخرى، لا يكون البرنامج المُحزَّم في النسخة المُبّتة من دبيان حديثاً بما يكفي. في الحالة الأخيرة، سيعمد مدير النظام عادة لبناء حزمة جديدة مأخوذة من نسخة دبيان أحدث — مثل <emphasis role="distribution">الاختبارية</emphasis> أو حتى <emphasis role="distribution">غير المستقرة</emphasis> — بحيث تعمل هذه الحزمة الجديدة في توزيعته <emphasis role="distribution">المستقرة</emphasis>؛ تدعى هذه العملية ”بالنقل الخلفي“ (backporting). كالعادة، عليك الانتباه، قبل أن تجري هذه المهمة، إلى التحقق من أن أحداً لم يسبقك إليها — نظرة سريعة على صفحة متتبع حزم دبيان الخاصة بتلك الحزمة ستعطيك هذه المعلومة. <ulink type="block" url="https://tracker.debian.org/" /> <indexterm><primary>نقل خلفي</primary></indexterm>
12
Getting the Sources
الحصول على المصادر
13
Rebuilding a Debian package starts with getting its source code. The easiest way is to use the <command>apt-get source <replaceable>source-package-name</replaceable></command> command. This command requires a <literal>deb-src</literal> line in the <filename>/etc/apt/sources.list</filename> file, and up-to-date index files (i.e. <command>apt-get update</command>). These conditions should already be met if you followed the instructions from the chapter dealing with APT configuration (see <xref linkend="sect.apt-sources.list" />). Note however, that you will be downloading the source packages from the Debian version mentioned in the <literal>deb-src</literal> line. If you need another version, you may need to download it manually from a Debian mirror or from the web site. This involves fetching two or three files (with extensions <filename>*.dsc</filename> — for <emphasis>Debian Source Control</emphasis> — <filename>*.tar.<replaceable>comp</replaceable></filename>, and sometimes <filename>*.diff.gz</filename> or <filename>*.debian.tar.<replaceable>comp</replaceable></filename> — <replaceable>comp</replaceable> taking one value among <literal>gz</literal>, <literal>bz2</literal> or <literal>xz</literal> depending on the compression tool in use), then run the <command>dpkg-source -x <replaceable>file.dsc</replaceable></command> command. If the <filename>*.dsc</filename> file is directly accessible at a given URL, there is an even simpler way to fetch it all, with the <command>dget <replaceable>URL</replaceable></command> command. This command (which can be found in the <emphasis role="pkg">devscripts</emphasis> package) fetches the <filename>*.dsc</filename> file at the given address, then analyzes its contents, and automatically fetches the file or files referenced within. Once everything has been downloaded, it extracts the source package (unless the <literal>-d</literal> or <literal>--download-only</literal> option is used).
تبدأ إعادة بناء حزمة دبيان بالحصول على الشفرة المصدرية. أسهل طريقة هي استخدام الأمر <command>apt-get source <replaceable>source-package-name</replaceable></command>. يحتاج هذا الأمر لإضافة سطر <literal>deb-src</literal> في الملف <filename dir="ltr">/etc/apt/sources.list</filename>، وتحديث ملف الفهارس (عبر <command>apt-get update</command>). يجب أن تكون هذه الشروط محققة مسبقاً إذا اتبعت التعليمات من الفصل الذي يتحدث عن إعدادات APT (انظر <xref linkend="sect.apt-sources.list" />). لكن لاحظ أنك سوف تنزّل الحزم المصدرية من نسخة دبيان المحددة في سطر <literal>deb-src</literal>. إذا كنت تريد الحصول عليها من نسخة دبيان أخرى، قد تضطر لتنزيلها يدوياً من مرآة دبيان أو من موقع الوب. هذا يعني تنزيل ملفين أو ثلاثة (امتداداتها <filename dir="ltr">*.dsc</filename> — أي <emphasis>Debian Source Control</emphasis> — و <filename dir="ltr">*.tar.<replaceable>comp</replaceable></filename> وأحياناً <filename dir="ltr">*.diff.gz</filename> أو <filename dir="ltr">*.debian.tar.<replaceable>comp</replaceable></filename> — حيث تأخذ <replaceable>comp</replaceable> إحدى القيم <literal>gz</literal>، ‏<literal>bz2</literal> أو <literal>xz</literal> حسب أداة الضغط المستخدمة)، بعدها استدعاء الأمر <command>dpkg-source -x <replaceable>file.dsc</replaceable></command>. إذا كان الوصول للملف <filename dir="ltr">*.dsc</filename> ممكناً بشكل مباشر من عنوان URL، فيمكنك استخدام طريقة أبسط من هذه للحصول على جميع الملفات، وهي استخدام الأمر <command>dget <replaceable>URL</replaceable></command>. يجلب هذا الأمر (الذي تجده في الحزمة <emphasis role="pkg">devscripts</emphasis>) ملف <filename dir="ltr">*.dsc</filename> من العنوان المحدد، بعدها يحلل محتوياته، ويحضر الملف أو الملفات التي يشار إليها فيه. بعد تنزيل كل شيء، سوف يفك الضغط عن الحزمة المصدرية (ما لم تستخدم الخيار <literal dir="ltr">-d</literal> أو <literal dir="ltr">--download-only</literal>).
14
Making Changes
إجراء التغييرات
15
The source of the package is now available in a directory named after the source package and its version (for instance, <emphasis>samba-4.1.17+dfsg</emphasis>); this is where we'll work on our local changes.
أصبح مصدر الحزمة متوفراً الآن في مجلد اسمه يتألف من اسم الحزمة المصدرية وإصدارها (مثلاً، <emphasis>samba-4.1.17+dfsg</emphasis>)؛ سنجري تعديلاتنا المحلية في هذا المجلد.
16
The first thing to do is to change the package version number, so that the rebuilt packages can be distinguished from the original packages provided by Debian. Assuming the current version is <literal>2:4.1.17+dfsg-2</literal>, we can create version <literal>2:4.1.17+dfsg-2falcot1</literal>, which clearly indicates the origin of the package. This makes the package version number higher than the one provided by Debian, so that the package will easily install as an update to the original package. Such a change is best effected with the <command>dch</command> command (<emphasis>Debian CHangelog</emphasis>) from the <emphasis role="pkg">devscripts</emphasis> package, with an command such as <command>dch --local falcot</command>. This invokes a text editor (<command>sensible-editor</command> — this should be your favorite editor if it is mentioned in the <varname>VISUAL</varname> or <varname>EDITOR</varname> environment variables, and the default editor otherwise) to allow documenting the differences brought by this rebuild. This editor shows us that <command>dch</command> really did change the <filename>debian/changelog</filename> file.
أول شيء تفعله هو تغيير رقم إصدار الحزمة، حتى تميّز الحزم المعاد بناؤها عن الحزم الأصلية التي توفرها دبيان. على فرض أن الإصدار الحالي هو <literal dir="ltr">2:4.1.17+dfsg-2</literal>، يمكننا إنشاء الإصدار <literal>2:4.1.17+dfsg-2falcot1</literal>، الذي يبيّن منشأ الحزمة بوضوح. هذا يجعل رقم إصدار الحزمة أعلى من الإصدار الذي توفره دبيان، بحيث يمكن تثبيت الحزمة بسهولة كتحديث للحزمة الأصلية. أفضل طريقة جراء هذا التغيير هي استخدام الأمر <command>dch</command>‏ (<emphasis>Debian CHangelog</emphasis>) من الحزمة <emphasis role="pkg">devscripts</emphasis>، عبر استدعائه بالشكل <command>dch --local falcot</command> مثلاً. سيستدعي هذا الأمر محرر نصوص (<command>sensible-editor</command> — يجب أن يكون هذا محررك الافتراضي إذا كان مذكوراً في أحد متغيري البيئة <varname>VISUAL</varname> أو <varname>EDITOR</varname> ، وإلا فسوف يستدعى المحرر الافتراضي) ليسمح لك بتوثيق الاختلاف الذي تقدمه هذه الإصدارة. يظهر لنا هذا المحرر أن <command>dch</command> قد غيّر <filename>debian/changelog</filename> بالفعل.
17
When a change in build options is required, the changes need to be made in <filename>debian/rules</filename>, which drives the steps in the package build process. In the simplest cases, the lines concerning the initial configuration (<literal>./configure …</literal>) or the actual build (<literal>$(MAKE) …</literal> or <literal>make …</literal>) are easy to spot. If these commands are not explicitly called, they are probably a side effect of another explicit command, in which case please refer to their documentation to learn more about how to change the default behavior. With packages using <command>dh</command>, you might need to add an override for the <command>dh_auto_configure</command> or <command>dh_auto_build</command> commands (see their respective manual pages for explanations on how to achieve this).
عندما تحتاج تغيير خيارات البناء، يجب إجراء التغيير في <filename>debian/rules</filename>، الذي يقود الخطوات المختلفة في عملية بناء الحزمة. في أبسط الحالات، ستجد السطور التي تتعلق بالإعدادات الافتراضية (<literal dir="ltr">./configure …</literal>) أو عملية البناء الفعلية (<literal dir="ltr">$(MAKE) …</literal> or <literal>make …</literal>) بسهولة. إذا لم تُستَدعى هذه الأوامر صراحة، فالأغلب أن هناك أمر صريح آخر يستدعيها، وفي تلك الحالة عليك الرجوع إلى وثائق تلك الأوامر حتى تعرف طريقة تغيير السلوك الافتراضي. قد تحتاج في الحزم التي تستخدم الأمر <command>dh</command> لتعديل سلوك الأمرين <command>dh_auto_configure</command> و<command>dh_auto_build</command> (انظر صفحات الدليل الخاصة بهما لمعرفة طريقة عمل هذا).
ComponentTranslation
This translation Translated Debian Handbook/15_debian-packaging
الحصول على المصادر
Following string has same context and same source.
Translated Debian Handbook/08_basic-configuration
الحصول على الشفرة المصدرية

Change compared to this translation:

الحصول على الشفرة المصادرية

Loading…

Loading…

Things to check

Glossary

Source Translation
No related strings found in the glossary.

Source information

Flags
xml-text
Source string age
4 years ago
Translation file
ar-MA/15_debian-packaging.po, string 12
String priority
Medium
Failing checks