[Debian-astro-maintainers] Bug#786715: stellarium: Uses private copies of external headers

Thibaut Paumard thibaut at debian.org
Mon Jun 1 14:21:59 UTC 2015


Le 24/05/2015 20:46, Sune Vuorela a écrit :
> Source: stellarium
> Version: 0.13.3-1
> Severity: serious
> 

Hi,

I think the severity of this bug is overstated. There is no reason why
this should warrant removing stellarium from testing.

Upstream is working on the issue, I suggest downgrading the severity to
"normal" or "important" at most.

Kind regards, Thibaut.


> Dear Maintainer,
> 
> Stellarium has a copy of qzipreader/writer header files taken out of Qt,
> and uses the internal, but unfortuantely available, symbols out of Qt
> Gui. It can be directly seen due to the dependency on the internal qt
> versioning as in qtbase-abi-5-3-2 which is generally a sign of doing
> something dirty, and will require a rebuild on each new Qt upload.
> 
> If the QZipReader/writer classes changes (they can do that, they are an
> internal thing to Qt), stellarium will not work or maybe even crash
> randomly.
> 
> I'd suggest one of the following solutions:
> 
> 1) Use an actual public zipping library. KArchive and quazip are two
> currently available in Debian
> 
> 2) Copy out the relevant bits from Qt *and rename* them (like add a
> namespace or something).  (The current qzip.cpp found in the external
> directory could be used, but needs to actually be built. Hint: ! is not
> a valid negation operator in cmake)
> 
> 3) much discouraged, but still better than status quo. Use the privately
> exposed headers in qtbase5-private-dev of qzipreader_p.h and
> qzipwriter_p.h to at least ensure that things are in sync. This also
> requires changes to the build system.
> 
> 4) convince Qt upstream to make QZip* public api. That's likely not
> going to happen, and even if it was, we would need a interrim solution.
> 
> Getting something going soon would be nice to detangle stellarium from
> the next qt upload. And 3) doesn't solve that.
> 
> I do somewhere have a quick and dirty patch for 2), but I really think
> you should consider 1).
> 
> /Sune
> 
> 
> -- System Information:
> Debian Release: stretch/sid
>   APT prefers unstable
>   APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
> 
> Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> Init: systemd (via /run/systemd/system)
> 
> 



More information about the Debian-astro-maintainers mailing list