hc
2023-11-07 f45e756958099c35d6afb746df1d40a1c6302cfc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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))
}