بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
مصطلحات قد تسمعها في تحزيم rpm .
1-ال Source هو السورس كود لبرنامج ما وهو غالبا عبارة عن ملف مضغوط بداخله ملفات السورس مثلا ملف shutter-0.93.1.tar.gz وغالبا وليس دائما ياتي هكذا إسم البرنامج ثم علامة - ثم رقم إصدار البرنامج .
2-ملف spec وهو عبارة عن ملف نصي أو إستمارة نصية تعبأ بمعلومات عن البرنامج المراد تحزيمه وماهي خطوات البناء والتحزيم مثلا يوضع داخل الإستمارة إسم البرنامج ورقم إصداره وبعض المعلومات الأخرى ...إلخ ويوضع أيضا مثلا تنفيذ make و make install أو مثلا نقل مجلد أو ملف إلى المكان الفلاني أو تنفيذ patch أي عملية ترقيع قبل بدأ عملية البناء و...إلخ
3-ملف src.rpm مثال geany.src.rpm هذا الملف عبارة عن ملف مضغوط يحتوي السورس كود الخاص بالبرنامج والملفات الضرورية لعملية التحزيم مثلا صور أو patch و...إلخ وأيضا يحتوي على ملف spec الذي تكلمنا عنه سابقا ,أي انه ملف مضغوط يحتوي السورس كود وبعض الملفات الضرورية لعميلة البناء إن وجدت وملف spec ,وهذا الملف جاهز لعميلة البناء والتحزيم , عملية البناء هي عملية التجميع للبرنامج إن كان مثلا مبرمج بلغة البرمجة C وعملية التحزيم هي العملية التي توفر الناتج النهائي أي ملف حزمة rpm , ملاحظة كما ذكرت سابقا يتم جلب خطوات البناء والتحزيم من ملف spec أي ما نحدده نحن في ملف spec.
4-ملف أو حزمة rpm التي نعرفها وهي ناتج عملية بناء ملف src.rpm أو تنفيذ ما بداخل ملف spec بشكل مباشر ,وتكون الحزمة مثلا noarch أي لكل المعماريات أو قد تكون محددة المعمارية مثلا x86_64.rpm وهي لأجهزة 64bit و i686.rpm لأجهزة 32bit طبعا هناك معماريات أخرى لن أذكربها كلها ...إلخ
5-في ملف spec ال Requires تعني الإعتماديات التي يحتاجها البرنامج ليعمل أي ستثبت مع البرنامج وهي للمستخدم النهائي و BuildRequires تعني حزمة ضرورية لعملية بناء البرنامج فقط أي لن يحتاجها المستخدم النهائي وهي ليست ضرورية لعمل البرنامج ,يحتاجها فقط من يقوم بعملية البناء والتحزيم .
أخيرا بعض الصور.
ملف ال Source .
ملف spec لبرنامج peek طبعا هو قديم قليلا لاكن لا بأس المهم أن تصل الفكرة .
ملف src.rpm نلاحظ ال Source و spec و ملف patch داخله أي كل ما تحتاجه عملية البناء.
ملف الحزمة النهائي لو إستعرضنا الملفات داخل حزمة rpm
لوجدنا ملفات البرنامج لاكن مع المسارات الصحيحة التي سيتم وضع الملفات
فيها إذا صح التعبير هي شيء مثل محاكي لشجرة الملفات في توزيعات لينكس .
أخيرا في فيدورا كل حزمة rpm يقابلها حزمة src.rpm تم بناء الحزمة منها لهذا لا يوجد شيء مخفي كل البرامج متوفر لها حزم src.rpm تحتوي الكود المصدري أي السورس كود و ملف spec الذي يحتوي خطوات البناء والتحزيم ,ملاحظة أحيانا ينتج عن ملف src.rpm اكثر من حزمة حيث ممكن من خلال ملف spec طلب تقطيع البرنامج لاكثر من حزمة مثال حزمة للبرنامج الأساسي و حزمة للإضافات .
لمن أراد يمكنه من خلال اﻷمر في الأسفل تنزيل حزمة src.rpm لأي برنامج موجود في مستودعات فيدورا الرسمية مثلا برنامج geany .
dnf download geany --source
طبعا مثل متصفح google chrome متوفر في مستودعات خاصة بجوجل وهو مغلق المصدر لا يمكن الحصول على ملف src.rpm الخاص به .