Re: Tightening dependencies within the source package

2016-01-07 Thread Lisandro Damián Nicanor Pérez Meyer
On Thursday 07 January 2016 19:59:30 Dmitry Shachnev wrote:
> Hi,
> 
> As you already know, in Qt 5.6 there was a change in ELF versions, from
> @Base to @Qt_5. I have developed a script for that (migrate-symbols.py)
> that scans the build log and updates the symbols files accordingly. That
> script changed the ELF version tags, but it did not touch the package
> version numbers.
> 
> Now I have a bug: qttools5-dev-tools dependency on libqt5help5 is not
> enough: it depends on libqt5help5 (>= 5.0.2), however fails to work with
> 5.5:
> 
> /usr/lib/x86_64-linux-gnu/qt5/bin/qhelpgenerator:
> /usr/lib/x86_64-linux-gnu/libQt5Help.so.5: version `Qt_5' not found
> (required by /usr/lib/x86_64-linux-gnu/qt5/bin/qhelpgenerator)
> 
> How can I make sure a proper dependency is generated?

Build-Depends-Package from deb-symbols(5) possibly. That's what I wanted to 
add to qtbase, but you where faster than I to package it and then I forgot 
about it.


-- 
Una sola bomba nuclear puede arruinar el resto de tu día.

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


signature.asc
Description: This is a digitally signed message part.
-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk

Tightening dependencies within the source package

2016-01-07 Thread Dmitry Shachnev
Hi,

As you already know, in Qt 5.6 there was a change in ELF versions, from @Base
to @Qt_5. I have developed a script for that (migrate-symbols.py) that scans
the build log and updates the symbols files accordingly. That script changed
the ELF version tags, but it did not touch the package version numbers.

Now I have a bug: qttools5-dev-tools dependency on libqt5help5 is not enough:
it depends on libqt5help5 (>= 5.0.2), however fails to work with 5.5:

/usr/lib/x86_64-linux-gnu/qt5/bin/qhelpgenerator: 
/usr/lib/x86_64-linux-gnu/libQt5Help.so.5:
version `Qt_5' not found (required by 
/usr/lib/x86_64-linux-gnu/qt5/bin/qhelpgenerator)

How can I make sure a proper dependency is generated?

Using -V flag of dh_makeshlibs does not help.

Of course I can bump all symbols versions to 5.6.0~beta, but I don't think it
is a proper solution (and also it will destroy the existing symbols history).

Does anyone know a better solution?

--
Dmitry Shachnev


signature.asc
Description: PGP signature
-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk

Re: Tightening dependencies within the source package

2016-01-07 Thread Lisandro Damián Nicanor Pérez Meyer
On Thursday 07 January 2016 19:59:30 Dmitry Shachnev wrote:
> Hi,
> 
> As you already know, in Qt 5.6 there was a change in ELF versions, from
> @Base to @Qt_5. I have developed a script for that (migrate-symbols.py)
> that scans the build log and updates the symbols files accordingly. That
> script changed the ELF version tags, but it did not touch the package
> version numbers.
> 
> Now I have a bug: qttools5-dev-tools dependency on libqt5help5 is not
> enough: it depends on libqt5help5 (>= 5.0.2), however fails to work with
> 5.5:
> 
> /usr/lib/x86_64-linux-gnu/qt5/bin/qhelpgenerator:
> /usr/lib/x86_64-linux-gnu/libQt5Help.so.5: version `Qt_5' not found
> (required by /usr/lib/x86_64-linux-gnu/qt5/bin/qhelpgenerator)

Now the real interesting thing is that I built qtbase 5.6 and run apps built 
against qtbase 5.5 without issues :-/


-- 
Sea estricto cuando envíe y tolerante cuando reciba. En otras palabras, solo
envíe paquetes que cumplan rigurosamente con lo estándares, pero espere
paquetes que tal vez no cumplan del todo y trate de lidiar con ellos.
  Andrew S. Tanenbaum, de su libro "Computer Networks"

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


signature.asc
Description: This is a digitally signed message part.
-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk

Re: Tightening dependencies within the source package

2016-01-07 Thread Dmitry Shachnev
On Thu, Jan 07, 2016 at 09:18:16PM +0100, Pino Toscano wrote:
>> But thinking more about this, maybe bumping the versions is really a
>> better solution.
> 
> Yes, it is.

You are right. Thanks! Done in [1].

To Lisandro or whoever will be updating other Qt modules to 5.6: I have now
added an option to migrate-symbols.py which will bump all versions. Use it
like this:

  .../scripts/migrate-symbols.py --version 5.6.0~beta build_log.txt

[1]: 
https://anonscm.debian.org/cgit/pkg-kde/qt/qttools.git/commit/?id=0955f0e6d9097993

--
Dmitry Shachnev


signature.asc
Description: PGP signature
-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk

Re: Tightening dependencies within the source package

2016-01-07 Thread Lisandro Damián Nicanor Pérez Meyer
On Thursday 07 January 2016 21:18:16 Pino Toscano wrote:
> In data giovedì 7 gennaio 2016 22:49:24, Dmitry Shachnev ha scritto:
> > Hi Pino,
> > 
> > On Thu, Jan 07, 2016 at 08:19:03PM +0100, Pino Toscano wrote:
> > > @Qt_5 symbols need to require version >= 5.6.0~beta, then: if not, the
> > > version filled in packages is not enough, causing runtime failures like
> > > the one you pasted above.
> > 
> > You mean I should bump the symbols versions, right?
> 
> Yes.

Dmitry went this way already, so things should work now. Thanks Pino for 
helping us with this :)

Now on a different but related matter we still had doubts on why applications 
built with Qt 5.5 would work with Qt 5.6 even if the version nodes changed.

As described in [0]:

  "When the linker finds a symbol defined in a library which is not
   specifically bound to a version node, it will effectively bind it to an
   unspecified base version of the library."

So basically ld will link any app depending on the @Base version node to a lib 
that fullfils the symbol no matter it's version node, thus apps compiled 
against Qt << 5.6 will still work with Qt >= 5.6.

[0] 

All in all it was a very good idea to start packaging 5.6 during it's beta. 
Thanks everyone!

-- 
Outside of a dog, a book is man's best friend.
Inside of a dog, it's too dark to read.
 -- Groucho Marx

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


signature.asc
Description: This is a digitally signed message part.
-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk