ديبيان خطأ في إنشاء حزمة
سؤال
وأنا أحاول أن إنشاء حزمة ديبيان، ولكن أنا عندي هذه المشكلة الزائفة دليل غريبة. أركض:
$ fakeroot debian/rules binary
ولقد بنيت ثنائي من قبل، ولكن شيئا ما يجب أن تغيرت على نظام بلدي. الآن dh_md5sums أخطاء من والعوائد:
md5sum: include: Is a directory
dh_md5sums: command returned error code
make: *** [binary-arch] Error 1
والواقع، include
هو الدليل. لذلك، وأضفت بعض التصريحات التصحيح لdh_md5sums، لمعرفة لماذا كان يجري تجزئته include
على الرغم من الخط الذي كان من المفترض أن تصفية الدلائل. مضيفا:
doit("ls", "-l", "$tmp");
ويظهر هذا، في الواقع، include
ليس دليلا عند تشغيل dh_md5sums:
total 28
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var
# some directories removed for brevity's sake
وهكذا، يمكنني إزالته؟ وأضفت:
doit("rm", "$tmp/include");
ووحصلت على:
rm: cannot remove `debian/myproject/include': Is a directory
وربما ذلك ... تحولت إلى دليل؟ وأضاف لي ls -l
آخر تحت rm
وحصلت على:
total 28
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var
وعند الانتهاء من تشغيل البرامج النصية، يمكنني القيام به:
$ ls -l
drwxr-xr-x 2 x x 4096 2009-06-18 13:48 bin
drwxr-xr-x 3 x x 4096 2009-06-18 13:48 include
drwxr-xr-x 3 x x 4096 2009-06-18 13:48 var
... وهو غريب، ويصبح include
دليل والتغييرات الملكية (x
هو اسمي). include
حتى يحتوي على كافة الملفات رأس أنه من المفترض أن.
لا أحد يعرف ما الذي يحدث؟
المحلول
total 28
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var
# some directories removed for brevity's sake
لاحظ أن include
لديه عدد الارتباط من 3، مشيرا إلى أنه إما دليل مع 1 دليل فرعي، أو ملف مع 3 وصلات الصعبة. يبدو من المرجح السابق.
وهذا يبدو وكأنه تفاعل سيئة مع fakeroot. رأيته قبل حيث fakeroot أحيانا "نسي" الأذونات، لذلك الاختيار المزدوج أنه عندما يجري إنشاؤها أو تعديلها include
أن لديها الحق في نوع (وأن أيا من هذه يكون للتغيرات الأخيرة).