From: Dominik Csapak <d.csapak@proxmox.com>
To: pdm-devel@lists.proxmox.com
Subject: [PATCH proxmox-geojson-data v3 1/1] initial commit
Date: Fri, 22 May 2026 10:34:01 +0200 [thread overview]
Message-ID: <20260522083412.1223719-6-d.csapak@proxmox.com> (raw)
In-Reply-To: <20260522083412.1223719-1-d.csapak@proxmox.com>
includes a make target to download the source shp/shx file and the
make targets for building the geojson file and package.
Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
Makefile | 92 ++++++++++++++++++++++++++++++++++++++++++++
debian/changelog | 5 +++
debian/control | 16 ++++++++
debian/copyright | 29 ++++++++++++++
debian/rules | 4 ++
debian/source/format | 1 +
6 files changed, 147 insertions(+)
create mode 100644 Makefile
create mode 100644 debian/changelog
create mode 100644 debian/control
create mode 100644 debian/copyright
create mode 100755 debian/rules
create mode 100644 debian/source/format
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..8a5cf9d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,92 @@
+include /usr/share/dpkg/default.mk
+
+PACKAGE=proxmox-geojson-data
+
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
+ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
+
+DEB=$(PACKAGE)_$(DEB_VERSION)_all.deb
+DSC=$(PACKAGE)_$(DEB_VERSION).dsc
+
+DESTDIR =
+PREFIX = /usr
+OUTDIR = $(PREFIX)/share/$(PACKAGE)
+
+all: world-map.json
+
+NE_REF := v5.1.2
+NE_DEST := assets
+NE_BASE := https://raw.githubusercontent.com/nvkelso/natural-earth-vector/$(NE_REF)
+NE_FILE := ne_110m_admin_0_countries
+NE_FILES := \
+ $(NE_FILE).shp \
+ $(NE_FILE).shx \
+
+NE_TARGETS := $(addprefix $(NE_DEST)/,$(NE_FILES))
+
+SQL_COMMAND := "SELECT 'land' AS kind, ST_Union(geometry) AS geometry FROM $(NE_FILE) UNION ALL SELECT 'borders' AS kind, ST_Collect(ST_Boundary(geometry)) AS geometry FROM $(NE_FILE)"
+
+.PHONY: natural-earth natural-earth-clean
+natural-earth: $(NE_TARGETS)
+
+$(NE_DEST)/%: | $(NE_DEST)
+ curl -fsSL --retry 3 -o $@ $(NE_BASE)/110m_cultural/$*
+
+$(NE_DEST):
+ mkdir -p $@
+
+natural-earth-clean:
+ rm -f $(NE_TARGETS)
+
+world-map.json: $(NE_TARGETS)
+ ogr2ogr -f "GeoJSON" world-map.json $(NE_DEST)/ne_110m_admin_0_countries.shp -dialect sqlite -sql $(SQL_COMMAND) -lco COORDINATE_PRECISION=4 -nlt MULTILINESTRING
+
+install: world-map.json
+ install -dm0755 $(DESTDIR)$(OUTDIR)
+ install -m0644 world-map.json $(DESTDIR)$(OUTDIR)
+
+
+$(BUILDDIR):
+ rm -rf $@ $@.tmp
+ mkdir -p $@.tmp/
+ cp -a debian/ assets/ Makefile $@.tmp/
+ echo "git clone git://git.proxmox.com/git/$(PACKAGE).git\\ngit checkout $$(git rev-parse HEAD)" \
+ > $@.tmp/debian/SOURCE
+ mv $@.tmp $@
+
+$(ORIG_SRC_TAR): $(BUILDDIR)
+ tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
+
+.PHONY: deb
+deb: $(DEB)
+$(DEB): $(BUILDDIR)
+ cd $(BUILDDIR)/; dpkg-buildpackage -b -uc -us
+ lintian $(DEB)
+ @echo $(DEB)
+
+.PHONY: dsc
+dsc: $(BUILDDIR)
+ rm -rf $(DSC) $(BUILDDIR)
+ $(MAKE) $(DSC)
+ lintian $(DSC)
+
+$(DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
+ cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
+
+sbuild: $(DSC)
+ sbuild $(DSC)
+
+.PHONY: upload
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEB)
+ tar cf - $(DEB) |ssh -X repoman@repo.proxmox.com -- upload --product pdm --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
+
+.PHONY: clean distclean
+distclean: clean
+clean:
+ rm -rf $(PACKAGE)-[0-9]*/
+ rm -f *.deb *.changes *.dsc *.tar.* *.buildinfo *.build
+
+.PHONY: dinstall
+dinstall: deb
+ dpkg -i $(DEB)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..12664a9
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+proxmox-geojson-data (0.1) trixie; urgency=medium
+
+ * Initial release.
+
+ -- Proxmox Support Team <support@proxmox.com> Thu, 21 May 2026 09:46:18 +0200
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..9840882
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,16 @@
+Source: proxmox-geojson-data
+Section: admin
+Priority: optional
+Maintainer: Proxmox Support Team <support@proxmox.com>
+Rules-Requires-Root: no
+Build-Depends: debhelper-compat (= 13),
+ gdal-bin,
+Standards-Version: 4.7.2
+Homepage: https://www.proxmox.com
+
+Package: proxmox-geojson-data
+Architecture: all
+Depends: ${misc:Depends},
+Description: GeoJSON data for Proxmox products
+ Includes GeoJSON used by Proxmox products, such as a worldmap for Proxmox
+ Datacenter Manager. Original data sourced from https://www.naturalearthdata.com/
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..4199756
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,29 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: https://git.proxmox.com/?p=proxmox-geojson-data.git;a=summary
+Upstream-Name: proxmox-geojson-data
+
+Files:
+ assets/*
+Copyright: No copyright claimed. Released into the public domain by the authors.
+License: public-domain
+ These files are in the public domain.
+ Free vector and raster map data @ naturalearthdata.com.
+
+Files:
+ debian/*
+ Makefile
+Copyright:
+ 2026 Proxmox Support Team <support@proxmox.com>
+License: AGPL-3.0-or-later
+ This program is free software: you can redistribute it and/or modify it under
+ the terms of the GNU Affero General Public License as published by the Free
+ Software Foundation, either version 3 of the License, or (at your option) any
+ later version.
+ .
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU Affero General Public License along
+ with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..2d33f6a
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)
--
2.47.3
next prev parent reply other threads:[~2026-05-22 8:34 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-22 8:33 [PATCH datacenter-manager/proxmox-geojson-data/yew-widget-toolkit/yew-widget-toolkit-assets v3 00/11] add a new map widget for custom views Dominik Csapak
2026-05-22 8:33 ` [PATCH yew-widget-toolkit v3 1/3] js-helper: add client-to-svg-coordinate conversion helper Dominik Csapak
2026-05-22 8:33 ` [PATCH yew-widget-toolkit v3 2/3] widget: charts: add interactive Map with zoom/pan and clustering Dominik Csapak
2026-05-22 13:30 ` Shannon Sterz
2026-05-22 8:33 ` [PATCH yew-widget-toolkit v3 3/3] widget: charts: add WorldMap with GeoJSON rendering Dominik Csapak
2026-05-22 8:34 ` [PATCH yew-widget-toolkit-assets v3 1/1] charts: add necessary classes for Map Dominik Csapak
2026-05-22 8:34 ` Dominik Csapak [this message]
2026-05-22 13:30 ` [PATCH proxmox-geojson-data v3 1/1] initial commit Shannon Sterz
2026-05-22 8:34 ` [PATCH datacenter-manager v3 1/6] server: pbs client: add node_config method Dominik Csapak
2026-05-22 8:34 ` [PATCH datacenter-manager v3 2/6] lib/api: add 'location-info' api call with cached information Dominik Csapak
2026-05-22 13:30 ` Shannon Sterz
2026-05-22 8:34 ` [PATCH datacenter-manager v3 3/6] lib/api: add new 'remote-list' info to the resource status Dominik Csapak
2026-05-22 8:34 ` [PATCH datacenter-manager v3 4/6] server: serve geojson worldmap Dominik Csapak
2026-05-22 8:34 ` [PATCH datacenter-manager v3 5/6] ui: views: refactor required api call info into struct Dominik Csapak
2026-05-22 8:34 ` [PATCH datacenter-manager v3 6/6] ui: views: add map component Dominik Csapak
2026-05-22 13:30 ` Shannon Sterz
2026-05-22 9:38 ` [PATCH datacenter-manager/proxmox-geojson-data/yew-widget-toolkit/yew-widget-toolkit-assets v3 00/11] add a new map widget for custom views Thomas Lamprecht
2026-05-22 13:33 ` Shannon Sterz
2026-05-24 2:31 ` applied: " Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260522083412.1223719-6-d.csapak@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=pdm-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.