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.wo...@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