On Thu, Nov 23, 2017 at 11:23:45AM +0000, Simon McVittie wrote:
> Package: dh-autoreconf
> Version: 15
> Severity: normal
> 
> If you have this debian/autogen.sh, like src:flatpak currently does:
> 
>     #!/bin/sh
>     set -e
>     gtkdocize
>     autoreconf -fi
> 
> and you use "dh_autoreconf debian/autogen.sh" as suggested in the man page,
> then gtk-doc.make and m4/gtk-doc.m4 are not always cleaned up by
> dh_autoreconf_clean, because they are replaced by symbolic links into
> /usr/share instead of regular files. However, that replacement breaks
> dpkg-source (it is a difference that dpkg-source is not willing to ignore,
> unlike deletions, and it is not undone by debian/rules clean) if you build
> twice in a row from the same unclean source directory.
> 
> Workaround: use `gtkdocize --copy`, or use git-buildpackage, dgit --clean=git
> or similar to do a clean build every time.

Well, propose a solution. We just find -type f -exec md5sum {} \;. We'd
have to -print "filename symlink" for any simlink file (add -o -type l
-printf <something>?). I don't know.

Because we pass -type f, we do not handle symlinks at all. So replacing
a file with a symlink is equivalent to deleting it from dh_autoreconf's
perspective.

My testing with printf says:

 -o -type l -printf "%p  symlink to %l\n"

should work. Even includes the path, so you can detect changed symlinks.

-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en

Reply via email to