[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: