Package Debian pour Viking 1.6

Pour ma mémoire défaillante, une série de notes prises lors de la préparation du paquet Debian pour la version 1.6 de Viking.

Actions

Import

$ gbp import-orig --uscan

Changes

-AC_PREREQ(2.59)
+AC_PREREQ(2.64)

-AM_GLIB_GNU_GETTEXT
+AM_GNU_GETTEXT_VERSION([0.17])
+AM_GNU_GETTEXT([external])

-        glib-2.0          >= 2.16
+        glib-2.0          >= 2.26
-        gtk+-2.0          >= 2.14
+        gtk+-2.0          >= 2.16

+AC_ARG_WITH(libexif, AC_HELP_STRING([--with-libexif], [Force usage of libexif instead of libgexiv2]))
-    AC_CHECK_LIB(exif,exif_loader_new,,AC_MSG_ERROR([libexif is needed for Geotag features[,] but is not found. The feature can be disabled with --disable-geotag]))
+    AS_IF([test x$with_libexif = xyes],
+      AC_CHECK_HEADER([libexif/exif-data.h],[],AC_MSG_ERROR([exif-data.h is needed but not found - you will need to install package 'libexif-dev' or similar]))
+      AC_CHECK_LIB(exif,exif_loader_new,, AC_MSG_ERROR([libexif is not found but it has been forcibly required])),
+      # gexiv2.h relies on glib so a simple compile check fails.
+      #AC_CHECK_HEADER([gexiv2/gexiv2.h],,AC_MSG_ERROR([Error msg...]))
+      AC_CHECK_LIB(gexiv2,gexiv2_metadata_new,, AC_MSG_ERROR([libgexiv2 is needed but not found - you will need to install package 'libgexiv2-dev' or similar. The fe
+      )

+AM_CONDITIONAL([GEXIV2], [test x$ac_cv_lib_gexiv2_gexiv2_metadata_new = xyes] )
+# Tested with gexiv2 0.10.2, but probably would work with older versions; may be all of them...
+#AM_COND_IF([GEXIV2], [PKG_CHECK_MODULES([GEXIV2], [gexiv2 >= 0.6.1])])
+AM_CONDITIONAL([LIBEXIF], [test x$ac_cv_lib_exif_exif_loader_new = xyes] )

+# SQL for MBTiles
+AC_ARG_ENABLE(mbtiles, AC_HELP_STRING([--enable-mbtiles],
+              [enable MBTiles support via libsqlite3 (default is enable).]),
+              [ac_cv_enable_mbtiles=$enableval],
+              [ac_cv_enable_mbtiles=yes])
+AC_CACHE_CHECK([whether to enable MBTiles Support],
+               [ac_cv_enable_mbtiles], [ac_cv_enable_mbtiles=yes])
+case $ac_cv_enable_mbtiles in
+  yes)
+    AC_CHECK_HEADERS([sqlite3.h],[],[AC_MSG_ERROR([sqlite3.h is needed but not found - you will need to install package 'libsqlite3-dev' or similar. The feature can
+    AC_CHECK_LIB(sqlite3, sqlite3_open, [], [AC_MSG_ERROR([libsqlite3 is needed but not found.])])
+    ;;
+esac
+AM_CONDITIONAL([SQLITE], [test x$ac_cv_enable_mbtiles = xyes])

+# Mapnik rendering layer
+AC_ARG_ENABLE(mapnik, AC_HELP_STRING([--enable-mapnik],
+              [enable Mapnik (default is enable)]),
+              [ac_cv_enable_mapnik=$enableval],
+              [ac_cv_enable_mapnik=yes])
+AC_CACHE_CHECK([whether to enable Mapnik],
+               [ac_cv_enable_mapnik], [ac_cv_enable_mapnik=yes])
+case $ac_cv_enable_mapnik in
+  yes)
+    # C++
+    AC_LANG_CPLUSPLUS
+    AC_LANG_SAVE
+    AC_PROG_CXX
+    # Too difficult to get check working under Windows (extra dependencies needed probably Boost)- so just skip it
+    if test "x$ac_cv_enable_windows" = "xno"; then
+      AC_CHECK_HEADER([mapnik/map.hpp],[],[AC_MSG_ERROR([mapnik/map.hpp is needed but not found - you will need to install package 'libmapnik-dev' or similar. The fe
+    fi
+    AC_CHECK_LIB([mapnik], [main], [], [AC_MSG_ERROR([libmapnik is needed but not found.])])
+    AC_CHECK_LIB([stdc++], [main], [], [AC_MSG_ERROR([libstdc++ is needed but not found.])])
+    AC_LANG_RESTORE
+    ;;
+esac
+AM_CONDITIONAL([MAPNIK], [test x$ac_cv_enable_mapnik = xyes])

Creation environnement

git-pbuilder create

Mise à jour des patches

Patch set_subdir-objects devenu inutile car appliqué upstream.

Generation

gbp buildpackage --git-pbuilder

dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/viking/usr/bin/viking was not linked against libgthread-2.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/viking/usr/bin/viking was not linked against libpangocairo-1.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/viking/usr/bin/viking was not linked against libpangoft2-1.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/viking/usr/bin/viking was not linked against libfreetype.so.6 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/viking/usr/bin/viking was not linked against libfontconfig.so.1 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/viking/usr/bin/viking was not linked against libatk-1.0.so.0 (it uses none of the library's symbols)

gbp dch

debsign -m Bonnefille viking_1.6-1_amd64.changes

dput mentors viking_1.6-1_amd64.changes

References

https://wiki.debian.org/HowToPackageForDebian