Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chrony for openSUSE:Factory checked in at 2026-10-03 20:12:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chrony (Old) and /work/SRC/openSUSE:Factory/.chrony.new.1631729 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chrony" Sat Oct 3 20:12:34 2026 rev:54 rq:1382125 version:4.9 Changes: -------- --- /work/SRC/openSUSE:Factory/chrony/chrony.changes 2026-09-08 16:53:15.856818110 +0200 +++ /work/SRC/openSUSE:Factory/.chrony.new.1631729/chrony.changes 2026-10-03 20:12:43.872586966 +0200 @@ -1,0 +2,23 @@ +Thu Sep 17 14:36:09 UTC 2026 - Reinhard Max <[email protected]> + +- (bsc#1273873): Replace chrony-usretc-service.patch with + chrony-usretc-config-fallback.patch to let chronyd itself fall + back to /usr/etc/chrony.conf when /etc/chrony.conf is absent and + no -f is given. + +------------------------------------------------------------------- +Mon Sep 14 09:32:42 UTC 2026 - Reinhard Max <[email protected]> + +- Rework chrony-service-ordering.patch (bsc#1145193, bsc#1279495): + * chronyd.service: drop the time-sync.target coupling (Wants= + and Before=); chronyd is Type=notify, so readiness only means + the daemon started, not that the clock is synced. + * chronyd.service: also drop "Wants=network.target", keeping + just After=nss-lookup.target and After=network.target. + * chrony-wait.service: add After=/Wants=network-online.target so + it no longer times out before the network is up. +- Default OPTIONS to "-s" in the chronyd sysconfig to seed the + clock from the RTC (or driftfile) at start-up; override in + /etc/sysconfig/chronyd. + +------------------------------------------------------------------- Old: ---- chrony-usretc-service.patch New: ---- chrony-usretc-config-fallback.patch ----------(Old B)---------- Old: - (bsc#1273873): Replace chrony-usretc-service.patch with chrony-usretc-config-fallback.patch to let chronyd itself fall ----------(Old E)---------- ----------(New B)---------- New:- (bsc#1273873): Replace chrony-usretc-service.patch with chrony-usretc-config-fallback.patch to let chronyd itself fall back to /usr/etc/chrony.conf when /etc/chrony.conf is absent and ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chrony.spec ++++++ --- /var/tmp/diff_new_pack.LIn6Qb/_old 2026-10-03 20:12:44.966632731 +0200 +++ /var/tmp/diff_new_pack.LIn6Qb/_new 2026-10-03 20:12:44.969632856 +0200 @@ -70,8 +70,8 @@ Patch3: chrony-service-ordering.patch Patch7: chrony-htonl.patch Patch8: chrony.nm-dispatcher.dhcp.patch -# Select /etc/chrony.conf if present, else fall back to /usr/etc/chrony.conf (UsrEtc) -Patch10: chrony-usretc-service.patch +# Fall back to /usr/etc/chrony.conf when /etc/chrony.conf is absent (UsrEtc) +Patch10: chrony-usretc-config-fallback.patch # Tolerate arch-dependent glibc log() rounding in the 129-reload simulation test Patch11: chrony-test-tolerance.patch BuildRequires: NetworkManager-devel @@ -85,9 +85,10 @@ %if %{with pps} BuildRequires: pps-tools-devel %endif +BuildRequires: sysuser-tools +BuildRequires: rubygem(asciidoctor) # The timezone package is needed for the "make check" tests. It can be # removed if the call to make check is ever deleted. -BuildRequires: sysuser-tools BuildRequires: timezone BuildRequires: pkgconfig(systemd) Recommends: logrotate ++++++ chrony-service-ordering.patch ++++++ --- /var/tmp/diff_new_pack.LIn6Qb/_old 2026-10-03 20:12:45.110638755 +0200 +++ /var/tmp/diff_new_pack.LIn6Qb/_new 2026-10-03 20:12:45.113638880 +0200 @@ -1,16 +1,24 @@ --- examples/chronyd.service.orig +++ examples/chronyd.service -@@ -1,7 +1,11 @@ +@@ -1,7 +1,8 @@ [Unit] Description=NTP client/server Documentation=man:chronyd(8) man:chrony.conf(5) -After=ntpdate.service sntp.service ntpd.service +After=nss-lookup.target -+Wants=network.target +After=network.target -+Wants=time-sync.target -+Before=time-sync.target Conflicts=ntpd.service systemd-timesyncd.service ConditionCapability=CAP_SYS_TIME +--- examples/chrony-wait.service.orig ++++ examples/chrony-wait.service +@@ -3,6 +3,8 @@ + Documentation=man:chronyc(1) + After=chronyd.service + Requires=chronyd.service ++After=network-online.target ++Wants=network-online.target + Before=time-sync.target + Wants=time-sync.target + ++++++ chrony-usretc-config-fallback.patch ++++++ Fall back to /usr/etc/chrony.conf when /etc/chrony.conf is absent. openSUSE ships the vendor chrony.conf in /usr/etc (UsrEtc / hermetic /usr) and leaves /etc empty for admin overrides. chronyd's compiled-in default is a single /etc/chrony.conf with no fallback, so every caller that starts chronyd without -f (chronyd.service, yast-timesync.service, a manual "chronyd -q", ...) fails with "Could not open /etc/chrony.conf" (bsc#1273873). Teach chronyd itself to fall back to the vendor copy so all callers are covered, instead of wrapping each unit. An explicit -f is always honoured as given. The fallback path can be overridden at build time with -DDEFAULT_CONF_FILE_FALLBACK=... . --- main.c.orig +++ main.c @@ -492,6 +492,14 @@ /* ================================================== */ +/* When no config file is given with -f and the compiled-in default does not + exist, fall back to the vendor copy shipped under /usr/etc, to support the + UsrEtc / hermetic-/usr layout (an empty /etc by default). An explicit -f + is always honoured as given. */ +#ifndef DEFAULT_CONF_FILE_FALLBACK +#define DEFAULT_CONF_FILE_FALLBACK "/usr/etc/chrony.conf" +#endif + int main (int argc, char **argv) { @@ -504,6 +512,7 @@ int scfilter_level = 0, lock_memory = 0, sched_priority = 0; int clock_control = 1, system_log = 1, log_severity = LOGS_INFO; int user_check = 1, config_args = 0, print_config = 0; + int conf_file_specified = 0; do_platform_checks(); @@ -536,6 +545,7 @@ break; case 'f': conf_file = optarg; + conf_file_specified = 1; break; case 'F': scfilter_level = parse_int_arg(optarg); @@ -639,6 +649,13 @@ /* Parse the config file or the remaining command line arguments */ config_args = argc - optind; if (!config_args) { + /* With no explicit -f, if the default config file is missing fall back + to the vendor copy in /usr/etc (UsrEtc / hermetic /usr). */ + if (!conf_file_specified && access(conf_file, R_OK) != 0 && + access(DEFAULT_CONF_FILE_FALLBACK, R_OK) == 0) { + DEBUG_LOG("Using fallback config %s", DEFAULT_CONF_FILE_FALLBACK); + conf_file = DEFAULT_CONF_FILE_FALLBACK; + } CNF_ReadFile(conf_file); } else { for (; optind < argc; optind++) --- doc/chronyd.adoc.orig +++ doc/chronyd.adoc @@ -39,7 +39,9 @@ If no configuration directives are specified on the command line, *chronyd* will read them from a configuration file. The compiled-in default location of -the file is _@SYSCONFDIR@/chrony.conf_. +the file is _@SYSCONFDIR@/chrony.conf_. If that file does not exist and the +*-f* option is not used, *chronyd* falls back to the vendor default in +_/usr/etc/chrony.conf_. Informational messages, warnings, and errors will be logged to syslog. ++++++ chronyd.sysconfig ++++++ --- /var/tmp/diff_new_pack.LIn6Qb/_old 2026-10-03 20:12:45.251644653 +0200 +++ /var/tmp/diff_new_pack.LIn6Qb/_new 2026-10-03 20:12:45.256644862 +0200 @@ -1,10 +1,17 @@ ## Path: Network/Chrony ## Description: Chrony time synchronization settings ## Type: string -## Default: "" +## Default: "-s" ## ServiceRestart: chronyd # -# Command line options for chronyd +# Command line options for chronyd. # -OPTIONS="" +# -s sets the clock at start-up from the RTC, or on machines without a +# working RTC forward to the driftfile's timestamp (only if that is later +# than the current and RTC time, i.e. a monotonic last-known-good seed). +# This gives DNSSEC validation, TLS/NTS-KE certificate checks and other +# time-sensitive services a roughly correct clock before the network is +# up, without blocking boot the way waiting for real synchronization does. +# +OPTIONS="-s"
