public inbox for pdm-devel@lists.proxmox.com
 help / color / mirror / Atom feed
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





  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal