Scroll to navigation

RPMBUILD(8) RPMBUILD(8)

الاسم

rpmbuild - يبني حزم RPM

موجز

بناء الحزم

rpmbuild {-ba|-bb|-bp|-bf|-bc|-bi|-bl|-bs|-br|-bd} [rpmbuild-options] ملف المواصفات ...

rpmbuild {-ra|-rb|-rp|-rf|-rc|-ri|-rl|-rs|-rr|-rd} [rpmbuild-options] الحزمة المصدرية ...

rpmbuild {-ta|-tb|-tp|-tf|-tc|-ti|-tl|-ts|-tr|-td} [rpmbuild-options] الملف المضغوط ...

rpmbuild {--rebuild|--recompile} الحزمة المصدرية ...

متنوعات

rpmbuild --showrc

خيارات rpmbuild

[--buildroot الدليل] [--clean] [--nobuild] [--rmsource] [--rmspec] [--short-circuit] [--build-in-place] [--noprep] [--noclean] [--nocheck] [--rpmfcdebug] [--target المنصة] [--with الخيار] [--without الخيار]

الوصف

يُستخدم rpmbuild لبناء حزم البرامج الثنائية والمصدرية على حد سواء. تتكون الحزمة من أرشيف للملفات والبيانات الوصفية المستخدمة لتثبيت ملفات الأرشيف وحذفها. تتضمن البيانات الوصفية نصوصًا مساعدة، وسمات ملفات، ومعلومات وصفية عن الحزمة. تأتي الحزم بنوعين: الحزم الثنائية، المستخدمة لتغليف البرامج المراد تثبيتها، والحزم المصدرية، التي تحتوي على الكود المصدري والوصفة اللازمة لإنتاج الحزم الثنائية.

يجب اختيار أحد الأوضاع الأساسية التالية: بناء حزمة، بناء حزمة من ملف مضغوط، إعادة ترجمة حزمة، إظهار الإعدادات.

خيارات عامة

يمكن استخدام هذه الخيارات في جميع الأوضاع المختلفة.

-؟، --help
طباعة رسالة استخدام أطول من المعتاد.
اطبع سطراً واحداً يحتوي على رقم إصدار rpm المستخدم.
اطبع أقل قدر ممكن - عادةً ما تُعرض رسائل الخطأ فقط.
اطبع معلومات مسهبة - عادةً ما تُعرض رسائل التقدم الروتينية.
اطبع الكثير من معلومات التنقيح القبيحة.
تمكين تصحيح توليد التبعيات.
استبدال القائمة المبدئية لملفات الإعدادات المراد قراءتها بـ قائمة الملفات. انظر إعدادات rpmrc في rpm(8) للتفاصيل.
تحميل ملف ماكرو منفرد.
استبدال قائمة ملفات الماكرو المراد تحميلها بـ قائمة الملفات. انظر إعدادات الماكرو في rpm(8) للتفاصيل.
يوصل مخرج rpm عبر أنبوب إلى الأمر CMD.
استخدم قاعدة البيانات في DIRECTORY بدلًا من المسار المبدئي /var/lib/rpm.
استخدم شجرة نظام الملفات المتجذرة في DIRECTORY لكافة العمليات. لاحظ أن هذا يعني أن قاعدة البيانات داخل DIRECTORY ستُستخدم لفحوصات الاعتماديات وأي سكربتات (مثل %post عند التثبيت، أو %prep عند بناء حزمة) ستُشغل بعد chroot(2) إلى DIRECTORY.
يعرّف MACRO بالقيمة EXPR.
اختيار نظام إدارة المصدر لاستخدامه مع %autosetup، إذا لم يتم تعيينه في ملف المواصفات. لاحظ أن جميع قيم نظام إدارة المصدر، مثل patch (المبدئي) و gendiff و git أو quilt، لا تعمل بالتبادل مع جميع التصحيحات والخيارات الأخرى المذكورة في سطر %autosetup، خاصة الخيار -pN.

خيارات البناء

الشكل العام لأمر بناء rpm(8) هو

rpmbuild {-bالمرحلة|-rالمرحلة|-tالمرحلة} [rpmbuild-options] الملف ...

الوسيطة المستخدمة هي -b إذا تم استخدام ملف مواصفات لبناء الحزمة، و -r إذا كانت حزمة مصدرية سيتم إعادة بنائها، و -t إذا كان على rpmbuild البحث داخل ملف tar (ربما مضغوط) عن ملف المواصفات لاستخدامه.

تُبنى الحزم في عدد من المراحل. تتوافق المراحل الست الأولى مع الأقسام التالية في ملف المواصفات: %prep، %generate_buildrequires، %build، %install، %check و %clean. أخيرًا، تُنشأ الحزم الثنائية والمصدرية في مرحلة تجميع.

يحدد حرف المرحلة المرحلة التي يُنتهى بها (بعد تنفيذ جميع المراحل السابقة لها)، وهو أحد:

تنفيذ عملية تجميع كاملة - يتم تنفيذ العملية حتى مرحلة التجميع بما في ذلك. في معظم الحالات، يُفضل اختيار هذا الخيار.
ابنِ الحزم الثنائية فقط - يُنفّذ حتى مرحلة التجميع بما فيها، ولكن دون إنشاء الحزمة المصدرية. عند النجاح، يُحذف دليل البناء (كما في --clean).
فكّ ضغط المصادر وطبّق أي تصحيحات - يُنفّذ مرحلة %prep فقط.
اضبط المصادر - يُنفّذ حتى مرحلة %conf بما فيها. يتضمن هذا عمومًا ما يعادل "./configure".
ترجم المصادر - يُنفّذ حتى مرحلة %build بما فيها. يتضمن هذا عمومًا ما يعادل "make".
ثبّت الثنائيات في جذر البناء - يُنفّذ حتى مرحلة %check بما فيها. يتضمن هذا عمومًا ما يعادل "make install" و "make check".
نفّذ "فحص قائمة" - يُوسّع قسم %files من ملف المواصفات بالماكرو، وتُجرى فحوصات للتحقق من وجود كل ملف.
ابنِ الحزمة المصدرية فقط - يتجاوز مباشرة إلى مرحلة التجميع، دون تنفيذ أي من المراحل السابقة أو إنشاء حزم ثنائية.
ابنِ الحزمة المصدرية فقط، ولكن أيضًا حلّل وضمّن تبعيات بناء ديناميكية - يُنفّذ حتى مرحلة %generate_buildrequires بما فيها ثم يتجاوز مباشرة إلى مرحلة التجميع، دون إنشاء حزم ثنائية. يمكن استخدام هذا الأمر لحل تبعيات البناء الديناميكية بالكامل. انظر قسم تبعيات البناء الديناميكية للتفاصيل.
تحقق من التبعيات الديناميكية للبناء وقم ببناء حزمة .buildreqs.nosrc.rpm إذا كانت أي منها مفقودة. لا تبني أي شيء آخر.

يمكن أيضًا استخدام الخيارات التالية:

عند بناء حزمة، تجاوز جذر البناء لـ rpmbuild(8) إلى DIRECTORY. هذا الخيار مهمل وسيُزال في المستقبل، لا تُدخل استخدامات جديدة.
أزل شجرة البناء بعد صنع الحزم.
لا تنفذ أي مراحل بناء. مفيد لاختبار ملفات المواصفات.
لا تنفذ مرحلة البناء %prep حتى لو كانت موجودة في المواصفات.
لا تنفذ مرحلة البناء %clean حتى لو كانت موجودة في المواصفات.
لا تنفذ مرحلة البناء %check حتى لو كانت موجودة في المواصفات.
لا تُنشئ حزم معلومات التصحيح.
لا تتحقق من تبعيات البناء.
أزل المصادر بعد البناء (قد يُستخدم أيضًا بشكل مستقل، مثل "rpmbuild --rmsource foo.spec").
احذف ملف المواصفات بعد البناء (قد يُستخدم أيضًا بشكل مستقل، مثل "rpmbuild --rmspec foo.spec").
تجاوز مباشرة إلى المرحلة المحددة (أي تجاوز جميع المراحل المؤدية إلى المرحلة المحددة). صالح فقط مع -bc و-bi و-bb. مفيد للاختبار المحلي فقط. سيتم وضع علامة على الحزم المبنية بهذه الطريقة باعتماد غير قابل للحل لمنع استخدامها العرضي.
ابنِ من المصادر المأخوذة محليًا في دليل العمل الحالي. تُعد شجرة البناء كما لو أن %setup قد استُخدم، لكن %builddir/%buildsubdir يشير عائدًا إلى دليل العمل الحالي. يُتجاوز %prep بالكامل.
عند بناء الحزمة، فسر PLATFORM كـ arch-vendor-os واضبط الكليّات %_target و%_target_cpu و%_target_os وفقًا لذلك.
فعّل خيار التهيئة OPTION للبناء.
عطّل خيار التهيئة OPTION للبناء.

خيارات إعادة البناء وإعادة الترجمة

هناك طريقتان أخريان لاستدعاء البناء باستخدام rpm(8):

rpmbuild --rebuild|--recompile SOURCEPKG ...

عند الاستدعاء بهذه الطريقة، يُثبت rpmbuild حزمة المصدر المسماة، ويقوم بالتحضير والترجمة والتثبيت. بالإضافة إلى ذلك، يبني --rebuild حزمة ثنائية جديدة. عند اكتمال البناء، يُحذف دليل البناء (كما في --clean) وتُحذف المصادر وملف المواصفات للحزمة.

هذه الخيارات حلت محلها الآن خيارات -r* التي تسمح بتحكم أدق بكثير في مراحل البناء التي تُشغل.

اعتمادات بناء حركية

عند تشغيل مرحلة %generate_buildrequires ولم تُلب بعض متطلبات البناء المولدة حديثًا، ينشئ rpmbuild حزمة مصدر وسيطة تنتهي بـ buildreqs.nosrc.rpm، والتي تحتوي على متطلبات البناء الجديدة، ويخرج برمز 11. يمكن بعد ذلك استخدام هذه الحزمة بدلاً من حزمة المصدر الأصلية لحل وتثبيت اعتماديات البناء المفقودة بالطريقة المعتادة، مثل dnf-builddep(8).

قد توجد طبقات متعددة من اعتماديات البناء الديناميكية في ملف مواصفات؛ قد يؤدي وجود متطلبات بناء محددة على النظام إلى إنتاج متطلبات بناء جديدة في المرة التالية التي يُجرى فيها البناء بنفس حزمة المصدر. أسهل طريقة لضمان تلبية جميع اعتماديات البناء الديناميكية هي تشغيل الخيار -br، وتثبيت الاعتماديات الجديدة لحزمة buildreqs.nosrc.rpm، وتكرار الإجراء بأكمله حتى لا يخرج rpmbuild برمز 11.

إذا قُرن الأمر -br مع --nodeps، يُعاد دائمًا رمز الخروج 11 وتُنشأ دائمًا حزمة buildreqs.nosrc.rpm.

SHOWRC

الأمر

rpmbuild --showrc

يعرض القيم التي سيستخدمها rpmbuild لجميع الخيارات المُعينة حالياً في ملفات تهيئة rpmrc وmacros.

الملفات

انظر rpm(8)

انظر أيضًا

gendiff(1)، popt(3)، rpm(8)، rpm2cpio(8)، rpmkeys(8)، rpmspec(8)، rpmsign(8)

rpmbuild --help - بما أن rpm يدعم تخصيص الخيارات عبر أسماء مستعارة popt، فمن المستحيل ضمان تطابق ما هو موصوف في الدليل مع ما هو متاح.

http://www.rpm.org/ <URL:http://www.rpm.org/>

المؤلفون

مارك إيوينج <marc@redhat.com>
جيف جونسون <jbj@redhat.com>
إريك تروان <ewt@redhat.com>
    

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

09 يونيو 2002