Skip to content
Snippets Groups Projects
Unverified Commit f910cab6 authored by Matthias Schiffer's avatar Matthias Schiffer Committed by GitHub
Browse files

Merge pull request #2316 from freifunk-gluon/gluon-version

Clean up Gluon version number handling, allow .scmversion override
parents 531937cf f419db58
No related branches found
No related tags found
No related merge requests found
Showing
with 26 additions and 24 deletions
...@@ -7,3 +7,4 @@ ...@@ -7,3 +7,4 @@
.bash_history .bash_history
.subversion .subversion
.wget-hsts .wget-hsts
/.scmversion
...@@ -52,6 +52,9 @@ $(eval $(call mkabspath,GLUON_PACKAGEDIR)) ...@@ -52,6 +52,9 @@ $(eval $(call mkabspath,GLUON_PACKAGEDIR))
$(eval $(call mkabspath,GLUON_TARGETSDIR)) $(eval $(call mkabspath,GLUON_TARGETSDIR))
$(eval $(call mkabspath,GLUON_PATCHESDIR)) $(eval $(call mkabspath,GLUON_PATCHESDIR))
GLUON_VERSION := $(shell scripts/getversion.sh '.')
GLUON_SITE_VERSION := $(shell scripts/getversion.sh '$(GLUON_SITEDIR)')
GLUON_MULTIDOMAIN ?= 0 GLUON_MULTIDOMAIN ?= 0
GLUON_AUTOREMOVE ?= 0 GLUON_AUTOREMOVE ?= 0
GLUON_DEBUG ?= 0 GLUON_DEBUG ?= 0
...@@ -64,6 +67,7 @@ src-link gluon_base ../../package ...@@ -64,6 +67,7 @@ src-link gluon_base ../../package
endef endef
GLUON_VARS = \ GLUON_VARS = \
GLUON_VERSION GLUON_SITE_VERSION \
GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_AUTOREMOVE GLUON_DEBUG GLUON_MINIFY GLUON_DEPRECATED \ GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_AUTOREMOVE GLUON_DEBUG GLUON_MINIFY GLUON_DEPRECATED \
GLUON_DEVICES GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR GLUON_DEBUGDIR \ GLUON_DEVICES GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR GLUON_DEBUGDIR \
GLUON_SITEDIR GLUON_RELEASE GLUON_AUTOUPDATER_BRANCH GLUON_AUTOUPDATER_ENABLED GLUON_LANGS GLUON_BASE_FEEDS \ GLUON_SITEDIR GLUON_RELEASE GLUON_AUTOUPDATER_BRANCH GLUON_AUTOUPDATER_ENABLED GLUON_LANGS GLUON_BASE_FEEDS \
......
...@@ -88,3 +88,17 @@ update.sh ...@@ -88,3 +88,17 @@ update.sh
source and installs it into *packages/* directory. It simply tries to set the *base* source and installs it into *packages/* directory. It simply tries to set the *base*
branch of the cloned repo to the correct commit. If this fails it fetches the branch of the cloned repo to the correct commit. If this fails it fetches the
upstream branch and tries again to set the local *base* branch. upstream branch and tries again to set the local *base* branch.
getversion.sh
Used to determine the version numbers of the repositories of Gluon and the
site configuraiton, to be included in the built firmware images as
*/lib/gluon/gluon-version* and */lib/gluon/site-version*.
By default, this uses ``git describe`` to generate a version number based
on the last git tag. This can be overridden by putting a file called
*.scmversion* into the root of the respective repositories.
A command like ``rm -f .scmversion; echo "$(./scripts/getversion.sh .)" > .scmversion``
can be used before applying local patches to ensure that the reported
version numbers refer to an upstream commit ID rather than an arbitrary
local one after ``git am``.
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-alfred PKG_NAME:=gluon-alfred
PKG_VERSION:=1
PKG_RELEASE:=1
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-authorized-keys PKG_NAME:=gluon-authorized-keys
PKG_VERSION:=2
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-autoupdater PKG_NAME:=gluon-autoupdater
PKG_VERSION:=4
PKG_CONFIG_DEPENDS := CONFIG_GLUON_AUTOUPDATER_BRANCH CONFIG_GLUON_AUTOUPDATER_ENABLED PKG_CONFIG_DEPENDS := CONFIG_GLUON_AUTOUPDATER_BRANCH CONFIG_GLUON_AUTOUPDATER_ENABLED
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-client-bridge PKG_NAME:=gluon-client-bridge
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-autoupdater PKG_NAME:=gluon-config-mode-autoupdater
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-contact-info PKG_NAME:=gluon-config-mode-contact-info
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-core PKG_NAME:=gluon-config-mode-core
PKG_VERSION:=2
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-domain-select PKG_NAME:=gluon-config-mode-domain-select
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-geo-location-osm PKG_NAME:=gluon-config-mode-geo-location-osm
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-geo-location PKG_NAME:=gluon-config-mode-geo-location
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-hostname PKG_NAME:=gluon-config-mode-hostname
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-mesh-vpn PKG_NAME:=gluon-config-mode-mesh-vpn
PKG_VERSION:=2
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-outdoor PKG_NAME:=gluon-config-mode-outdoor
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-theme PKG_NAME:=gluon-config-mode-theme
PKG_VERSION:=1
include ../gluon.mk include ../gluon.mk
......
...@@ -2,10 +2,7 @@ include $(TOPDIR)/rules.mk ...@@ -2,10 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-core PKG_NAME:=gluon-core
GLUON_VERSION = $(shell git describe --always --dirty=+ 2>/dev/null || echo unknown) PKG_CONFIG_DEPENDS := CONFIG_GLUON_VERSION
PKG_VERSION:=$(if $(DUMP),x,$(GLUON_VERSION))
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include ../gluon.mk include ../gluon.mk
include $(INCLUDE_DIR)/cmake.mk include $(INCLUDE_DIR)/cmake.mk
...@@ -22,6 +19,11 @@ define Package/gluon-core/description ...@@ -22,6 +19,11 @@ define Package/gluon-core/description
endef endef
define Package/gluon-core/config define Package/gluon-core/config
config GLUON_VERSION
string "Gluon version number"
depends on PACKAGE_gluon-core
default ""
config GLUON_MINIFY config GLUON_MINIFY
bool "Minify Gluon scripts" bool "Minify Gluon scripts"
default y default y
...@@ -36,7 +38,7 @@ define Package/gluon-core/install ...@@ -36,7 +38,7 @@ define Package/gluon-core/install
$(Gluon/Build/Install) $(Gluon/Build/Install)
$(INSTALL_DIR) $(1)/lib/gluon $(INSTALL_DIR) $(1)/lib/gluon
echo '$(GLUON_VERSION)' > $(1)/lib/gluon/gluon-version echo '$(call qstrip,$(CONFIG_GLUON_VERSION))' > $(1)/lib/gluon/gluon-version
endef endef
$(eval $(call BuildPackageGluon,gluon-core)) $(eval $(call BuildPackageGluon,gluon-core))
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-ebtables-filter-multicast PKG_NAME:=gluon-ebtables-filter-multicast
PKG_VERSION:=1
PKG_RELEASE:=1
include ../gluon.mk include ../gluon.mk
......
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-ebtables-filter-ra-dhcp PKG_NAME:=gluon-ebtables-filter-ra-dhcp
PKG_VERSION:=1
PKG_RELEASE:=1
include ../gluon.mk include ../gluon.mk
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment