mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
meson: replace sh+find with an internal glob in the python helper
As suggested in https://github.com/systemd/systemd/pull/22810#discussion_r831708052 This makes the whole thing simpler. A glob is passed to helper which then resolves it on its own. This way it's trivial to call the helper with a different set of files for testing.
This commit is contained in:
committed by
Yu Watanabe
parent
14acae357b
commit
77d45f1f83
@@ -233,8 +233,7 @@ endif
|
||||
update_man_rules = custom_target(
|
||||
'update-man-rules',
|
||||
output : 'update-man-rules',
|
||||
command : [sh, '-c',
|
||||
'cd @0@ && '.format(project_build_root) +
|
||||
'python3 @0@/tools/update-man-rules.py $(find @0@ -wholename "*/man/*.xml") >t && '.format(project_source_root) +
|
||||
'mv t @0@/rules/meson.build'.format(meson.current_source_dir())],
|
||||
command : [update_man_rules_py,
|
||||
'@0@/man/*.xml'.format(project_source_root),
|
||||
'@0@/rules/meson.build'.format(meson.current_source_dir())],
|
||||
depends : custom_entities_ent)
|
||||
|
||||
@@ -1803,6 +1803,7 @@ make_directive_index_py = find_program('tools/make-directive-index.py')
|
||||
make_man_index_py = find_program('tools/make-man-index.py')
|
||||
meson_render_jinja2 = find_program('tools/meson-render-jinja2.py')
|
||||
update_dbus_docs_py = find_program('tools/update-dbus-docs.py')
|
||||
update_man_rules_py = find_program('tools/update-man-rules.py')
|
||||
update_hwdb_sh = find_program('tools/update-hwdb.sh')
|
||||
update_hwdb_autosuspend_sh = find_program('tools/update-hwdb-autosuspend.sh')
|
||||
update_syscall_tables_sh = find_program('tools/update-syscall-tables.sh')
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
|
||||
from __future__ import print_function
|
||||
import collections
|
||||
import glob
|
||||
import sys
|
||||
from pathlib import Path
|
||||
import pprint
|
||||
from os.path import basename
|
||||
from xml_helper import xml_parse
|
||||
|
||||
def man(page, number):
|
||||
@@ -56,7 +57,8 @@ manpages = ['''
|
||||
|
||||
MESON_FOOTER = '''\
|
||||
]
|
||||
# Really, do not edit.'''
|
||||
# Really, do not edit.
|
||||
'''
|
||||
|
||||
def make_mesonfile(rules, dist_files):
|
||||
# reformat rules as
|
||||
@@ -76,13 +78,20 @@ def make_mesonfile(rules, dist_files):
|
||||
return '\n'.join((MESON_HEADER, pprint.pformat(lines)[1:-1], MESON_FOOTER))
|
||||
|
||||
if __name__ == '__main__':
|
||||
pages = sys.argv[1:]
|
||||
source_glob = sys.argv[1]
|
||||
target = Path(sys.argv[2])
|
||||
|
||||
pages = glob.glob(source_glob)
|
||||
pages = (p for p in pages
|
||||
if basename(p) not in {
|
||||
if Path(p).name not in {
|
||||
'systemd.directives.xml',
|
||||
'systemd.index.xml',
|
||||
'directives-template.xml'})
|
||||
|
||||
rules = create_rules(pages)
|
||||
dist_files = (basename(p) for p in pages)
|
||||
print(make_mesonfile(rules, dist_files))
|
||||
dist_files = (Path(p).name for p in pages)
|
||||
text = make_mesonfile(rules, dist_files)
|
||||
|
||||
tmp = target.with_suffix('.tmp')
|
||||
tmp.write_text(text)
|
||||
tmp.rename(target)
|
||||
|
||||
Reference in New Issue
Block a user