[Precise/lts-backport-trusty][PATCH 1/1] UBUNTU: update-from-*-master -- add parameter to change source branch

Andy Whitcroft apw at canonical.com
Fri Jun 9 15:38:24 UTC 2017


On Fri, May 05, 2017 at 02:37:13PM +0200, Kleber Sacilotto de Souza wrote:
> Add a '-b' parameter to make it easier to override the default source
> release branch without the need to set the env var
> '_SOURCE_RELEASE_BRANCH'. When using this parameter it will also use
> the tip of the branch instead of the most recent tag for the rebase.
> 
> Signed-off-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
> ---
>  debian.trusty/etc/update-from-trusty-master | 37 +++++++++++++++++++----------
>  1 file changed, 24 insertions(+), 13 deletions(-)
> 
> diff --git a/debian.trusty/etc/update-from-trusty-master b/debian.trusty/etc/update-from-trusty-master
> index 9ca12218e0a..66077a33a34 100755
> --- a/debian.trusty/etc/update-from-trusty-master
> +++ b/debian.trusty/etc/update-from-trusty-master
> @@ -6,7 +6,8 @@
>  # the Raring master branch changelog with the correct release names.
>  #
>  SOURCE_RELEASE=trusty
> -SOURCE_RELEASE_BRANCH=${_SOURCE_RELEASE_BRANCH:=master-next}
> +SOURCE_RELEASE_BRANCH=master-next
> +SOURCE_BRANCH_SEARCH_TAG=true
>  DEBIAN_SOURCE=debian.master
>  
>  TARGET_RELEASE=precise
> @@ -26,16 +27,22 @@ POCKET=""
>  IGNORE_ABI=""
>  IGNORE_MODULES=""
>  
> -usage="$0 [-r RELEASE_REPO] [-p]"
> +usage="$0 [-r RELEASE_REPO] [-b BRANCH_NAME] [-p]"
>  
>  #
>  # command line options:
>  # [-r RELEASE_REPO] - override default ${SOURCE_RELEASE} git repository.
> +# [-b BRANCH_NAME] - override default ${SOURCE_RELEASE_BRANCH} and use
> +#                    the tip of the branch instead of the most recent tag.
>  # [-p] - Assume the upload target is a PPA
>  
> -while getopts ":r:pim" opt; do
> +while getopts ":r:b:pim" opt; do
>  	case $opt in
>  	r ) RELEASE_REPO="$OPTARG" ;;
> +	b )
> +	    SOURCE_RELEASE_BRANCH="$OPTARG"
> +	    SOURCE_BRANCH_SEARCH_TAG=false
> +	    ;;
>  	p ) POCKET="" ;;
>  	\? ) echo usage: ${usage}; exit ;;
>  	esac
> @@ -59,16 +66,20 @@ git fetch ${RELEASE_REPO} ${SOURCE_RELEASE_BRANCH} || exit 1
>  # rebase against it. This avoids the case where there have been some
>  # commits since the last official tag.
>  #
> -MASTER_COMMIT=`git log --pretty=one FETCH_HEAD | \
> -    awk '
> -	/Ubuntu-/ {
> -		if (match($0, /UBUNTU: Ubuntu-[0-9]/)) {
> -				print $1
> -				exit
> -                        }
> -                }
> -        '
> -`
> +if [ "$SOURCE_BRANCH_SEARCH_TAG" = true ]; then
> +	MASTER_COMMIT=`git log --pretty=one FETCH_HEAD | \
> +	    awk '
> +		/Ubuntu-/ {
> +			if (match($0, /UBUNTU: Ubuntu-[0-9]/)) {
> +					print $1
> +					exit
> +				}
> +			}
> +		'
> +	`
> +else
> +	MASTER_COMMIT=`git rev-parse FETCH_HEAD`
> +fi
>  #
>  # Find the current merge point where ${SOURCE_RELEASE} was based.
>  #

Like it.  I can see how we can use this to rebase onto a master tag with
a commit applied rather than applying the same fix to every branch.  I
can also see how one could use it to handle cves.

Is this a branch btw, if it is revparse it could be any commitish no?

Anyhow, like the idea.

-apw




More information about the kernel-team mailing list