سؤال

أحاول إنشاء حزمة Debian لتطبيق Java.

في الحزمة الخاصة بي ، هناك أ .jar الملف القابل للتنفيذ ، وهو برنامج نصي يقوم بتشغيل ملف الجرة هذا و .so ملف ل FMOD. أنا قد قرأت هذا البرنامج التعليمي.

في ملف التحكم ، يوجد حقل "يعتمد" يصف بشكل أساسي الحزم التي تحتاج إلى تثبيت لتثبيت طلبي. سؤالي هو ، كيف أجد الحزم المطلوبة لتطبيقي؟ اتبعت التعليمات في البرنامج التعليمي لأحد الملفات. لذا حصلت على هذا:

$ dpkg -S libfmodex64-4.28.09.so 
dpkg: *libfmodex64-4.28.09.so* not found.

أيضًا ، يتطلب طلبي تثبيت Java 1.5 حتى يتم تشغيله. كيف يمكنني تحديد هذا في حزمة Debian الخاصة بي؟

هل كانت مفيدة؟

المحلول

أوصي بشدة بناء الحزمة الخاصة بك من المصدر داخل البنية التحتية للتغليف Debian. سيتم الاعتناء بكل شيء تلقائيًا إذا كنت تستخدم فئة ANT في CDBs.

إذا كنت تصر على تجميع ثنائي .deb فقط، equivs أقل بكثير من الطريقة التي وصفها المستند الخاص بك.

نصائح أخرى

ستحتاج إلى الحصول على الاسم الكنسي لمكتبتك:

apt-cache search libname

احرص على ملاحظة التسميات في نهاية الحزمة. أنت لا تريد تحديد أ محدد الإصدار في ملف التحكم ، فقط الإصدار الأول من المكتبة المناسبة لتطبيقك.

هل ستستخدم بعد ذلك canonical_libname >= major.minor ، مما يتيح للنظام تحديد ما إذا كان لديك (أو يمكنك تحديث) إصدار المكتبة التي يمكن أن تدعم التطبيق الخاص بك. إذا قمت بنشر هذا في الوقت المناسب ، أي تحديد النسخة الكاملة من مكتبتك الحالية ، فسوف تنفجر في المستقبل.

على سبيل المثال ، إذا حددت libfoo-1.2.34 والإصدارات المستقبلية من سفينة دبيان libfoo-2.3.45, ، لن يتم تثبيت الحزمة الخاصة بك ، لأنها تعتقد أن لديك نسخة غير متوافقة من Libfoo.

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