[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