summaryrefslogtreecommitdiffstats
path: root/tools (follow)
Commit message (Collapse)AuthorAgeFilesLines
* meson: Drop skip-deps optionJan Janssen2023-08-231-3/+5
| | | | | | | | | | Now that we use meson feature options for our dependencies, we can just rely on '--auto-features=disabled' to do the same. One benefit of this is that specific features can still be force-enabled by overriding it with the appropriate '-Dfeature=enabled' flag. The two remaining uses for skip-deps can simply rely on their default logic that sets the value to 'no' when the dependency is disabled.
* hwdb: update autosuspend rulesLuca Boccassi2023-08-161-122/+183
| | | | ninja -C build update-hwdb-autosuspend
* tools: update-hwdb-autosuspend.sh: Point at HEAD, not master branchBrian Norris2023-08-161-1/+1
| | | | | | | | | Many Chromium projects have moved from 'master' to 'main', where 'master' is no longer updated. Point at HEAD instead, which should always represent the default branch. I don't actually rerun/regenerate the database, since I don't really run systemd environments to test that update on.
* Add .pylintrc to globally suppress warnings we don't really care aboutFrantisek Sumsal2023-08-101-1/+1
| | | | Also, drop the respective disable directives from existing files.
* tools: pylint meson-render-jinja2.pyFrantisek Sumsal2023-08-101-1/+5
|
* tools: pylint analyze-dump-sort.pyFrantisek Sumsal2023-08-101-0/+1
|
* tools: pylint dump-auxv.pyFrantisek Sumsal2023-08-101-4/+8
|
* tools: pylint gdb-sd_dump_hashmaps.pyFrantisek Sumsal2023-08-101-1/+2
|
* tools: pylint list-discoverable-partitions.pyFrantisek Sumsal2023-08-101-16/+16
|
* tools: pylint xml_helper.pyFrantisek Sumsal2023-08-101-1/+5
|
* tools: pylint update-man-rules.pyFrantisek Sumsal2023-08-101-5/+9
|
* tools: pylint update-dbus-docs.pyFrantisek Sumsal2023-08-101-40/+45
|
* tools: pylint make-man-index.pyFrantisek Sumsal2023-08-101-9/+10
|
* tools: pylint make-directive-index.pyFrantisek Sumsal2023-08-101-9/+10
|
* tools: pylint make-autosuspend-rules.pyFrantisek Sumsal2023-08-101-2/+2
|
* tools: pylint generate-gperfs.pyFrantisek Sumsal2023-08-101-7/+12
|
* tools: pylint dbus_exporter.pyFrantisek Sumsal2023-08-101-1/+2
|
* tools: pylint check-includes.pyFrantisek Sumsal2023-08-101-3/+3
|
* tools: pylint catalog-report.pyFrantisek Sumsal2023-08-101-40/+40
|
* tools: pylint analyze-dump-sort.pyFrantisek Sumsal2023-08-101-1/+2
|
* meson: use install_emptydir() and drop meson-make-symlink.shYu Watanabe2023-08-081-22/+0
| | | | | | The script is mostly equivalent to 'mkdir -p' and 'ln -sfr'. Let's replace it with install_emptydir() builtin function and inline meson call.
* Merge pull request #28595 from medhefgo/elf2efi-fixesLuca Boccassi2023-07-311-2/+10
|\ | | | | elf2efi: Fixes
| * elf2efi: Fix header size calculationJan Janssen2023-07-301-2/+10
| | | | | | | | | | | | The PE header size calculation failed to take the PE magic and coff header size into account, which will lead to header truncation if we are writing only 5 sections.
* | meson: drop short script to generate vcs tagYu Watanabe2023-07-291-19/+0
|/
* elf2efi: Make compatible with python 3.6 againDaan De Meyer2023-07-141-8/+8
| | | | | | | CentOS 8 ships python 3.6 so let's try and stay compatible with that since the only feature we're using that requires python 3.9 is the streamlined type annotations which are trivial to convert back to the older stuff to stay compatible with python 3.6.
* man: generate link mode list dynamicallyZbigniew Jędrzejewski-Szmek2023-05-301-0/+2
| | | | | | | | The entries are sorted by speed. Some fields are left empty when there is no clear value to use. The table is much longer now, but I think it's better to document the allowed values, even if some are not terribly useful. Fixes #26256.
* elf2efi: ensure minimum gap between .text and other sectionsLuca Boccassi2023-05-241-0/+7
| | | | | When linking an almost empty binary the linker can merged .text with a later section, creating a RWE segment, that then it rejects.
* elf2efi: add parameter to increase reserved space for headersLuca Boccassi2023-05-241-1/+8
| | | | | | When building a minimal empty addon it would not have enough space to append sections. Add an option that will later be used to reserve enough space.
* elf2efi: Do not emit an empty relocation sectionJan Janssen2023-05-231-4/+9
| | | | | | | At least shim will choke on an empty relocation section when loading the binary. Note that the binary is still considered relocatable (just with no base relocations to apply) as we do not set the IMAGE_FILE_RELOCS_STRIPPED DLL characteristic.
* tools/oss-fuzz: s/perl/awk/Zbigniew Jędrzejewski-Szmek2023-05-091-2/+2
| | | | | The pattern is not exactly the same, but I don't think we need to be super-precise here.
* tools/check-includes: compat with Python 3.7Zbigniew Jędrzejewski-Szmek2023-05-091-1/+2
| | | | I thought that 3.8 is enough. But Centos8 CI chokes on the walrus.
* check-includes: print path relative to project rootZbigniew Jędrzejewski-Szmek2023-05-091-0/+8
| | | | | | | | Instead of /home/zbyszek/src/systemd-work/build/../src/xdg-autostart-generator/xdg-autostart-service.h:11, print just src/xdg-autostart-generator/xdg-autostart-service.h:11. This is a bit annoying that this requires so much verbosity, but the output with the full names was too annoying.
* Rewrite check-includes.pl in pythonZbigniew Jędrzejewski-Szmek2023-05-092-23/+23
|
* tools: add dump-auxv.pyZbigniew Jędrzejewski-Szmek2023-03-241-0/+137
| | | | | | This is a little helper I used when preparing the tests for auxv parsing. Just looking at hexdump output is pretty hard. We could enhance it to display some specific data types better.
* boot: Add RISCV32 and LoongArch supportJan Janssen2023-03-101-1/+4
| | | | | This is completely untested, but should work in theory, as it's just adding a couple defines according to the specs.
* boot: Fix debug experienceJan Janssen2023-03-102-10/+10
|
* boot: Bring back bootloader buildsJan Janssen2023-03-102-0/+627
| | | | | | | | | | | | This adds back sd-boot builds by using meson compile targets directly. We can do this now, because userspace binaries use the special dependency that allows us to easily separate flags, so that we don't pass anything to EFI builds that shouldn't be passed. Additionally, we pass a bunch of flags to hopefully disable/override any distro provided flags that should not be used for EFI binaries. Fixes: #12275
* tree-wide: Drop gnu-efiJan Janssen2023-03-101-7/+1
| | | | | | | This drops all mentions of gnu-efi and its manual build machinery. A future commit will bring bootloader builds back. A new bootloader meson option is now used to control whether to build sd-boot and its userspace tooling.
* tools: explicitly specify "setup" subcommandYu Watanabe2023-03-032-2/+2
| | | | As invoking meson without subcommand is deprecated since 0.64.0.
* tools: fix the file name that "meson setup" generatesYu Watanabe2023-03-031-1/+1
|
* meson: adjust whitespace handling in jinja2 renderingZbigniew Jędrzejewski-Szmek2023-02-201-2/+5
| | | | | | | | | | | | | | | | | In 6abe882bae1bb12827ef395c60f21ab8bb1bc61b the renderer was made to unconditionally append a newline to output. This works, but is ugly. A nicer solution is to tell jinja2 to not strip the newline in the first place, via keep_trailing_newline=True. It seems that the result is unchanged because all our source files have exactly one trailing newline. Also, enable lstrip_blocks=True. This would cause whitespace on the line before an {%if block to be automatically stripped. It seems reasonable to enable that if trim_blocks=True. Overall, no change is expected, though I didn't test combinations of configurations, so there might be a change in some cases. But now the rules of rendering are more logical, e.g. we should be able to indent nested conditional statements without getting unexpected whitespace in the output.
* tools: replace multi-line echo by <<EOFZbigniew Jędrzejewski-Szmek2023-02-061-2/+4
|
* test: drop whitespace after shell redirection operatorsZbigniew Jędrzejewski-Szmek2023-02-062-5/+5
| | | | | | | | | | (The one case that is left unchanged is '< <(subcommand)'.) This way, the style with no gap was already dominant. This way, the reader immediately knows that ' < ' is a comparison operator and ' << ' is a shift. In a few cases, replace custom EOF replacement by just EOF. There is no point in using someting like "_EOL" unless "EOF" appears in the text.
* oss-fuzz: include generated corpora in the final zip fileFrantisek Sumsal2023-01-071-1/+4
| | | | | | | | | Since the files with generated directives are now automatically generated during build, they're now under the respective build directory which the current oss-fuzz CI script didn't account for. Follow-up to: #24958 Resolves: #25859
* tree-wide: BLS and DPS are now on uapi-group websiteZbigniew Jędrzejewski-Szmek2022-11-211-1/+2
|
* Merge pull request #24958 from Werkov/meson-generated-directivesLuca Boccassi2022-10-311-72/+0
|\ | | | | Generate dirrectives for fuzzer tests
| * meson: Generate fuzzer inputs with directivesMichal Koutný2022-10-201-72/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The lists of directives for fuzzer tests are maintained manually in the repo. There is a tools/check-directives.sh script that runs during test phase and reports stale directive lists. Let's rework the script into a generator so that these directive files are created on-the-flight and needn't be updated whenever a unit file directives change. The scripts is rewritten in Python to get rid of gawk dependency and each generated file is a separate meson target so that incremental builds refresh what is just necessary (and parallelize (negligible)). Note: test/fuzz/fuzz-unit-file/directives-all.slice is kept since there is not automated way to generate it (it is not covered by the check script neither).
* | Report version string as in the Boot Loader Spec, fix boot loader upgradesZbigniew Jędrzejewski-Szmek2022-10-251-1/+3
|/ | | | | | | | | | | | | | | | | | | | | | | We generate a "version string" that is reported by various tools. This patch changes this version string to use the characters specified for the version string in the Boot Loader Specification. We start using the special characters we have in the spec for this exact purpose and thus fix version comparisons. We also stop using '+' which is not part of the allowed charset and is used for boot attempt counting and should not be part of the version string. The version string is (among other places) used in sd-boot and the comparison result is used by 'bootctl update' to decide whether to install a new binary. Before, because 'nn-rc1' compares higher than 'nn', we would refuse to upgrade pre-release versions. The boot loader is the primary motivation. I'm not aware of programatic version comparisons in other places, but it makes sense to use the same versions string everywhere. (This patch effectively only matters for non-distro builds, because distro builds presumably use -Dversion-tag to set something meaningful. Ideally, those version strings are compatible with our version strings, but this is outside of our control.)
* docs/DPS: use the SD_GPT_* constants here tooZbigniew Jędrzejewski-Szmek2022-09-211-4/+5
|
* tools/list-discoverable-partitions: make the script work againZbigniew Jędrzejewski-Szmek2022-09-201-9/+9
|