Я пытаюсь собрать пакет Debian, но у меня возникла странная проблема с псевдокаталогами. Я бегу:
$ 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
даже содержит все заголовочные файлы, которые он должен.
Кто-нибудь знает, что происходит?