Skip to content

Conversation

keszybz
Copy link
Member

@keszybz keszybz commented Oct 3, 2025

No description provided.

$ ninja -C build update-constants -v
ninja: Entering directory `build'
[1/1] /home/zbyszek/src/python-systemd/update-constants.py /home/zbyszek/src/python-systemd/src/systemd/id128-constants.h /home/zbyszek/src/python-systemd/docs/id128.rst /home/zbyszek/src/python-systemd/src/systemd/id128-defines.h /usr/include/systemd/sd-messages.h
Writing /home/zbyszek/src/python-systemd/src/systemd/id128-constants.h…
Writing /home/zbyszek/src/python-systemd/src/systemd/id128-defines.h…
Writing /home/zbyszek/src/python-systemd/docs/id128.rst…

The helper is updated to do the everything in the python script. The wrapper in
Makefile is dropped. It wasn't working properly anyway, and I think the version
in meson is enough.
The previous commit changes the sorting algorithm, so a few lines moved
up or down a bit.
Copy link
Contributor

@behrmann behrmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Changing the sed stuff to Python makes it a lot more readable.

Comment on lines +18 to +19
defs = sum((list(defines(file)) for file in inputs), start=[])
defs = sorted(set(defs))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a bit obtuse, let's add a comment here.

Suggested change
defs = sum((list(defines(file)) for file in inputs), start=[])
defs = sorted(set(defs))
# Collect all messages into a single sorted, deduplicated list
defs = sum((list(defines(file)) for file in inputs), start=[])
defs = sorted(set(defs))

assert 'SD_ID128_MAKE' in value
yield name, value

def process(output, docfile, inputs):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: two empty lines

Suggested change
def process(output, docfile, inputs):
def process(output, docfile, inputs):

assert 'SD_ID128_MAKE' in value
yield name, value

def process(output, docfile, inputs):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inputs[0] is special, since it will be rewritten, let's treat it separately

Suggested change
def process(output, docfile, inputs):
def process(output, docfile, msgheader, extra_inputs):


with open(inputs[0], 'wt') as out:
print(f'Writing {out.name}…')
for (name, value) in defs:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit:

Suggested change
for (name, value) in defs:
for name, value in defs:

print(line, file=out)
if 'autogenerated' in line:
break
for (name, value) in defs:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

Suggested change
for (name, value) in defs:
for name, value in defs:


include_dir = libsystemd_dep.get_variable(pkgconfig: 'includedir')

update_constants = custom_target(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having bashed my head against meson for a bit now, shouldn't this be a run_target instead?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dunno. I copied from the systemd config, update-man-rules target.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants