Package: libh3-dev
Version: 4.4.1-1
Severity: important
X-Debbugs-Cc: [email protected]
Dear Maintainer,
* What led up to the situation?
libh3-dev contains h3api.h, but it was installed as
/usr/include/h3api.h.
The header files such as h3api.h should not be installed under
/usr/include, but /usr/include/h3/h3api.h.
Why it should be? it seems that there is 2 use-cases.
* Install header files under /usr/include/h3. use it from application
Official example do that (include <h3/h3api.h>):
https://github.com/uber/h3/blob/1d5346bb30082e10b8da60a6d288bc1998295d61/examples/edge.c#L21
for Debian package, this is right solution.
* Use vendored h3 header file from application.
h3api.h is not placed under h3 in source
tree (src/h3lib/include/h3api.h), so if you use vendored version of
h3, include <h3api.h> is correct.
For example, h3-pg is designed to use with vendored h3.
https://github.com/postgis/h3-pg/blob/main/cmake/h3/CMakeLists.txt
Thus, using from third-party application (not limited hg-pg),
libh3-dev should install header files under /usr/include/h3 as
system-wide.
* What exactly did you do (or not do) that was effective (or
ineffective)?
Do not install usr/include explicitly.
diff --git a/debian/libh3-dev.install b/debian/libh3-dev.install
index c6f2c3e..48b738a 100644
--- a/debian/libh3-dev.install
+++ b/debian/libh3-dev.install
@@ -1,3 +1,3 @@
usr/lib/*/*.so
usr/lib/*/cmake
-usr/include/h3/* usr/include
+usr/include/h3/*
* What was the outcome of this action?
h3api.h will be installed as /usr/include/h3/h3api.h.
NOTE: It might be modified for supporting h3-pg (it include <h3api.h>
instead of <h3/h3api.h> but h3-pg assumes vendored h3.
vendored h3 directory structure is bit different, so include <h3api.h>
is correct in the context of h3-pg.
This must be changed to support system-wide installed libh3-dev, but
it is out-of-scope in this bug.
* What outcome did you expect instead?
N/A
-- System Information:
Debian Release: forky/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.19.6+deb14-amd64 (SMP w/24 CPU threads; PREEMPT)
Locale: LANG=ja_JP.utf8, LC_CTYPE=ja_JP.utf8 (charmap=UTF-8), LANGUAGE
not set Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled