Bug#1017504: Enabling large file support in doxygen

2023-01-11 Thread Helge Deller

Hi Paolo,

On 1/11/23 10:52, Paolo Greppi wrote:

Hi! sorry for the long delay, at last I'm looking at incorporating your patch. 
It's now WIP here:
https://salsa.debian.org/debian/doxygen


Thanks!


Before I upload it to unstable, I was wandering:
1. what would be the easiest way to turn this on only for 32-bit builds?


I don't know, but it's not needed.
Those flags (_LARGE_FILE_SOURCE=1  _FILE_OFFSET_BITS=64) are enabled by default
already on all 64-bit platforms, so for those the added flags are redundant.
Adding those will have no effect for 64bit builds.
You could also use something like
 DEB_BUILD_OPTIONS="future=+lfs" dpkg-buildflags --get CPPFLAGS
which will return the flags on 32-bit machines only (this does not work for 
CXXFLAGS though).
In any case, simply adding the flags will work on all machines.


2. what side effects can we expect? ~600 packages build-depend on doxygen, I 
would not want to break havoc


The only side-effect is, that with it the doxygen binary will be able to access 
large files
and files on large discs. So, on 32-bit binaries you now have the same result 
as if you run
on 64bit machines.
So, no negative effects, only positive ones.


3. reading some threads about enabling large file support for all packages, I 
was scared by the issue of ABI breaking, are we 100% sure that we will not 
trigger that?


This is relevant only if you provide *libraries* and header files (*.h) for use 
by external programs
(e.g. GTK libraries) *and* which provides functions which have "struct dirent" 
in the function parameter list.
It seems the doxygen package only provides binaries, but no development header 
files (*.h) for usage
in other programs. So this doesn't affect you.

Helge



Bug#1017504: Enabling large file support in doxygen

2023-01-11 Thread Paolo Greppi
Hi! sorry for the long delay, at last I'm looking at incorporating your 
patch. It's now WIP here:

https://salsa.debian.org/debian/doxygen

Before I upload it to unstable, I was wandering:
1. what would be the easiest way to turn this on only for 32-bit builds?
2. what side effects can we expect? ~600 packages build-depend on 
doxygen, I would not want to break havoc
3. reading some threads about enabling large file support for all 
packages, I was scared by the issue of ABI breaking, are we 100% sure 
that we will not trigger that?


Thanks for you comments,

Paolo