سؤال

أحتاج إلى عمل .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 ، فإنه يشير دائمًا إلى رقم إصدار واحد - رقم الحزمة المصدر. وبالتالي ، فإن الحزمة الثنائية (الحزمة) التي تنشئها حزمة المصدر لها نفس رقم الإصدار.

هذا يتركك بخيارين -

  1. افعل الأشياء بالطريقة الصحيحة - تصحيح دروبال (ربما مع dpatch, ، نظرًا لأن حزمة Drupal في Debian تستخدمها بالفعل) وتركها كحزمة مصدر منفصلة في حد ذاتها. ضع لاحقة رقم الإصدار (على سبيل المثال 6.17-1yourcompany1). ثم قم بعمل حزمة لبرنامجك الخاص واطلب من برنامجك يعتمد على Drupal. الآن يمكنك الاعتماد على drupal6 (=6.17-1yourcompany1) حتى تعرف الجميع لديها في الواقع حصلت على التصحيح. سيكون استخدام مستودع شخصي لتوزيع برنامجك فكرة جيدة.

  2. البديل الآخر الذي لديك هو استخدام طريقة الاختراق. لأنك لا تريد استخدام منفصلة debian/ مجلد ، استخدم واحدة. سواء أكنت تصنع ثنائيات أو واحدة (مع دمج كل شيء على حزمة كبيرة) من الحزمة المصدر ، فإن الأمر متروك لك لتحديد رقم الإصدار الذي تريد استخدامه - Drupal's أو Codebase's.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top