[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#830569: RFS: z3/4.4.1-0.1 [NMU] [4xRC]



It looks like my last email was not forwarded to the debian-mentors
mailing list. Since I am still looking for a sponsor, here it is:

----------------------------------------------------------------------------

Hi Jakub,

thanks for the review!

On Sat, Jul 09, 2016 at 08:33:21PM +0200, Jakub Wilk wrote:
> Hi Fabian!
> 
> I don't intend to sponsor this upload, but here's a quick review:
> 
> * Fabian Wolff <fabi.wolff@arcor.de>, 2016-07-09, 16:14:
> > * Add patch fix-dotnet-version.patch (Closes: #808695).
> 
> This gives me no clue what the patch is about.

I have made the changelog entry a bit more verbose.

> > * Upgrade to Standards version 3.9.8 (no changes).
> 
> I don't think this is a good idea for an NMU.

OK. Changed back to 3.9.6.

> > * Install shared libraries into new libz3-4 package (Closes: #819884).
> 
> Now that the -dev package doesn't ship any ELFs, you should remove
> ${shlib:Depends} from -dev's Depends.
> 
> "Pre-Depends: ${misc:Pre-Depends}" should be moved to the shared library
> package, or removed completely, because it's not needed these days.

I removed it, but does it do any harm?

> > * Install python files directly into /usr/lib/python2.7/dist-packages/
> 
> AFAICS, upstream build system installs these files in the right place, so
> there should be no need to pick the *.py files from src/.
> 
> These d/rules lines are effectively no-ops and should be removed:
> 
> 	mkdir -p debian/tmp/usr/lib/python2.7/dist-packages/z3
> 	touch debian/tmp/usr/lib/python2.7/dist-packages/z3/__init__.py
> 
> (The latter is probably a failed attempt of fixing #791604, which looks like
> a previous incarnation #819884.)

True, I fixed it. The first mkdir is necessary, though, to make the
directory debian/tmp/usr/lib/python2.7/dist-packages/. dh_auto_install
fails otherwise.

> > * Remove unnecessary version restriction of build dependency
> > cli-common-dev.
> 
> Hmm, I don't know anything about CLI, but dh_cligacpolicy disagrees:
> 
> dh_cligacpolicy: Warning! No Build-Depends(-Indep) on cli-common-dev (>= 0.5.7)!

#808405. Even oldoldstable ships 0.7.1, so it is safe to assume that
the version is >= 0.5.7.

> > * Format debian/control with cme.
> 
> I don't think cosmetic changes are good idea for an NMU.

I undid them.

> > * Disable tests as they fail eventually.
> 
> All the tests? :-O

It's more like one big one that calls individual functions that test
something. Most of the tests passed, but after about 1 GB (!) of test
output had been written on screen, something segfaulted. This is one
of those issues that probably need further investigation, but I lack
the overview over the test architecture to even just know where to
look. Here is the tail of the build log:

NUM_NON_LINEAR 0
NUM_ALIENS 0
NUM_THEORIES 0
END_PRIMITIVE_STATIC_FEATURES
(smt.preprocessing :time 0.01 :before-memory 5.25 :after-memory 5.25)
debian/rules:96: recipe for target 'override_dh_auto_test' failed
make[1]: *** [override_dh_auto_test] Segmentation fault
make[1]: Leaving directory '/build/z3-4.4.1'
debian/rules:9: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

This followed 987M of passing test logs, so I think this is not a
major issue.

> > I've tried building z3 with hardening flags turned on, but the build
> > failed.
> 
> What was the error message?

/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
Makefile:3867: recipe for target 'libz3.so' failed

Might have something to do with -fPIE vs. -fPIC, but one would have to
investigate further to be sure. This is definitely not a regression,
though, since the z3 version currently in the archive has no hardening
flags enabled, either.

> > I don't know what the problem with the -dev package is; contrary to what
> > Lintian claims, it *does* contain a symlink to the respective shared
> > library.
> 
> Yes, it does look like a bug in Lintian. Apparently it gets confused by the
> -ocaml-dev package:
> 
> $ lintian libz3-4_4.4.1-0.1_amd64.deb libz3-dev_4.4.1-0.1_amd64.deb
> [nothing]
> 
> $ lintian libz3-4_4.4.1-0.1_amd64.deb libz3-dev_4.4.1-0.1_amd64.deb libz3-ocaml-dev_4.4.1-0.1_amd64.deb
> W: libz3-4: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libz3.so.4 usr/lib/x86_64-linux-gnu/libz3.so
> W: libz3-ocaml-dev: hardening-no-relro usr/lib/ocaml/z3/dllz3ml.so

I have made the -dev package depend on libz3-4, and indeed, the
Lintian warning disappeared. Thanks for the hint!

The warning about the incompatible Java bytecode version might have
something to do with #829592, as I just noticed.

> > There are a few other issues that I was not able to fix, but I think
> > closing the four RC bugs has a higher priority right now.
> 
> Absolutely. It's not NMUer obligation to fix every known bug.
> 
> -- 
> Jakub Wilk

I have reuploaded the fixed version to Mentors:

  https://mentors.debian.net/package/z3

  https://mentors.debian.net/debian/pool/main/z/z3/z3_4.4.1-0.1.dsc

Regards,
Fabian Wolff


Reply to: