كيف تتجاوز إصدار الحزمة الفرعية؟
-
28-09-2019 - |
سؤال
أحتاج إلى عمل .deb لبرنامجنا ، والذي يتضمن نسخة من Drupal. اضطررت إلى تصحيح دروبال ، لذلك لا يمكنني استخدام مخزون دروبال من التوزيع. أريد أن تكون النتيجة ملفًا يسمى DRUPAL6-RS_6.16_all.deb ، ولكن لأنه في ملف التحكم الخاص بي هو حزمة فرعية ، إنه "ورث" إصدار الحزمة الرئيسية ، لذلك انتهى بي الأمر بحزمة DRUPAL6-RS_6.0.6 _all.deb (6.0.6 هو إصدار قاعدة كود الخاصة بنا).
أفضل أن أكون قادرًا على إنشاء حزمة Drupal من داخل الوصف Debian/* نفسه ، بدلاً من صنع شبكة فرعية منفصلة لـ Debian/* لـ Drupal وحدها.
هل يمكن هذا؟ أعلم أنه مع RPM ، من الممكن تجاوز إصدار الحزمة الفرعية ، ولكن إذا قمت بإضافة الإصدار: 6.16 إلى رأس Debian/Control في الحزمة الفرعية ، فإنه (أ) يسلط الضوء بشكل مختلف في VIM إلى إدخالات الرأس الأخرى ، و (ب) لديه بدون تأثير.
المحلول
يجب أن RTFM في بعض الأحيان. ينظر الى man dh_installchangelogs
. هناك سبب لديه s
لاحقة لها!
نعم ، يبدو أنك يستطيع تجاوز إصدار حزمة ثنائية في حزمة مصدر متعددة ثنائية.
نصائح أخرى
لأن هناك واحد فقط debian/changelog
ملف لكل حزمة مصدر ، أعتقد أنه يمكن أن يكون هناك إصدار واحد فقط لكل حزمة مصدر. إذا نظرت إلى نظام تتبع حزمة Debian ، فإنه يشير دائمًا إلى رقم إصدار واحد - رقم الحزمة المصدر. وبالتالي ، فإن الحزمة الثنائية (الحزمة) التي تنشئها حزمة المصدر لها نفس رقم الإصدار.
هذا يتركك بخيارين -
افعل الأشياء بالطريقة الصحيحة - تصحيح دروبال (ربما مع
dpatch
, ، نظرًا لأن حزمة Drupal في Debian تستخدمها بالفعل) وتركها كحزمة مصدر منفصلة في حد ذاتها. ضع لاحقة رقم الإصدار (على سبيل المثال6.17-1yourcompany1
). ثم قم بعمل حزمة لبرنامجك الخاص واطلب من برنامجك يعتمد على Drupal. الآن يمكنك الاعتماد علىdrupal6 (=6.17-1yourcompany1)
حتى تعرف الجميع لديها في الواقع حصلت على التصحيح. سيكون استخدام مستودع شخصي لتوزيع برنامجك فكرة جيدة.البديل الآخر الذي لديك هو استخدام طريقة الاختراق. لأنك لا تريد استخدام منفصلة
debian/
مجلد ، استخدم واحدة. سواء أكنت تصنع ثنائيات أو واحدة (مع دمج كل شيء على حزمة كبيرة) من الحزمة المصدر ، فإن الأمر متروك لك لتحديد رقم الإصدار الذي تريد استخدامه - Drupal's أو Codebase's.