Re: mathic/mathicgb RC bugs -- sponsorship request

2017-08-13 Thread Sébastien Villemot
On Sat, Aug 12, 2017 at 06:39:00PM -0400, Doug Torrance wrote:
> On 08/06/2017 07:02 AM, Sébastien Villemot wrote:
> > Le vendredi 04 août 2017 à 21:47 -0400, Doug Torrance a écrit :
> > > Would anyone be able to sponsor mathic and mathicgb?
> > > 
> > > I've uploaded new versions to git [1,2] fixing the RC bugs [3,4].
> > 
> > I have reviewed the two packages. This is a good job, but there are
> > still some issues that need to be fixed:
> 
> Thanks for the review!  I've uploaded my updates to git.

Thanks, I have uploaded the two packages.

Note that you may want to fix the underlinking issue in stretch, since it is
technically of severity serious (missing package dependencies). If you decide
to do so, you should follow the usual procedure (open a bug against mathicgb,
open another one against release.debian.org with the proposed debdiff…).

Cheers,

--
⢀⣴⠾⠻⢶⣦   Sébastien Villemot
⣾⠁⢠⠒⠀⣿⡁  Debian Developer
⢿⡄⠘⠷⠚⠋⠀  http://sebastien.villemot.name
⠈⠳⣄  http://www.debian.org


signature.asc
Description: PGP signature


Re: mathic/mathicgb RC bugs -- sponsorship request

2017-08-12 Thread Doug Torrance

Hi Sébastien,

On 08/06/2017 07:02 AM, Sébastien Villemot wrote:

Le vendredi 04 août 2017 à 21:47 -0400, Doug Torrance a écrit :

Would anyone be able to sponsor mathic and mathicgb?

I've uploaded new versions to git [1,2] fixing the RC bugs [3,4].


I have reviewed the two packages. This is a good job, but there are
still some issues that need to be fixed:


Thanks for the review!  I've uploaded my updates to git.


1) In mathic, you dropped the symbols file. I think this is a
reasonable choice for a C++ library. However this means that you must
take extra care of the other system for managing shared library
dependencies, namely the shlibs system. Currently the shlibs file does
not contain a tight enough dependency. The problem is that, looking at
the former .symbols file, some symbols were apparently introduced in
the 1.0~git20160320 release, which were not in the 1.0~git20130827
release. This means that a standalone program using the new symbols
will not get a tight enough dependency.

This can be fixed by calling dh_makeshlibs with -V "libmathic0v5 (>=
1.0~git20160320)". Or, if new symbols were introduced in the snapshot
you just packaged (I did not check), it should even be -V "libmathic0v5
(>= 1.0~git20170606)".

Note that another option is to call dh_makeshlibs with the -V option
without any extra argument, in which case dh_makeshlibs will always
generate the tightest possible dependency; the upside is that this
means that you don't have to check for new symbols on every new
upstream version, and you can't have too loose a dependency; the
downside is that you generate dependencies that may be too tight,
needlessly complicating the life of dpkg/apt.

It's up to you to decide which solution is the best.

Shared library management can be tricky. Don't hesitate to ask if you
need more explanations about this issue.


I went ahead and just used dh_makeshlibs -V, without any specific 
version.  If you look through d/changelog when I tried to maintain a 
.symbols file, I had to update at every release!



2) In mathicgb, I get many messages like this from dpkg-shlibdeps:

dpkg-shlibdeps: warning: symbol _ZN4memt10BufferPool12growCapacityEv used by 
debian/libmathicgb0/usr/lib/x86_64-linux-gnu/libmathicgb.so.0.0.0 found in none 
of the libraries
dpkg-shlibdeps: warning: symbol _ZN6mathiclsERSoRKNS_13ColumnPrinterE used by 
debian/libmathicgb0/usr/lib/x86_64-linux-gnu/libmathicgb.so.0.0.0 found in none 
of the libraries
dpkg-shlibdeps: warning: symbol _ZN6mathic13ColumnPrinter17repeatToEndOfLineEc 
used by debian/libmathicgb0/usr/lib/x86_64-linux-gnu/libmathicgb.so.0.0.0 found 
in none of the libraries

Obviously, libmathicgb is underlinked. It misses at least a dependency on 
libmathic, and maybe more.


I found the problem and added a patch, which has also been submitted 
upstream.


I've also made a few additional changes since the original review.  In 
particular, bumping to Standards-Version 4.0.1 and adding another patch 
closing another mathicgb bug.


Thanks!
Doug



Re: mathic/mathicgb RC bugs -- sponsorship request

2017-08-06 Thread Sébastien Villemot
Dear Doug,

Le vendredi 04 août 2017 à 21:47 -0400, Doug Torrance a écrit :
> Would anyone be able to sponsor mathic and mathicgb?
> 
> I've uploaded new versions to git [1,2] fixing the RC bugs [3,4].

I have reviewed the two packages. This is a good job, but there are
still some issues that need to be fixed:

1) In mathic, you dropped the symbols file. I think this is a
reasonable choice for a C++ library. However this means that you must
take extra care of the other system for managing shared library
dependencies, namely the shlibs system. Currently the shlibs file does
not contain a tight enough dependency. The problem is that, looking at
the former .symbols file, some symbols were apparently introduced in
the 1.0~git20160320 release, which were not in the 1.0~git20130827
release. This means that a standalone program using the new symbols
will not get a tight enough dependency.

This can be fixed by calling dh_makeshlibs with -V "libmathic0v5 (>= 
1.0~git20160320)". Or, if new symbols were introduced in the snapshot
you just packaged (I did not check), it should even be -V "libmathic0v5
(>= 1.0~git20170606)".

Note that another option is to call dh_makeshlibs with the -V option
without any extra argument, in which case dh_makeshlibs will always
generate the tightest possible dependency; the upside is that this
means that you don't have to check for new symbols on every new
upstream version, and you can't have too loose a dependency; the
downside is that you generate dependencies that may be too tight,
needlessly complicating the life of dpkg/apt.

It's up to you to decide which solution is the best.

Shared library management can be tricky. Don't hesitate to ask if you
need more explanations about this issue.


2) In mathicgb, I get many messages like this from dpkg-shlibdeps:

dpkg-shlibdeps: warning: symbol _ZN4memt10BufferPool12growCapacityEv used by 
debian/libmathicgb0/usr/lib/x86_64-linux-gnu/libmathicgb.so.0.0.0 found in none 
of the libraries
dpkg-shlibdeps: warning: symbol _ZN6mathiclsERSoRKNS_13ColumnPrinterE used by 
debian/libmathicgb0/usr/lib/x86_64-linux-gnu/libmathicgb.so.0.0.0 found in none 
of the libraries
dpkg-shlibdeps: warning: symbol _ZN6mathic13ColumnPrinter17repeatToEndOfLineEc 
used by debian/libmathicgb0/usr/lib/x86_64-linux-gnu/libmathicgb.so.0.0.0 found 
in none of the libraries

Obviously, libmathicgb is underlinked. It misses at least a dependency on 
libmathic, and maybe more.

Cheers,

-- 
⢀⣴⠾⠻⢶⣦   Sébastien Villemot
⣾⠁⢠⠒⠀⣿⡁  Debian Developer
⢿⡄⠘⠷⠚⠋⠀  http://sebastien.villemot.name
⠈⠳⣄   http://www.debian.org