On Mon, 07 Aug 2017 at 15:47:16 +0100, jcowg...@debian.org wrote:
> It appears that your package provides an external symbol that is
> affected by the recent name mangling changes in GCC 7. See:
> https://gcc.gnu.org/gcc-7/porting_to.html#conversion-op-mangling

I started to look into fixing this bug and noticed that there is a new
version prepared and tagged in collab-maint git. However, I reviewed that
version and I don't think it's ready for a sponsored upload.

I would suggest not tagging versions until they are finalized and
uploaded. Now that there is a tag for -6 that never got uploaded,
the least confusing thing to do would probably be to skip -6 and have
the next maintainer upload be versioned -7.

> To ensure that new executables will pull in the newer version of the
> library built with GCC 7:
> - Your library package should Build-Depend on g++ (>= 4:7).

This has not yet been done in the version in collab-maint.

> - If your package provides a symbols file, ensure that the new
>   conversion operator symbols have a version matching the version this
>   bug is fixed in (including the Debian revision and tilde if
>   necessary).

Neither has this. The minimal version for the affected symbols in the
affected library should be bumped to the version that is uploaded to
fix this, plus "~" (so for 3.2.2-6 they should have been 3.2.2-6~).

Because openmw's symbols files contain the mangled names
(_ZN5MyGUI10DataStreamC1EPSi@Base) and not the unmangled names like apt's
symbols file
((c++)"MyGUI::DataStream::DataStream(std::basic_istream<char, 
std::char_traits<char> >*)@Base")
it might be sufficient to let dpkg-makeshlibs add the new symbols at build
time. However, it's probably better if the symbols file in the source
package is updated.

>From the updated package in git:
>   * Cleanup and rebuild (Closes: #871235, #871299)

I don't think this changelog entry (or its accompanying git commit message)
is sufficient. It doesn't describe what cleanup took place or mention why
the rebuild is desirable.

I would be happier with something like:

  * debian/copyright_hints: Remove
  * Update Standards-Version to 4.0.0 (no changes required)
  * Rebuild with g++ 7 to pick up name-mangling changes and be compatible
    with recently-rebuilt dependencies (Closes: #871235, #871299)

Lintian also complains that Thu, 18 Sep 2017 never existed (the 18th was
a Monday). Copy/paste error?

Regards,
    smcv

Reply via email to