On Tue, Jan 24, 2017 at 12:47 AM, Huang Qiyu
<[email protected]> wrote:
> Upgrade python-oslo.serialization from 1.11.0 to 2.13.0.
>
> Signed-off-by: Huang Qiyu <[email protected]>
> ---

You missed updating the RDEPENDS per the requirements.txt. These should now be:
RDEPENDS_${PN} += " \
       python-pbr \
       python-six \
       python-msgpack-python \
       python-oslo.utils \
       python-pytz \
       "

I have attached a script I use to help parse the requirements.txt
file. You can use it for example:

 ./requires.py 
tmp/work/core2-64-poky-linux/python-oslo.serialization/2.13.0+gitAUTOINC+be02fdbebc-r0/git/requirements.txt

Please send a v2 with the updated RDEPENDS.

Mark


>  .../recipes-devtools/python/python-oslo.serialization_git.bb        | 6 
> +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git 
> a/meta-openstack/recipes-devtools/python/python-oslo.serialization_git.bb 
> b/meta-openstack/recipes-devtools/python/python-oslo.serialization_git.bb
> index 1bf11f4..6d5801b 100644
> --- a/meta-openstack/recipes-devtools/python/python-oslo.serialization_git.bb
> +++ b/meta-openstack/recipes-devtools/python/python-oslo.serialization_git.bb
> @@ -5,10 +5,10 @@ LICENSE = "Apache-2.0"
>  LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
>
>  SRCNAME = "oslo.serialization"
> -SRC_URI = "git://github.com/openstack/${SRCNAME}.git"
> +SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/newton"
>
> -PV = "1.11.0+git${SRCPV}"
> -SRCREV = "a8626ea9f9e37bf4129096cc2295f63516fb768e"
> +PV = "2.13.0+git${SRCPV}"
> +SRCREV = "be02fdbebc2d9f92a959aa34e0cb5a30934dfa0d"
>  S = "${WORKDIR}/git"
>
>  inherit setuptools
> --
> 2.7.4
>
>
>
> --
> _______________________________________________
> meta-virtualization mailing list
> [email protected]
> https://lists.yoctoproject.org/listinfo/meta-virtualization
#!/usr/bin/python

import os
import re
import sys
import operator
import collections
from distutils.version import LooseVersion, StrictVersion

requires = sys.argv[1]

ops = {">=": operator.ge,
       "<=": operator.le,
       "==": operator.eq,
       "!=": operator.ne,
       "<": operator.lt,
       ">": operator.gt,
}

def parse_version_info(line):
    # remove any comment from the end of the line
    stripped = line.split('#')[0]

    # get package name
    pkg = re.split('>|<|=|!', stripped)[0].lower().strip()
    if not re.match("^python-", pkg):
        pkg = "python-%s" % pkg

    # get version string
    raw_pkg = re.split('>|<|=|!', stripped)[0]
    vstr = stripped.split(raw_pkg)[1:][0].strip()

    return (pkg,vstr)

def print_rdepends(deps):
    print("RDEPENDS_${PN} += \" \\")
    for dep in deps:
        print("        %s \\" % dep)
    print("        \"")

def check_rdepends_versions(deps):
    for dep in deps:
        if not os.path.exists("tmp/work/core2-64-poky-linux/%s" % dep):
            print("Unable to find '%s'" % dep)
            return

        found_ver = os.listdir("tmp/work/core2-64-poky-linux/%s/" % dep)[0]
        # Drop the PR
        found_ver = found_ver.split('-')[:-1][0]
        # Drop the '+git${SRCPV}'
        found_ver = re.compile("\+git.*").split(found_ver)[0]

        check = "OK";
        req_ver = deps[dep]
        for condition in req_ver.split(','):
            condition = condition.strip()
            m = re.match('^(>=|<=|!=|==|<|>)', condition)
            if m:
                operation = condition[:m.end()]
                version = condition[m.end():].strip()
                if not ops[operation](LooseVersion(found_ver) ,LooseVersion(version)):
                    check = "FAILED"
                    break
            else:
                check = "UNKNOWN"
                break

        print("%s %s <-> %s   %s" % (dep, found_ver, req_ver, check))

dependencies = collections.OrderedDict()
with open(requires, 'r') as fin:
    for line in fin:
        if not line.startswith('#') and not line.strip() == "":
            (pkg, vstr) = parse_version_info(line)
            dependencies[pkg] = vstr
    print_rdepends(dependencies)
    check_rdepends_versions(dependencies)
-- 
_______________________________________________
meta-virtualization mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-virtualization

Reply via email to