blob: 2f92a23596ce4dddd3ceb4576d5004619b794484 [file]
#
# Copyright OpenEmbedded Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import urllib.parse
PREFIX = "pkg:yocto"
def quote(s):
"""
Returns the percent encoded version of the string, suitable for including
in a PURL field
"""
return urllib.parse.quote(s, safe="")
def get_base_purl(d):
"""
Returns the base PURL for the current recipe (that is, the PURL without any
additional qualifiers)
"""
layername = d.getVar("FILE_LAYERNAME")
bpn = d.getVar("BPN")
pv = d.getVar("PV")
name = f"{quote(bpn.lower())}@{quote(pv)}"
if layername:
return f"{PREFIX}/{quote(layername.lower())}/{name}"
return f"{PREFIX}/{name}"