Bug#80448: lintian check for fixed headers
Matthias Klose <doko@debian.org> writes:
> Russ Allbery schrieb:
>> Matthias Klose <doko@debian.org> writes:
>>> well, more headers are fixed, but I don't include these in the gcc
>>> package. I still think to find out how many headers are affected, we
>>> have to run the test at least once. Not sure how many many header
>>> files will be found.
>> Okay, in that case I'll take a look at adding this, at least as an
>> experimental check. Will the fixincludes package from stable be
>> sufficiently new to provide useful results? (lintian.d.o is on
>> stable.)
> yes, 4.1 should be ok.
Hi Matthias,
I took a look at implementing this, but the current fixincludes package
seems somewhat broken. There isn't much documentation to start -- there's
a man directory in the package but no man page in it -- but working it out
from the script, I tried:
fixincludes ./output /usr/include
This produces the error:
windlord:~/tmp> fixincludes ./output /usr/include
Cannot find fixincl
After I worked around that by creating a symlink for fixincl in the
current directory, I got the following output:
windlord:~/tmp> fixincludes foo /usr/include
Fixing headers into /home/eagle/tmp/foo for unknown target
/usr/lib/gcc/i486-linux-gnu/4.3/install-tools/fixinc.sh: line 145: ${MACRO_LIST}: ambiguous redirect
Forbidden identifiers:
/usr/lib/gcc/i486-linux-gnu/4.3/install-tools/fixinc.sh: line 148: ${MACRO_LIST}: ambiguous redirect
Finding directories and links to directories
Searching /usr/include/.
Searching /usr/include/./c++/4.3.2
Making symbolic directory links
Fixing directory /usr/include into /home/eagle/tmp/foo
Applying machine_name to c++/4.3/backward/backward_warning.h
Applying machine_name to c++/4.3/backward/auto_ptr.h
[...]
Applying machine_name to c++/4.3/tr1/wchar.h
Applying machine_name to c++/4.3/tr1/wctype.h
Applying machine_name to c++/4.3/tr1/boost_sp_shared_count.h
Fixed: c++/4.3/tr1/boost_sp_shared_count.h
fixincludes then started writing to the "fixed" version of this header
file in an infinite loop until I interrupted it with Ctrl-C. It managed
to write about 97MB of underscores before I figured out what was going on
with strace:
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
write(1, "_________________________________"..., 4096) = 4096
windlord:~> dpkg -S /usr/include/c++/4.3/tr1/boost_sp_shared_count.h
libstdc++6-4.3-dev: /usr/include/c++/4.3/tr1/boost_sp_shared_count.h
--
Russ Allbery (rra@debian.org) <http://www.eyrie.org/~eagle/>
Reply to: