1
0
mirror of https://github.com/systemd/systemd synced 2026-04-26 00:45:09 +02:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
a34ecd1c37
Merge pull request #23204 from bluca/install_tag
meson: add install_tag and build alias for systemd-boot, libsystemd and libudev
2022-04-28 09:38:29 +02:00
Yu Watanabe
d10329a08e hwdb: add keyboard mapping for HP ProBook 11G2
Closes #23108.
2022-04-28 10:10:45 +09:00
Luca Boccassi
705d6b34ee meson: add systemd-boot and systemd-stub build target aliases
Allows to quickly build systemd-boot by itself without having to
reference the full path of the build target:

$ ninja -C foo systemd-stub
ninja: Entering directory `foo'
[21/21] Generating src/boot/efi/linuxx64.efi.stub with a custom command
$ ninja -C foo systemd-boot
ninja: Entering directory `foo'
[10/10] Generating src/boot/efi/systemd-bootx64.efi with a custom command
2022-04-27 22:24:58 +01:00
Luca Boccassi
0a5e638cc7 meson: add install_tag to sd-boot, libsystemd and libudev
Allows to 'meson install --tags systemd-boot --no-rebuild' to install only the EFI
binaries, skipping the rest, for a very quick build:

$ ninja src/boot/efi/linuxx64.efi.stub
[21/21] Generating src/boot/efi/linuxx64.efi.stub with a custom command
$ ninja src/boot/efi/systemd-bootx64.efi
[10/10] Generating src/boot/efi/systemd-bootx64.efi with a custom command
$ DESTDIR=/tmp/foo meson install --tags systemd-boot --no-rebuild
Installing src/boot/efi/systemd-bootx64.efi to /tmp/foo/usr/lib/systemd/boot/efi

Requires Meson 0.60 to be used, prints a warning for unknown keyword
in earlier versions, but there's no failure

https://mesonbuild.com/Installing.html#installation-tags
2022-04-27 22:24:53 +01:00
5 changed files with 34 additions and 9 deletions

View File

@ -123,9 +123,13 @@ for args in "${ARGS[@]}"; do
# src/boot/efi/meson.build:52:16: ERROR: Fatal warnings enabled, aborting # src/boot/efi/meson.build:52:16: ERROR: Fatal warnings enabled, aborting
# when LINKER is set to lld so let's just not turn meson warnings into errors with lld # when LINKER is set to lld so let's just not turn meson warnings into errors with lld
# to make sure that the build systemd can pick up the correct efi-ld linker automatically. # to make sure that the build systemd can pick up the correct efi-ld linker automatically.
if [[ "$LINKER" != lld ]]; then # We use some features (like install_tag) that were introduced in 0.60, but that don't
additional_meson_args="--fatal-meson-warnings" # break running with older versions
fi # FIXME: re-enable once the minimum version is bumped to 0.60
#if [[ "$LINKER" != lld ]]; then
# additional_meson_args="--fatal-meson-warnings"
#fi
additional_meson_args=""
info "Checking build with $args" info "Checking build with $args"
# shellcheck disable=SC2086 # shellcheck disable=SC2086
if ! AR="$AR" \ if ! AR="$AR" \

View File

@ -60,7 +60,11 @@ for phase in "${PHASES[@]}"; do
# The docs build is slow and is not affected by compiler/flags, so do it just once # The docs build is slow and is not affected by compiler/flags, so do it just once
MESON_ARGS+=(-Dman=true) MESON_ARGS+=(-Dman=true)
fi fi
run_meson --fatal-meson-warnings -Dnobody-group=nogroup --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true "${MESON_ARGS[@]}" build # We use some features (like install_tag) that were introduced in 0.60, but that don't
# break running with older versions
# FIXME: re-enable once the minimum version is bumped to 0.60
# MESON_ARGS+=(--fatal-meson-warnings)
run_meson -Dnobody-group=nogroup --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true "${MESON_ARGS[@]}" build
ninja -C build -v ninja -C build -v
meson test -C build --print-errorlogs meson test -C build --print-errorlogs
;; ;;
@ -79,7 +83,11 @@ for phase in "${PHASES[@]}"; do
MESON_ARGS+=(-Dskip-deps=true) MESON_ARGS+=(-Dskip-deps=true)
fi fi
fi fi
run_meson --fatal-meson-warnings -Dnobody-group=nogroup --werror -Dtests=unsafe -Db_sanitize=address,undefined "${MESON_ARGS[@]}" build # We use some features (like install_tag) that were introduced in 0.60, but that don't
# break running with older versions
# FIXME: re-enable once the minimum version is bumped to 0.60
# MESON_ARGS+=(--fatal-meson-warnings)
run_meson -Dnobody-group=nogroup --werror -Dtests=unsafe -Db_sanitize=address,undefined "${MESON_ARGS[@]}" build
ninja -C build -v ninja -C build -v
export ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1 export ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1

View File

@ -724,6 +724,11 @@ evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*ProBook*455*G5*:*
KEYBOARD_KEY_85=unknown # lid close; also reported via special evdev KEYBOARD_KEY_85=unknown # lid close; also reported via special evdev
KEYBOARD_KEY_f8=wlan # Wireless HW switch button KEYBOARD_KEY_f8=wlan # Wireless HW switch button
# HP ProBook 11G2
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHPProBook11G2*:pvr*
KEYBOARD_KEY_d8=!f23 # Fn+F2: touchpad off
KEYBOARD_KEY_d9=!f22 # Fn+F2: touchpad on
# HP mt44 Mobile Thin Client # HP mt44 Mobile Thin Client
evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*mt44*Mobile*Thin*Client*:* evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*mt44*Mobile*Thin*Client*:*
KEYBOARD_KEY_64=calendar # Calendar icon (Fn + F12) KEYBOARD_KEY_64=calendar # Calendar icon (Fn + F12)

View File

@ -1906,6 +1906,7 @@ libsystemd = shared_library(
librt], librt],
link_depends : libsystemd_sym, link_depends : libsystemd_sym,
install : true, install : true,
install_tag: 'libsystemd',
install_dir : rootlibdir) install_dir : rootlibdir)
install_libsystemd_static = static_library( install_libsystemd_static = static_library(
@ -1919,6 +1920,7 @@ install_libsystemd_static = static_library(
include_directories : libsystemd_includes, include_directories : libsystemd_includes,
build_by_default : static_libsystemd != 'false', build_by_default : static_libsystemd != 'false',
install : static_libsystemd != 'false', install : static_libsystemd != 'false',
install_tag: 'libsystemd',
install_dir : rootlibdir, install_dir : rootlibdir,
pic : static_libsystemd_pic, pic : static_libsystemd_pic,
dependencies : [threads, dependencies : [threads,
@ -1946,6 +1948,7 @@ libudev = shared_library(
dependencies : [threads], dependencies : [threads],
link_depends : libudev_sym, link_depends : libudev_sym,
install : true, install : true,
install_tag: 'libudev',
install_dir : rootlibdir) install_dir : rootlibdir)
install_libudev_static = static_library( install_libudev_static = static_library(
@ -1959,6 +1962,7 @@ install_libudev_static = static_library(
include_directories : includes, include_directories : includes,
build_by_default : static_libudev != 'false', build_by_default : static_libudev != 'false',
install : static_libudev != 'false', install : static_libudev != 'false',
install_tag: 'libudev',
install_dir : rootlibdir, install_dir : rootlibdir,
link_depends : libudev_sym, link_depends : libudev_sym,
dependencies : libshared_deps + [libmount], dependencies : libshared_deps + [libmount],

View File

@ -410,8 +410,8 @@ foreach file : fundamental_source_paths + common_sources + systemd_boot_sources
endif endif
endforeach endforeach
foreach tuple : [['systemd-boot@0@.@1@', systemd_boot_objects, false], foreach tuple : [['systemd-boot@0@.@1@', systemd_boot_objects, false, 'systemd-boot'],
['linux@0@.@1@.stub', stub_objects, true]] ['linux@0@.@1@.stub', stub_objects, true, 'systemd-stub']]
elf = custom_target( elf = custom_target(
tuple[0].format(efi_arch[0], 'elf'), tuple[0].format(efi_arch[0], 'elf'),
input : tuple[1], input : tuple[1],
@ -425,9 +425,10 @@ foreach tuple : [['systemd-boot@0@.@1@', systemd_boot_objects, false],
'-lgnuefi', '-lgnuefi',
'-lgcc'], '-lgcc'],
install : tuple[2], install : tuple[2],
install_tag: tuple[3],
install_dir : bootlibdir) install_dir : bootlibdir)
custom_target( efi = custom_target(
tuple[0].format(efi_arch[0], 'efi'), tuple[0].format(efi_arch[0], 'efi'),
input : elf, input : elf,
output : tuple[0].format(efi_arch[0], 'efi'), output : tuple[0].format(efi_arch[0], 'efi'),
@ -446,5 +447,8 @@ foreach tuple : [['systemd-boot@0@.@1@', systemd_boot_objects, false],
efi_format, efi_format,
'@INPUT@', '@OUTPUT@'], '@INPUT@', '@OUTPUT@'],
install : true, install : true,
install_tag: tuple[3],
install_dir : bootlibdir) install_dir : bootlibdir)
alias_target(tuple[3], efi)
endforeach endforeach