# Copyright (C) 2020, Rockchip Electronics Co., Ltd
# Released under the MIT license (see COPYING.MIT for the terms)

BB_FILE := "${FILE}"

python () {
    import glob
    import subprocess

    if d.getVar('FREEZE_REV') != '1':
        return

    if d.getVar('PN').startswith('nativesdk'):
        return

    file = d.getVar('BB_FILE')
    fetcher = bb.fetch2.Fetch(d.getVar('SRC_URI').split(), d)
    urldata = fetcher.ud
    for u in urldata:
        if not urldata[u].method.supports_srcrev():
            continue

        ud = urldata[u]
        for name in ud.names:
            autoinc, rev = getattr(ud.method, 'sortable_revision')(ud, d, name)

            var = 'SRCREV'
            if name != 'default':
                var += '_' + name

            cmd = 'sed -i "/<%s>/s/=.*/= \\"%s\\"/" %s' % (var, rev, file)
            subprocess.call(cmd, shell=True)

            bb.debug(2, 'Freezing %s to %s in %s' % (var, rev, file))
}
