[OE-core] [PATCH] cve-update-db: Use std library instead of urllib3
ChenQi
Qi.Chen at windriver.com
Tue Jul 2 07:39:28 UTC 2019
A recent do_populate_cve_db failure:
https://autobuilder.yoctoproject.org/typhoon/#/builders/23/builds/1005/steps/7/logs/errors
Could you please help look at what's going on?
Regards,
Chen Qi
On 06/24/2019 05:44 PM, Pierre Le Magourou wrote:
> From: Pierre Le Magourou <pierre.lemagourou at softbankrobotics.com>
>
> urllib3 was used in this recipe but it was not set as a
> dependency. As it is not specifically needed, rewrite the recipe with
> urllib from the standard library.
>
> Signed-off-by: Pierre Le Magourou <pierre.lemagourou at softbankrobotics.com>
> ---
> meta/recipes-core/meta/cve-update-db.bb | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/meta/recipes-core/meta/cve-update-db.bb b/meta/recipes-core/meta/cve-update-db.bb
> index 522fd23807..1f48820cc6 100644
> --- a/meta/recipes-core/meta/cve-update-db.bb
> +++ b/meta/recipes-core/meta/cve-update-db.bb
> @@ -19,7 +19,7 @@ python do_populate_cve_db() {
> Update NVD database with json data feed
> """
>
> - import sqlite3, urllib3, shutil, gzip, re
> + import sqlite3, urllib, shutil, gzip, re
> from datetime import date
>
> BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-"
> @@ -33,16 +33,14 @@ python do_populate_cve_db() {
>
> initialize_db(c)
>
> - http = urllib3.PoolManager()
> -
> for year in range(YEAR_START, date.today().year + 1):
> year_url = BASE_URL + str(year)
> meta_url = year_url + ".meta"
> json_url = year_url + ".json.gz"
>
> # Retrieve meta last modified date
> - with http.request('GET', meta_url, preload_content=False) as r:
> - date_line = str(r.data.splitlines()[0])
> + with urllib.request.urlopen(meta_url) as r:
> + date_line = str(r.read().splitlines()[0])
> last_modified = re.search('lastModifiedDate:(.*)', date_line).group(1)
>
> # Compare with current db last modified date
> @@ -50,7 +48,7 @@ python do_populate_cve_db() {
> meta = c.fetchone()
> if not meta or meta[0] != last_modified:
> # Update db with current year json file
> - with http.request('GET', json_url, preload_content=False) as r, open(JSON_TMPFILE, 'wb') as tmpfile:
> + with urllib.request.urlopen(json_url) as r, open(JSON_TMPFILE, 'wb') as tmpfile:
> shutil.copyfileobj(r, tmpfile)
> with gzip.open(JSON_TMPFILE, 'rt') as jsonfile:
> update_db(c, jsonfile)
More information about the Openembedded-core
mailing list