[ovs-dev] [PATCH] debian : upstream_version fix - resubmitted

Zoltán Balogh zoltan.balogh at ericsson.com
Fri Apr 1 07:43:09 UTC 2016


Hi Simon,

This is a simpler and better solution. For me it's ok, since our team uses debian_revision too.

Best regards,
Zoltán

-----Original Message-----
From: Simon Horman [mailto:simon.horman at netronome.com]
Sent: Tuesday, March 29, 2016 2:51 AM
To: Zoltán Balogh
Cc: dev at openvswitch.org
Subject: Re: [ovs-dev] [PATCH] debian : upstream_version fix - resubmitted

Hi Zoltánm

On Thu, Mar 24, 2016 at 08:28:53AM +0000, Zoltán Balogh wrote:
> Hi,
> 
> The Debian Policy Manual (https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version) says that the upstream_version may contain only alphanumerics and the characters . + - : ~ (full stop, plus, hyphen, colon, tilde) and should start with a digit.
> 
> Currently, the upstream_version is defined in the debian/rules file:
> 
> DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog | sed -rne
> 's,^Version: ([0-9]:)*([^-]+).*,\2,p')
> 
> The version number is taken from the dpkg-parsechangelog printout then the first part of the version number which does not contain hyphen is filtered out with sed. However the Debian Policy Manual says that hyphen is allowed in the upstream_version. 
> 
> This is not a problem with current vanilla OVS debian version. But, if a postfix string including a hyphen is added to the upstream_version then installation of datapath-dkms package will fail. 
> 
> I think the following patch solves this problem.
> 
> Signed-off-by: Zoltán Balogh <zoltan.balogh at ericsson.com>

I wonder if the version manipulation could be expressed using sed, as the code existing code does, rather than awk, sed, expr and shell.

Perhaps something like this:

sed -rne 's,^Version: ([0-9]+:)?([0-9][a-zA-Z0-9.+:~-]*)(-[a-zA-Z0-9*.~]*),\2,p'

Which I tested as follows:

Input: Version: 2.4.90-1
Output: 2.4.90

Input: Version: 1:2.4.90-1
Output: 2.4.90

Input: Version: 1:3:2.4.90-1
Output: 3:2.4.90

Input: Version: 2.4.90-xyz-1
Output: 2.4.90-xyz

Input: Version: 1:2.4.90-xyz-1
Output: 2.4.90-xyz

Input: Version: 1:3:2.4.90-xyz-1
Output: 3:2.4.90-xyz

N.B: Does not work without debian_version present
Input: Version: 2.4.90
Output: 

> 
> ---
> 
> diff --git a/debian/rules b/debian/rules index d8e90c7..70539ab 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -13,7 +13,9 @@
> 
>  PACKAGE=openvswitch
>  PACKAGE_DKMS=openvswitch-datapath-dkms
> -DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog | sed -rne
> 's,^Version: ([0-9]:)*([^-]+).*,\2,p')
> +DEB_VERSION=$(shell dpkg-parsechangelog | awk '/^Version: / {print 
> +$$2}' | sed -rne 's,([0-9]:)+([.])*,\2,p') DEB_REVISION=$(shell expr 
> +"$(DEB_VERSION)" : '.*\(-.*\)' ) DEB_UPSTREAM_VERSION=$(shell 
> +version=$(DEB_VERSION); expr + $${version%"$(DEB_REVISION)"})
> 
>  ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))  PARALLEL = 
> -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
> 
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev


More information about the dev mailing list