tilemaker review

Sebastiaan Couwenberg sebastic at xs4all.nl
Fri Oct 8 08:39:10 BST 2021


On 10/7/21 9:47 PM, Felix Delattre wrote:
> tilemaker looks good to me.

With the cmake build system you shouldn't need as much customization in
d/rules, like the dh_auto_install override, the various buildflag bits,
and all the Makefile changes in the various patches.

You do need to patch CMakeList.txt to use the TM_VERSION environment
variable instead of using git:

 execute_process(
         COMMAND git describe --tags --abbrev=0
         OUTPUT_VARIABLE tm_version)
 add_compile_definitions(TM_VERSION=${tm_version})

> Only one last thing: after switching to cmake I see a lintian `file-references-package-build-path` message, and I'm a bit stuck on how to solve this. Do you have a hint for me? I saw you had some similar issues with PROJ.

The paths in question:

 $ strings /tmp/tilemaker/usr/bin/tilemaker | grep "/build/"
 /build/tilemaker-2.0.0+ds/obj-x86_64-linux-gnu/vector_tile.pb.cc
 /build/tilemaker-2.0.0+ds/obj-x86_64-linux-gnu/osmformat.pb.cc
 /build/tilemaker-2.0.0+ds/obj-x86_64-linux-gnu/osmformat.pb.h
 /build/tilemaker-2.0.0+ds/src/osm_lua_processing.cpp
 /build/tilemaker-2.0.0+ds/obj-x86_64-linux-gnu/vector_tile.pb.h

CMake uses the absolute path to source files instead of paths relative
to the build directory as autotools does. These will find their way into
executables via the __FILE__ macro or assert() statements. The latter
can be optimized out with -DNDEBUG. That is set by default when
-DCMAKE_BUILD_TYPE=Release is used, but debhelper uses
-DCMAKE_BUILD_TYPE=None.

With -DNDEBUG there are only two instances left:

 $ strings /tmp/tilemaker/usr/bin/tilemaker | grep "/build/"
 /build/tilemaker-2.0.0+ds/obj-x86_64-linux-gnu/vector_tile.pb.cc
 /build/tilemaker-2.0.0+ds/obj-x86_64-linux-gnu/osmformat.pb.cc

That's probably due to those files being added to the executable with
the absolute path stored in the output variables. I don't see an easy
fix for that. I would just add a lintian override for that.

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1



More information about the Pkg-grass-devel mailing list