[Debian-med-packaging] camitk autopkgtest failing
Emmanuel Promayon
Emmanuel.Promayon at univ-grenoble-alpes.fr
Sat Jan 21 09:42:02 UTC 2017
Dear Andreas,
Thanks to what you and Sascha did in the njplot autopkgtest [1], I think
I managed to fix the autopkgtest bug in camitk.
My machine is running jessie, and I unfortunately did not manage to
setup a proper lxc container as you suggested. But I managed to setup a
docker container to run the tests as if they was done on a "clean" sid
(well I think).
If that is ok with you, the package is ready to upload (unless you want
to test using lxc firts). Thanks again!
(the following section is describing the problems there was in
autopkgtet in details and can be skipped, it is just here for future
reference)
There was three problems :
1. when using xvfb-run the first line was an OpenGL message ("libEGL
warning: DRI2: failed to open swrast"). As the "config" test captures
the output of camitk-config command (which "introspect" which version is
installed), the installed camitk version was not correctly detected. As
the config test was faulty, it still pass the test, but that was due to
a bug in the "config" test. I fix this bug and then had to add a
dependency to libgl1-mesa-dri to avoid the OpenGL message
2. that led to a dbus problem ("D-Bus library appears to be incorrectly
set up"), I had to add a dependency to the dbus package. That done,
running the Xvfb server and then running the camitk-config command, as
it is done in [1], finished to resolve all the problems
3. the "wizard" test is testing that the dev package can be used to
develop a new extension. It generates C++ code, try to build the
extension, and check that the new extension is recognized by
camitk-config (i.e., that the new extension works). This time the wizard
test was not verbose enough to detect the real problem, as you
suggested. Once modified it appears that the test needed g++ dependency.
Once added to tests/control the problem seemed solved.
autopkgtest is truly a very good system and it is worth the effort
fixing all of this. It does not mean the upstream package is empty of
any bugs (if that is possible), but it is a very good way of checking
that the final environment is what you think it should be!
(the following "rambling" section can also be skipped, my apologies if
it is just due to my lack of understanding of the packaging/dependency
process)
Problem #3 means, as libcamitk-dev is listed as a autopkgtest
dependency, that
- either libcamitk-dev does not depends on g++, which means that all the
-dev packages required to build libcamitk-dev do not depend on g++ either
- or that I forgot something in d/control
I am nearly sure it is the latter, as the first explanation seems a bit
strange. It might be due to my very narrow vision on the
packaging/dependency process, but even if I agree that, per se, there is
no dependency between a development package (e.g., qtbase5-dev) and the
compiler required to build something with it once it is installed, I am
wondering if there is a use-case where someone will need to install a
development package without using the compiler required to develop with
it (it would a bit like having screws and no screwdriver!).
If someone can clarify that for me, that would be great! (if it is total
nonsense, or if it just that I forgot something in d/control or
d/tests/control, do not hesitate to tell me!)
Have a nice week-end,
Emmanuel
[1] https://anonscm.debian.org/cgit/debian-med/njplot.git/tree/debian/tests
More information about the Debian-med-packaging
mailing list