@@ -108,34 +108,29 @@ def fill_srpm_binrpms_cache() -> None:
108
108
'--qf' , '%{name}-%{version}-%{release}.src.rpm,%{name}-%{evr}' + QFNL ,
109
109
'--latest-limit=1' ,
110
110
]
111
- SRPM_NEVR_CACHE = { # sourcerpm -> srpm-nevr
112
- sourcerpm : nevr
113
- for sourcerpm , nevr in (line .split (',' )
114
- for line in run_repoquery (args ))
115
- }
111
+
112
+ # sourcerpm -> srpm-nevr
113
+ srpm_nevr_cache = dict (line .split (',' ) for line in run_repoquery (args ))
116
114
117
115
# binary -> source mapping
118
116
logging .debug ("get binary to source mapping" )
119
- global SRPM_BINRPMS_CACHE , BINRPM_SOURCE_CACHE
117
+ BINRPM_SOURCE_CACHE . clear ()
120
118
args = [
121
119
'--disablerepo=*-src' , '*' ,
122
120
'--qf' , '%{name}-%{evr},%{sourcerpm}' + QFNL , # FIXME no epoch in sourcerpm, why does it work?
123
121
'--latest-limit=1' ,
124
122
]
125
- BINRPM_SOURCE_CACHE = {
123
+ BINRPM_SOURCE_CACHE . update ( {
126
124
# packages without source are not in SRPM_NEVR_CACHE, fallback to sourcerpm
127
- binrpm : SRPM_NEVR_CACHE .get (sourcerpm , srpm_strip_src_rpm (sourcerpm ))
125
+ binrpm : srpm_nevr_cache .get (sourcerpm , srpm_strip_src_rpm (sourcerpm ))
128
126
for binrpm , sourcerpm in (line .split (',' )
129
127
for line in run_repoquery (args ))
130
- }
128
+ })
131
129
132
130
# reverse mapping source -> binaries
133
- SRPM_BINRPMS_CACHE = {}
131
+ SRPM_BINRPMS_CACHE . clear ()
134
132
for binrpm , srpm in BINRPM_SOURCE_CACHE .items ():
135
- binrpms = SRPM_BINRPMS_CACHE .get (srpm , set ())
136
- if not binrpms :
137
- SRPM_BINRPMS_CACHE [srpm ] = binrpms
138
- binrpms .add (binrpm )
133
+ SRPM_BINRPMS_CACHE .setdefault (srpm , set ()).add (binrpm )
139
134
140
135
def srpm_nevr (rpmname : str ) -> str :
141
136
args = [
0 commit comments