Repository navigation
Packages Comaps
Offline vector maps with search and car, bike and foot routing, from CoMaps' own map files
- Version recorded: 2026.08.31-14
-
Categories:
navigation-maps - Upstream: https://www.comaps.app/
-
Needs first:
geoclue-2.0,libqt6positioning6-plugins
A map and navigator in the style of a phone app: vector maps drawn on the machine, search for places, addresses and postcodes from an index inside each map file, and routes by car, bike, on foot and by public transport, with contours and speed cameras where the map carries them. Everything runs from files on the disk, so none of it needs a network. It reads CoMaps' own map format, which comaps-maps downloads for your regions.
One program that finds an address and routes to it offline, with modern rendering, beside Navit (turn-by-turn from gpsd) and QMapShack (trails and terrain). It is the desktop build of the CoMaps phone app, a community fork of Organic Maps, so the laptop and a phone can carry the same maps.
Map regions set in station config (hammunition station set --map-regions ...) and comaps-maps installed for them; without maps it shows only the World overview. Start it from the menu entry "CoMaps with your offline maps", which runs hammunition maps comaps.
- git (cmake) — https://codeberg.org/comaps/comaps.git at
v2026.08.31-14(commit72632e4de65a98dfed827d8e447f0287168639d0); with submodules at their recorded commits, a hash-pinned build Python, upstream'sconfigure.shfirst, 3 file(s) the install rule leaves out- build dependencies:
build-essential,cmake,ninja-build,qt6-base-dev,qt6-svg-dev,qt6-positioning-dev,libicu-dev,libfreetype-dev,libharfbuzz-dev,libxrandr-dev,libxinerama-dev,libxcursor-dev,libxi-dev,optipng,python3-venv,jq
- build dependencies:
Binaries this produces:
CoMaps
Files its install rule leaves under the prefix, checked after the run and never copied or removed by the engine:
share/comaps/data/countries.txtshare/comaps/data/drules_proto.binshare/comaps/data/symbols/mdpi/light/symbols.png
Files the build's own install rule leaves out, installed by the engine after it (a symlink at the destination replaced, never written through) and checked after the run:
-
share/comaps/data/World.mwm, from https://cdn-fi-1.comaps.app/maps/2026.06.28/260830/World.mwm (53,387,231 bytes, sha256 pinned) -
share/comaps/data/WorldCoasts.mwm, from https://cdn-fi-1.comaps.app/maps/2026.06.28/260830/WorldCoasts.mwm (8,494,206 bytes, sha256 pinned) -
share/comaps/data/categories_brands.txt, fromdata/categories_brands.txtfrom the built tree
"You are here" comes from GeoClue, the only position source CoMaps reads on Linux. Run hammunition hardware apply once, which tells GeoClue to read the GPS tether's socket, then keep hammunition maps gps-tether running (the "GPS position" menu entry) while CoMaps is open. Measured end to end with Debian's GeoClue, its demo agent and Qt's plugin in a private namespace; not yet on the field laptop's own GeoClue, so the dot on a real desktop is unmeasured. With the tether stopped, GeoClue's own network lookup (beacondb, or GeoIP) still answers, and the map shows a coarse location instead; the navigation guide says how to tell them apart and what each disclosure means. Without a GeoClue agent in the session (Debian's demo agent, started at login), CoMaps waits about 25 s and shows no position. Built from source: a first install downloads the source and its submodules and compiles for tens of minutes (about 12 minutes measured on an 8-core laptop at two jobs, by hand). Upstream installs its own menu entry, "CoMaps", under its own categories; that one starts CoMaps without the launcher's preparation, so its first start shows the licence dialog and it does not see Hammunition's maps. uninstall refuses it, as it does every build whose own install rule wrote into /usr/local (the rule leaves no file list to reverse); what it wrote is in the transaction log. US address-search quality has not been measured.
- probe: github tags
- strategy: rebuild
- CoMaps tags a release every few weeks. Move the tag and its commit together, to one a distribution builds (Flathub's manifest names both); move the two World maps' url, sha256 and size with them (Flathub's manifest pins those too); then regenerate catalog/data/comaps-pins.yaml with scripts/gen_comaps_pins.py, whose --check refuses World maps of another version than the index names: the maps must be the version the app's own index names.
The project's Codeberg issue tracker (https://codeberg.org/comaps/comaps/issues) and its community channels listed on comaps.app.
Source: catalog/packages/comaps.yaml
Generated from docs/ at commit 88ade7036336. Canonical site: https://renegade-penguin.github.io/Hammunition/. Edit docs/ by pull request, not this wiki.
- Home
- Software by activity
- Activity hubs
- Installation
- Profiles
-
Guides
- Operating
- Modes
- Receiving
- In the field
- Troubleshooting
- Getting started
- Packages
-
Hardware
- Park and wake devices
- SDR receivers and transceivers
- Radios, GPS and mesh
- Security and research hardware
- Programmers
- Laptop radios and camera (parkable)
- LibreVNA (vector network analyser)
- RF security
-
Reference
- The engine
- Coverage
- Inventories
- Hardware measurements
- Verification
- Contributing