support/scripts/pkg-stats: search only Config.in{, .host} for URL

The previous Config.* glob also caught linux/Config.ext.in and
package/php/Config.ext, as well as some backup files created by
editors (e.g. Config.in~ after editing a Config.in file in Emacs),
leading to wrong results depending on directory listing order.

Also use "with" to automatically close the file when the block is
left, even on error.

Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
This commit is contained in:
Fiona Klute
2026-04-26 17:33:29 +02:00
committed by Arnout Vandecappelle
parent d58449b225
commit 77a464969c

View File

@@ -148,17 +148,17 @@ class Package:
Fills in the .url field
"""
self.status['url'] = ("warning", "no Config.in")
for filename in os.listdir(self.pkgdir):
if fnmatch.fnmatch(filename, 'Config.*'):
fp = open(os.path.join(self.pkgdir, filename), "r")
for config_line in fp:
if URL_RE.match(config_line):
self.url = config_line.strip()
self.status['url'] = ("ok", "found")
fp.close()
return
self.status['url'] = ("error", "missing")
fp.close()
for filename in ('Config.in', 'Config.in.host'):
try:
with open(os.path.join(self.pkgdir, filename), "r") as fp:
for config_line in fp:
if URL_RE.match(config_line):
self.url = config_line.strip()
self.status['url'] = ("ok", "found")
return
self.status['url'] = ("error", "missing")
except FileNotFoundError:
continue
@property
def patch_count(self):