Compare commits
1 Commits
master
...
autocommit
Author | SHA1 | Date |
---|---|---|
Adrian Schmutzler | 537e864a37 |
|
@ -0,0 +1,82 @@
|
|||
From: Paul Spooren <mail@aparcar.org>
|
||||
Date: Fri, 1 Jan 2021 14:02:12 -1000
|
||||
Subject: rules: add AUTORELEASE and COMMITCOUNT variables
|
||||
|
||||
The lack of bumped PKG_RELEASE variables is a recurring theme on the
|
||||
mailing list and in GitHub comments. This costs precious review time,
|
||||
a rare good within the OpenWrt project.
|
||||
|
||||
Instead of relying on a manually set PKG_RELEASE this commit adds a
|
||||
`commitcount` function that uses the number of Git commits to determine
|
||||
the release. The function is called via the variables `$(AUTORELEASE)`
|
||||
or `$(COMMITCOUNT)`. The `PKG_RELEASE` variable can be set to either of
|
||||
the two.
|
||||
|
||||
- $(AUTORELEASE):
|
||||
|
||||
Release is automagically set to the number of commits since the last
|
||||
commit containing either ": update to " or ": bump to ".
|
||||
|
||||
Example below:
|
||||
|
||||
$ git log packages/foobar/
|
||||
foobar: fixup file location
|
||||
foobar: disable docs
|
||||
foobar: bump to 5.3.2
|
||||
foobar: fixup copyright
|
||||
|
||||
Resulting package name: foobar_5.3.2-3_all.ipk, two package changes
|
||||
since the last upstream version change, using a 1 based counter.
|
||||
|
||||
- $(COMMITCOUNT):
|
||||
|
||||
For non-traditional versioning (x.y.z), most prominent `base-files`,
|
||||
this variable contains the total number of package commits.
|
||||
|
||||
The new functionality can also be used by other feeds like packages.git.
|
||||
|
||||
In case no build information is available, e.g. when using release
|
||||
tarballs, the SOURCE_DATE_EPOCH is used to have a reproducible release
|
||||
identifier.
|
||||
|
||||
Suggested-by: Daniel Golle <daniel@makrotopia.org>
|
||||
Signed-off-by: Paul Spooren <mail@aparcar.org>
|
||||
(cherry picked from commit 9ae3c6f94c616cfbf854d3ec749c7fafc9893942)
|
||||
|
||||
diff --git a/rules.mk b/rules.mk
|
||||
index 41ed9bafd01b458a1ff3bf7b7b43cc6c48cca845..7c1f39ccf4023601a7647f4eaf648b6392f480b9 100644
|
||||
--- a/rules.mk
|
||||
+++ b/rules.mk
|
||||
@@ -404,6 +404,32 @@ endef
|
||||
# file extension
|
||||
ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
|
||||
|
||||
+# Count Git commits of a package
|
||||
+# $(1) => if non-empty: count commits since last ": [uU]pdate to " or ": [bB]ump to " in commit message
|
||||
+define commitcount
|
||||
+$(shell \
|
||||
+ if git log -1 >/dev/null 2>/dev/null; then \
|
||||
+ if [ -n "$(1)" ]; then \
|
||||
+ last_bump="$$(git log --pretty=format:'%h %s' . | \
|
||||
+ grep --max-count=1 -e ': [uU]pdate to ' -e ': [bB]ump to ' | \
|
||||
+ cut -f 1 -d ' ')"; \
|
||||
+ fi; \
|
||||
+ if [ -n "$$last_bump" ]; then \
|
||||
+ echo -n $$(($$(git rev-list --count "$$last_bump..HEAD" .) + 1)); \
|
||||
+ else \
|
||||
+ echo -n $$(($$(git rev-list --count HEAD .) + 1)); \
|
||||
+ fi; \
|
||||
+ else \
|
||||
+ secs="$$(($(SOURCE_DATE_EPOCH) % 86400))"; \
|
||||
+ date="$$(date --utc --date="@$(SOURCE_DATE_EPOCH)" "+%y%m%d")"; \
|
||||
+ printf '%s.%05d' "$$date" "$$secs"; \
|
||||
+ fi; \
|
||||
+)
|
||||
+endef
|
||||
+
|
||||
+COMMITCOUNT = $(if $(DUMP),,$(call commitcount))
|
||||
+AUTORELEASE = $(if $(DUMP),,$(call commitcount,1))
|
||||
+
|
||||
all:
|
||||
FORCE: ;
|
||||
.PHONY: FORCE
|
|
@ -0,0 +1,34 @@
|
|||
From: Paul Spooren <mail@aparcar.org>
|
||||
Date: Tue, 26 Jan 2021 17:16:36 -1000
|
||||
Subject: rules: fix COMMITCOUNT logic
|
||||
|
||||
The newly added $(COMMITCOUNT) variable was wrongly increased by plus
|
||||
one. The addition should have been only added to $(AUTORELEASE) as
|
||||
OpenWrt traditionally starts counting at one rather than zero.
|
||||
|
||||
$(AUTORELEASE) counts the commits since the last bump, which is zero on
|
||||
the version bump commit itself.
|
||||
|
||||
This commit increases $(AUTORELEASE) by one while leaving $(COMMITCOUNT)
|
||||
as is.
|
||||
|
||||
The base-files package is the only package using $(COMMITCOUNT) so far
|
||||
and requires a pseudo commit to keep the PKG_RELEASE correct. A non
|
||||
functional change (Copyright bump) is done in the next commit.
|
||||
|
||||
Signed-off-by: Paul Spooren <mail@aparcar.org>
|
||||
(cherry picked from commit 513f7171a3e509bba54ecc2af2d6259c7cbff221)
|
||||
|
||||
diff --git a/rules.mk b/rules.mk
|
||||
index 7c1f39ccf4023601a7647f4eaf648b6392f480b9..8bfc67fb2cd43e3ce4330fd28b398722858d3493 100644
|
||||
--- a/rules.mk
|
||||
+++ b/rules.mk
|
||||
@@ -417,7 +417,7 @@ $(shell \
|
||||
if [ -n "$$last_bump" ]; then \
|
||||
echo -n $$(($$(git rev-list --count "$$last_bump..HEAD" .) + 1)); \
|
||||
else \
|
||||
- echo -n $$(($$(git rev-list --count HEAD .) + 1)); \
|
||||
+ git rev-list --count HEAD .; \
|
||||
fi; \
|
||||
else \
|
||||
secs="$$(($(SOURCE_DATE_EPOCH) % 86400))"; \
|
|
@ -0,0 +1,39 @@
|
|||
From: Paul Spooren <mail@aparcar.org>
|
||||
Date: Thu, 28 Jan 2021 23:17:10 -1000
|
||||
Subject: rules: fix empty COMMITCOUNT/AUTORELEASE
|
||||
|
||||
Packages that are in-tree only often lack a PKG_VERSION and only use the
|
||||
PKG_RELEASE to mark changes. Using COMMITCOUNT/AUTORELEASE variables
|
||||
causes an issue as both variables are empty during the metadata DUMP
|
||||
phase.
|
||||
|
||||
Instead of leaving these variables empty and causing an error message
|
||||
like below, set the variables to 0 during dumping. On actual building
|
||||
the variable is evaluated causing in a value above 0.
|
||||
|
||||
ERROR: please fix package/utils/px5g-wolfssl/Makefile - \
|
||||
see logs/package/utils/px5g-wolfssl/dump.txt for details
|
||||
|
||||
Makefile:48: *** Package/px5g-wolfssl is missing the VERSION field. Stop.
|
||||
|
||||
Reported-by: Daniel Golle <daniel@makrotopia.org>
|
||||
Reported-by: Stijn Segers <foss@volatilesystems.org>
|
||||
Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
|
||||
Signed-off-by: Paul Spooren <mail@aparcar.org>
|
||||
(cherry picked from commit ddab795b370da986149f8c8e6b3455bf9c1066fe)
|
||||
|
||||
diff --git a/rules.mk b/rules.mk
|
||||
index 8bfc67fb2cd43e3ce4330fd28b398722858d3493..ee586bf989498b564b4de03b10b68cf66506d3d5 100644
|
||||
--- a/rules.mk
|
||||
+++ b/rules.mk
|
||||
@@ -427,8 +427,8 @@ $(shell \
|
||||
)
|
||||
endef
|
||||
|
||||
-COMMITCOUNT = $(if $(DUMP),,$(call commitcount))
|
||||
-AUTORELEASE = $(if $(DUMP),,$(call commitcount,1))
|
||||
+COMMITCOUNT = $(if $(DUMP),0,$(call commitcount))
|
||||
+AUTORELEASE = $(if $(DUMP),0,$(call commitcount,1))
|
||||
|
||||
all:
|
||||
FORCE: ;
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-alfred-monitoring-proxy
|
||||
PKG_RELEASE:=4
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-alfred
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-babeld
|
||||
PKG_RELEASE:=7
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-batman-adv
|
||||
PKG_RELEASE:=4
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-boardname
|
||||
PKG_RELEASE:=8
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-config
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-dhcp
|
||||
PKG_RELEASE:=5
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-fastd
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-firewall
|
||||
PKG_RELEASE:=6
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-hoods
|
||||
PKG_RELEASE:=19
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-hoodutils
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-layer3-config
|
||||
PKG_RELEASE:=6
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-layer3
|
||||
PKG_RELEASE:=8
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-network
|
||||
PKG_RELEASE:=36
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-node
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-ra
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-random
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-simple-tc
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-support
|
||||
PKG_RELEASE:=7
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-sysupgrade
|
||||
PKG_RELEASE:=12
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-timeserver
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-uradvd
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-vpn-select
|
||||
PKG_RELEASE:=5
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-web-hood
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-web-ui
|
||||
PKG_RELEASE:=18
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-wireguard
|
||||
PKG_RELEASE:=5
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-wireless
|
||||
PKG_RELEASE:=20
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff
|
||||
PKG_RELEASE:=9
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
|
Loading…
Reference in New Issue