Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build-sys: Enable libsoup3 by default if installed #3091

Merged
merged 3 commits into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 20 additions & 9 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -155,17 +155,26 @@ AS_IF([test x$enable_http2 != xno ], [
SOUP3_DEPENDENCY="libsoup-3.0 >= 3.0.0"
AC_ARG_WITH(soup3,
AS_HELP_STRING([--with-soup3], [Use libsoup3 @<:@default=no@:>@]),
[], [with_soup3=no])
[], [with_soup3=check])
AS_IF([test x$with_soup3 != xno], [
PKG_CHECK_MODULES(OT_DEP_SOUP3, $SOUP3_DEPENDENCY)
with_soup3=yes
AC_DEFINE([HAVE_LIBSOUP3], 1, [Define if we have libsoup3])
OSTREE_FEATURES="$OSTREE_FEATURES libsoup3"
with_soup_default=no
dnl soup3 always supports client certs
have_libsoup_client_certs=yes
AC_MSG_CHECKING([for $SOUP3_DEPENDENCY])
PKG_CHECK_EXISTS($SOUP3_DEPENDENCY, have_soup3=yes, have_soup3=no)
AC_MSG_RESULT([$have_soup3])
AS_IF([ test x$have_soup3 = xno && test x$with_soup3 != xcheck], [
AC_MSG_ERROR([libsoup3 is enabled but could not be found])
])
AS_IF([test x$have_soup3 = xyes], [
with_soup3=yes
PKG_CHECK_MODULES(OT_DEP_SOUP3, $SOUP3_DEPENDENCY)
AC_DEFINE([HAVE_LIBSOUP3], 1, [Define if we have libsoup3])
OSTREE_FEATURES="$OSTREE_FEATURES libsoup3"
dnl And disable libsoup2
with_soup_default=no
dnl soup3 always supports client certs
have_libsoup_client_certs=yes
], [with_soup3=no])
], [with_soup_default=check])
AM_CONDITIONAL(USE_LIBSOUP3, test x$with_soup3 != xno)
AM_CONDITIONAL(USE_LIBSOUP3, test x$with_soup3 = xyes)

dnl When bumping the libsoup-2.4 dependency, remember to bump
dnl SOUP_VERSION_MIN_REQUIRED and SOUP_VERSION_MAX_ALLOWED in
Expand Down Expand Up @@ -704,6 +713,8 @@ echo "
introspection: $found_introspection
rofiles-fuse: $enable_rofiles_fuse
HTTP backend: $fetcher_backend
libsoup: $with_soup
libsoup3: $with_soup3
SELinux: $with_selinux
fs-verity: $ac_cv_header_linux_fsverity_h
cryptographic checksums: $with_crypto
Expand Down
12 changes: 7 additions & 5 deletions tests/kolainst/destructive/boot-automount.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ EOF
# Check that the finalize and hold services succeeded in the
# previous boot. Dump them to the test log to help debugging.
prepare_tmpdir
journalctl -b -1 -o short-monotonic \
prev_bootid=$(journalctl --list-boots -o json |jq -r '.[] | select(.index == -1) | .boot_id')
journalctl -b "${prev_bootid}" -o short-monotonic \
-u ostree-finalize-staged.service \
-u ostree-finalize-staged-hold.service \
-u boot.mount \
Expand All @@ -72,10 +73,11 @@ EOF

# Check that the hold service remained active and kept /boot mounted until
# the finalize service completed.
finalize_stopped=$(journalctl -b -1 -o json -g Stopped -u ostree-finalize-staged.service | tail -n1 | jq -r .__MONOTONIC_TIMESTAMP)
hold_stopping=$(journalctl -b -1 -o json -g Stopping -u ostree-finalize-staged-hold.service | tail -n1 | jq -r .__MONOTONIC_TIMESTAMP)
hold_stopped=$(journalctl -b -1 -o json -g Stopped -u ostree-finalize-staged-hold.service | tail -n1 | jq -r .__MONOTONIC_TIMESTAMP)
boot_unmounting=$(journalctl -b -1 -o json -g Unmounting -u boot.mount | tail -n1 | jq -r .__MONOTONIC_TIMESTAMP)
prev_bootid=$(journalctl --list-boots -o json |jq -r '.[] | select(.index == -1) | .boot_id')
finalize_stopped=$(journalctl -b $prev_bootid -o json -g Stopped -u ostree-finalize-staged.service | tail -n1 | jq -r .__MONOTONIC_TIMESTAMP)
hold_stopping=$(journalctl -b $prev_bootid -o json -g Stopping -u ostree-finalize-staged-hold.service | tail -n1 | jq -r .__MONOTONIC_TIMESTAMP)
hold_stopped=$(journalctl -b $prev_bootid -o json -g Stopped -u ostree-finalize-staged-hold.service | tail -n1 | jq -r .__MONOTONIC_TIMESTAMP)
boot_unmounting=$(journalctl -b $prev_bootid -o json -g Unmounting -u boot.mount | tail -n1 | jq -r .__MONOTONIC_TIMESTAMP)
test "${finalize_stopped}" -lt "${hold_stopping}"
test "${hold_stopped}" -lt "${boot_unmounting}"
;;
Expand Down
3 changes: 2 additions & 1 deletion tests/kolainst/destructive/staged-delay.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ rpm-ostree kargs --append=somedummykarg=1
;;

"2")
journalctl -b -1 -u ostree-finalize-staged > logs.txt
prev_bootid=$(journalctl --list-boots -o json |jq -r '.[] | select(.index == -1) | .boot_id')
journalctl -b $prev_bootid -u ostree-finalize-staged > logs.txt
assert_file_has_content_literal logs.txt 'ostree-finalize-staged found /boot/loader/entries'
# older systemd doesn't output the success message
if systemctl --version | head -1 | grep -qF -e 'systemd 239'; then
Expand Down
3 changes: 2 additions & 1 deletion tests/kolainst/destructive/staged-deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ EOF
# Check that deploy-staged service worked
rpm-ostree status
# Assert that the previous boot had a journal entry for it
journalctl -b "-1" -u ostree-finalize-staged.service > svc.txt
prev_bootid=$(journalctl --list-boots -o json |jq -r '.[] | select(.index == -1) | .boot_id')
journalctl -b $prev_bootid -u ostree-finalize-staged.service > svc.txt
assert_file_has_content svc.txt 'Bootloader updated; bootconfig swap: yes;.*deployment count change: 1'
# Also validate ignoring socket and fifo
assert_file_has_content svc.txt 'Ignoring.*during /etc merge:.*sock-to-ignore'
Expand Down
2 changes: 1 addition & 1 deletion tests/kolainst/destructive/unlock-transient.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ case "${AUTOPKGTEST_REBOOT_MARK:-}" in
fatal "modified /usr"
fi
# But, we can affect it in a new mount namespace
unshare -m -- /bin/sh -c 'mount -o remount,rw /usr && echo hello from transient unlock >'"${testfile}"
unshare -m -- /bin/sh -c 'mount --options-source=disable -o remount,rw /usr && echo hello from transient unlock >'"${testfile}"
assert_file_has_content "${testfile}" "hello from transient unlock"
# Still can't write to it from the outer namespace
if touch ${testfile} || rm -v "${testfile}" 2>/dev/null; then
Expand Down
Loading