I'm trying to build a Debian package, but I've got this weird pseudo-directory problem. I run:
$ fakeroot debian/rules binary
I've built the binary before, but something must have changed on my system. Now dh_md5sums errors out and returns:
md5sum: include: Is a directory
dh_md5sums: command returned error code
make: *** [binary-arch] Error 1
Indeed, include
is a directory. So, I added some debugging statements to dh_md5sums, to figure out why include
was being hashed despite the line that was supposed to filter out directories. Adding:
doit("ls", "-l", "$tmp");
shows that, indeed, include
is not a directory when dh_md5sums is run:
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
So, can I remove it? I added:
doit("rm", "$tmp/include");
and got:
rm: cannot remove `debian/myproject/include': Is a directory
maybe it... turned into a directory? I added another ls -l
below the rm
and got:
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
and when the scripts are done running, I can do:
$ 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
...which is weird, as include
becomes a directory and the ownership changes (x
is my username). include
even contains all the header files it's supposed to.
Does anyone know what's going on?