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

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



Any reason why your .orig.tar is different than the one uscan downloads?

$ md5sum z3_4.4.1.orig.tar.gz*
94e21f86056f986c320653912be53f8a  z3_4.4.1.orig.tar.gz
4336a9df24f090e711c6d42fd4e2b1fc  z3_4.4.1.orig.tar.gz.github

* Fabian Wolff <fabi.wolff@arcor.de>, 2016-07-10, 00:56:
* 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?

They didn't have any effect on the binary package. They were just misleading.

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.

It would be cool to fix the upstream build system, so that it creates dist-packages when it's missing.

* 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,

To be frank, I don't thin disabling whole testsuite is a good plan, especially for an NMU. The package might mostly work for you, but maybe it'll be completely broken when compiled on another architecture or with a different compiler version. We do want to notice when this happens.

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,

Right. Many build systems don't tolerate -fPIE/-pie out of the box. This is explained in the dpkg-buildflags manpage, with hints how to fix it:

“Unconditionally passing -fPIE, -fpie or -pie to a build‐system using libtool is safe as these flags will get stripped when building shared libraries. Otherwise on projects that build both programs and shared libraries you might need to make sure that when building the shared libraries -fPIC is always passed last (so that it overrides any previous -PIE) to compilation flags such as CFLAGS, and -shared is passed last (so that it overrides any previous -pie) to linking flags such as LDFLAGS.”

This is definitely not a regression, though,

That's right.

--
Jakub Wilk


Reply to: