table of contents
| RPMBUILD(1) | General Commands Manual | RPMBUILD(1) |
الاسم¶
rpmbuild - يبني حزم RPM
موجز¶
rpmbuild -bالمرحلة [خيارات] ملف_المواصفات ...
rpmbuild -rالمرحلة [خيارات] حزمة_المصدر ...
rpmbuild -tالمرحلة [خيارات] أرشيف_tar ...
rpmbuild {--rebuild|--recompile} [options] SOURCE_PACKAGE ...
الوصف¶
يُستخدم rpmbuild لبناء حزم البرامج بتنسيق RPM، بطريقة آلية وقابلة للتكرار.
تتكون الحزمة من أرشيف للملفات وبيانات وصفية تُستخدم لتثبيت ومسح ملفات الأرشيف. تتضمن البيانات الوصفية نصوصًا مساعدة، وسمات ملفات، ومعلومات وصفية عن الحزمة.
تأتي الحزم بنوعين: حزم ثنائية، تُستخدم لتغليف البرامج المراد تثبيتها، وحزم مصدرية، تحتوي على الكود المصدري والوصفة اللازمة لإنتاج الحزم الثنائية.
العمليات¶
-bSTAGE
-rSTAGE
-tSTAGE
--rebuild, --recompile
تُبنى الحزم في أربع مراحل: التحليل، البناء، التجميع والتنظيف. تُقسم المرحلتان الوسطيتان إلى مراحل، مذكورة أدناه، يمكن بناؤها بشكل منفصل. بناء المرحلة يعني تنفيذ جميع المراحل السابقة حتى (وشاملة) المرحلة المحددة، ما لم يُذكر خلاف ذلك.
مراحل التجميع¶
تنتج مراحل التجميع الحزم وهي الطريقة الأساسية للتفاعل مع rpmbuild. في حالة الشك، اختر إحداها.
a
b
r
s
مراحل البناء¶
تنتج مراحل البناء القطع الأثرية المراد حزمها، عادةً عن طريق تصحيح وتجميع المصادر، وتثبيت الثنائيات في جذر البناء. تتوافق هذه المراحل عمومًا مع أقسام المواصفات مثل %prep أو %build أو %install، لكن هناك بعضها ضمني.
بناء هذه المراحل بشكل منفصل مفيد عمومًا فقط عند حزم برامج جديدة بتنسيق RPM و/أو استكشاف الأخطاء. تُدرج أدناه بترتيب التنفيذ، مع قسم المواصفات المقابل بين قوسين حيثما ينطبق.
p (%prep)
d (%generate_buildrequires)
f (%conf)
c (%build)
i (%install and %check)
l
المعطيات¶
SPEC_FILE
SOURCE_PACKAGE
TAR_ARCHIVE
الخيارات¶
--build-in-place
--clean
--nobuild
--nocheck
--noclean
--nodebuginfo
--nodeps
--noprep
--rmsource
--rmspec
--rpmfcdebug
--scm=SCM
--short-circuit
--with OPTION
--without OPTION
انظر rpm-common(8) للخيارات المشتركة بين جميع العمليات.
اعتمادات بناء حركية¶
عند تشغيل مرحلة %generate_buildrequires ولم يتم إشباع بعض متطلبات البناء المولدة حديثًا، ينشئ rpmbuild حزمة مصدر وسيطة تنتهي بـ buildreqs.nosrc.rpm، والتي تحتوي على متطلبات البناء الجديدة، ويخرج برمز 11. يمكن استخدام هذه الحزمة بعد ذلك بدلاً من حزمة المصدر الأصلية لحل وتركيب تبعيات البناء المفقودة بالطريقة المعتادة، مثل استخدام dnf-builddep(8).
قد توجد طبقات متعددة من تبعيات البناء الديناميكية في ملف المواصفات؛ وجود متطلبات بناء محددة على النظام قد ينتج متطلبات بناء جديدة في المرة التالية التي يتم فيها بناء بنفس حزمة المصدر. أسهل طريقة لضمان إشباع جميع تبعيات البناء الديناميكية هي تشغيل الخيار -br، وتركيب التبعيات الجديدة لحزمة buildreqs.nosrc.rpm، وتكرار الإجراء بأكمله حتى لا يخرج rpmbuild برمز 11.
إذا تم إقران الخيار -br مع --nodeps، يتم دائمًا إرجاع رمز الخروج 11 ويتم دائمًا إنشاء حزمة buildreqs.nosrc.rpm.
البيئة¶
RPM_BUILD_NCPUS
حالة الخروج¶
عند النجاح، تُعاد القيمة 0، وإلا تُعاد شفرة فشل غير صفرية.
الحزم التي تحتوي على قسم %generate_buildrequires ستعود برمز 11 عندما تكون هناك تبعيات بناء ديناميكية غير مشبعة.
أمثلة¶
rpmbuild --rebuild hello-1.0-1.src.rpm
rpmbuild -bb --nocheck --with openssl hello.spec
rpmbuild -ta hello-2.0.tar.gz
rpmbuild -bc hello.spec
rpmbuild -bi --short-circuit hello.spec
الملفات¶
انظر rpm-common(8)
انظر أيضًا¶
gendiff(1)، popt(3)، rpm(8)، rpm-common(8)، rpmbuild-config(5)، rpm2cpio(1)، rpmkeys(8)، rpmspec(1)، rpmsign(1)، rpm-setup-autosign(1) rpm-macros(7)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 10 أبريل 2026 | RPM 6.0.1 |