[u, d, c, b, x, t][PATCH] UBUNTU: [Packaging] startnewrelease: Add support for backport versioning

Kleber Souza kleber.souza at canonical.com
Wed Feb 20 10:58:06 UTC 2019


On 2/19/19 5:17 PM, Marcelo Henrique Cerri wrote:
> Ignore: yes
>
> Use the parent kernel version as base for the new release version if
> the BACKPORT_SUFFIX variable is set in the update.conf file.
>
> Signed-off-by: Marcelo Henrique Cerri <marcelo.cerri at canonical.com>
> ---
>  debian/rules.d/1-maintainer.mk | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk
> index ee8010ba7fa0..d57145b644d9 100644
> --- a/debian/rules.d/1-maintainer.mk
> +++ b/debian/rules.d/1-maintainer.mk
> @@ -126,10 +126,20 @@ diffupstream:
>  
>  startnewrelease:
>  	dh_testdir
> -	@ver=$$(echo "$(revision)" | perl -ne 'if (/^(\d*)\.(\d*)(.*)?$$/) { printf("%d.%d%s\n", $$1 + 1, $$2 +1, $$3) }'); \
> +	@[ -f "$(DEBIAN)/etc/update.conf" ] && . "$(DEBIAN)/etc/update.conf"; \
> +	if [ -n "$$BACKPORT_SUFFIX" ]; then \
> +		ver="$$(dpkg-parsechangelog -l"$$DEBIAN_MASTER/changelog" -SVersion)~$${BACKPORT_SUFFIX}.1"; \
What happens if for some (wrong) reason DEBIAN_MASTER is not defined?
> +		prev_ver="$$(dpkg-parsechangelog -l"$(DEBIAN)/changelog" -SVersion)"; \
> +		if [ "$${ver%.*}" = "$${prev_ver%.*}" ]; then \
> +			ver="$${ver%.*}.$$(( $${prev_ver##*.} +1 ))"; \
> +		fi; \
> +	else \
> +		ver="$(release)-$$(echo "$(revision)" | \
> +			perl -ne 'if (/^(\d*)\.(\d*)(.*)?$$/) { printf("%d.%d%s\n", $$1 + 1, $$2 +1, $$3) }')"; \
> +	fi; \
>  	now="$(shell date -R)"; \
> -	echo "Creating new changelog set for $(release)-$$ver..."; \
> -	echo -e "$(src_pkg_name) ($(release)-$$ver) UNRELEASED; urgency=medium\n" > $(DEBIAN)/changelog.new; \
> +	echo "Creating new changelog set for $$ver..."; \
> +	echo -e "$(src_pkg_name) ($$ver) UNRELEASED; urgency=medium\n" > $(DEBIAN)/changelog.new; \
>  	echo "  CHANGELOG: Do not edit directly. Autogenerated at release." >> \
>  		$(DEBIAN)/changelog.new; \
>  	echo "  CHANGELOG: Use the printchanges target to see the curent changes." \


Apart from my comment and Juerg's the script looks good!




More information about the kernel-team mailing list