Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rebootmgr for openSUSE:Factory checked in at 2025-05-13 20:12:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rebootmgr (Old) and /work/SRC/openSUSE:Factory/.rebootmgr.new.30101 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rebootmgr" Tue May 13 20:12:33 2025 rev:34 rq:1276813 version:3.3+git20250512.b6e4e84 Changes: -------- --- /work/SRC/openSUSE:Factory/rebootmgr/rebootmgr.changes 2025-03-26 21:17:03.578689657 +0100 +++ /work/SRC/openSUSE:Factory/.rebootmgr.new.30101/rebootmgr.changes 2025-05-13 20:12:53.697535899 +0200 @@ -1,0 +2,7 @@ +Mon May 12 11:18:09 UTC 2025 - Thorsten Kukuk <ku...@suse.com> + +- Update to version 3.3+git20250512.b6e4e84: + * Release version 3.3 + * Fix handling of temporarily disabled reboots + +------------------------------------------------------------------- Old: ---- rebootmgr-3.2+git20250317.27192cc.tar.xz New: ---- rebootmgr-3.3+git20250512.b6e4e84.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rebootmgr.spec ++++++ --- /var/tmp/diff_new_pack.5pTdQ4/_old 2025-05-13 20:12:54.173555878 +0200 +++ /var/tmp/diff_new_pack.5pTdQ4/_new 2025-05-13 20:12:54.173555878 +0200 @@ -17,7 +17,7 @@ Name: rebootmgr -Version: 3.2+git20250317.27192cc +Version: 3.3+git20250512.b6e4e84 Release: 0 Summary: Automatic controlled reboot during a maintenance window License: GPL-2.0-only AND LGPL-2.1-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.5pTdQ4/_old 2025-05-13 20:12:54.201557053 +0200 +++ /var/tmp/diff_new_pack.5pTdQ4/_new 2025-05-13 20:12:54.205557221 +0200 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="manual"> - <param name="version">3.2</param> - <param name="versionformat">3.2+git%cd.%h</param> + <param name="version">3.3</param> + <param name="versionformat">3.3+git%cd.%h</param> <param name="url">https://github.com/SUSE/rebootmgr.git</param> <param name="revision">master</param> <param name="scm">git</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.5pTdQ4/_old 2025-05-13 20:12:54.225558061 +0200 +++ /var/tmp/diff_new_pack.5pTdQ4/_new 2025-05-13 20:12:54.229558229 +0200 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/SUSE/rebootmgr.git</param> - <param name="changesrevision">27192cc00454320a00336265584645844805a070</param></service> + <param name="changesrevision">b6e4e8410d17c8e220f0dd586a283d38a6cff007</param></service> </servicedata> (No newline at EOF) ++++++ rebootmgr-3.2+git20250317.27192cc.tar.xz -> rebootmgr-3.3+git20250512.b6e4e84.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/NEWS new/rebootmgr-3.3+git20250512.b6e4e84/NEWS --- old/rebootmgr-3.2+git20250317.27192cc/NEWS 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/NEWS 2025-05-12 13:14:58.000000000 +0200 @@ -2,6 +2,9 @@ Copyright (C) 2016-2025 Thorsten Kukuk +Version 3.3 +* Fix handling of disabled reboots + Version 3.2 * rebootmgrd: fix strategy instantly * Fix support of unset maintenance window diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/lib/common/util.c new/rebootmgr-3.3+git20250512.b6e4e84/lib/common/util.c --- old/rebootmgr-3.2+git20250317.27192cc/lib/common/util.c 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/lib/common/util.c 2025-05-12 13:14:58.000000000 +0200 @@ -82,6 +82,8 @@ *ret = RM_REBOOTSTRATEGY_MAINT_WINDOW; else if (strcasecmp (str_strategy, "off") == 0) *ret = RM_REBOOTSTRATEGY_OFF; + else if (strcasecmp (str_strategy, "on") == 0) + *ret = RM_REBOOTSTRATEGY_ON; return 0; } @@ -130,6 +132,9 @@ case RM_REBOOTSTRATEGY_OFF: *ret = "off"; break; + case RM_REBOOTSTRATEGY_ON: + *ret = "on"; + break; case RM_REBOOTSTRATEGY_UNKNOWN: /* fall through, not a valid entry, too */ default: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/man/rebootmgrctl.1.xml new/rebootmgr-3.3+git20250512.b6e4e84/man/rebootmgrctl.1.xml --- old/rebootmgr-3.2+git20250317.27192cc/man/rebootmgrctl.1.xml 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/man/rebootmgrctl.1.xml 2025-05-12 13:14:58.000000000 +0200 @@ -92,6 +92,7 @@ <arg choice='plain'>maint-window</arg> <arg choice='plain'>instantly</arg> <arg choice='plain'>off</arg> + <arg choice='plain'>on</arg> </group> </cmdsynopsis> <cmdsynopsis> @@ -215,7 +216,7 @@ </varlistentry> <varlistentry> - <term><option>set-strategy</option> best-effort|maint-window|instantly|off</term> + <term><option>set-strategy</option> best-effort|maint-window|instantly|off|on</term> <listitem> <para> A new strategy to reboot the machine is written in @@ -264,6 +265,14 @@ </para> </listitem> </varlistentry> + <varlistentry> + <term>on</term> + <listitem> + <para> + Reboots will be enabled again. + </para> + </listitem> + </varlistentry> </variablelist> </listitem> </varlistentry> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/man/rebootmgrd.8.xml new/rebootmgr-3.3+git20250512.b6e4e84/man/rebootmgrd.8.xml --- old/rebootmgr-3.2+git20250317.27192cc/man/rebootmgrd.8.xml 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/man/rebootmgrd.8.xml 2025-05-12 13:14:58.000000000 +0200 @@ -91,7 +91,7 @@ <para> This is the default setting. If a maintenance window is specified, <option>maint-window</option> is used. If no maintenance window is - specified, the reboot takes place immediately + specified, the reboot takes place immediately (<option>instantly</option>). </para> </listitem> @@ -107,6 +107,14 @@ </para> </listitem> </varlistentry> + <varlistentry><term>on</term> + <listitem> + <para> + Reboots will be enabled again. Existing reboot timers will be + executed again. Elapsed timers will not be restarted. + </para> + </listitem> + </varlistentry> </variablelist> <para> The reboot strategy can be configured via diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/meson.build new/rebootmgr-3.3+git20250512.b6e4e84/meson.build --- old/rebootmgr-3.2+git20250317.27192cc/meson.build 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/meson.build 2025-05-12 13:14:58.000000000 +0200 @@ -13,7 +13,7 @@ 'c_std=gnu17', 'warning_level=2',], license : ['GPL-2.0-only', 'LGPL-2.1-or-later'], - version : '3.2', + version : '3.3', ) fs = import('fs') @@ -35,7 +35,6 @@ '-Werror=return-type', '-Wbad-function-cast', '-Wcast-align', - '-Wcast-qual', '-Wformat-security', '-Wmissing-declarations', '-Wmissing-prototypes', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/src/rebootmgr.h new/rebootmgr-3.3+git20250512.b6e4e84/src/rebootmgr.h --- old/rebootmgr-3.2+git20250317.27192cc/src/rebootmgr.h 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/src/rebootmgr.h 2025-05-12 13:14:58.000000000 +0200 @@ -15,6 +15,7 @@ #pragma once +#include <stdbool.h> #include <systemd/sd-event.h> #include "calendarspec.h" @@ -32,7 +33,8 @@ RM_REBOOTSTRATEGY_BEST_EFFORT, /* maintenance window, else instantly */ RM_REBOOTSTRATEGY_INSTANTLY, /* reboot instantly */ RM_REBOOTSTRATEGY_MAINT_WINDOW,/* reboot only during maintenance window */ - RM_REBOOTSTRATEGY_OFF /* don't reboot */ + RM_REBOOTSTRATEGY_OFF, /* don't reboot */ + RM_REBOOTSTRATEGY_ON /* Re-enable old strategy after off */ } RM_RebootStrategy; typedef enum RM_RebootStatus { @@ -47,7 +49,7 @@ RM_RebootStrategy reboot_strategy; CalendarSpec *maint_window_start; time_t maint_window_duration; - int temp_off; + bool temp_off; sd_event *loop; sd_event_source *timer; usec_t reboot_time; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/src/rebootmgrctl.c new/rebootmgr-3.3+git20250512.b6e4e84/src/rebootmgrctl.c --- old/rebootmgr-3.2+git20250317.27192cc/src/rebootmgrctl.c 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/src/rebootmgrctl.c 2025-05-12 13:14:58.000000000 +0200 @@ -333,21 +333,24 @@ } static int -get_status(RM_RebootStatus *status, RM_RebootMethod *method, char **reboot_time) +get_status(RM_RebootStatus *status, RM_RebootMethod *method, char **reboot_time, bool *disabled) { struct p { RM_RebootStatus status; RM_RebootMethod method; char *reboot_time; + bool temp_off; } p = { .status = RM_REBOOTSTATUS_NOT_REQUESTED, .method = RM_REBOOTMETHOD_UNKNOWN, - .reboot_time = NULL + .reboot_time = NULL, + .temp_off = false }; static const sd_json_dispatch_field dispatch_table[] = { - { "RebootStatus", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct p, status), SD_JSON_MANDATORY }, - { "RebootTime", SD_JSON_VARIANT_STRING, sd_json_dispatch_string, offsetof(struct p, reboot_time), 0 }, - { "RequestedMethod", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct p, method), 0 }, + { "RebootStatus", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct p, status), SD_JSON_MANDATORY }, + { "RebootTime", SD_JSON_VARIANT_STRING, sd_json_dispatch_string, offsetof(struct p, reboot_time), 0 }, + { "RequestedMethod", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct p, method), 0 }, + { "RebootDisabled", SD_JSON_VARIANT_BOOLEAN, sd_json_dispatch_stdbool, offsetof(struct p, temp_off), 0 }, {} }; _cleanup_(sd_varlink_unrefp) sd_varlink *link = NULL; @@ -382,6 +385,8 @@ *method = p.method; if (reboot_time) *reboot_time = p.reboot_time; + if (disabled) + *disabled = p.temp_off; return 0; } @@ -393,6 +398,7 @@ char *maint_window_start; time_t maint_window_duration; char *reboot_time; + bool temp_off; }; static void @@ -406,12 +412,13 @@ get_full_status(struct status *p) { static const sd_json_dispatch_field dispatch_table[] = { - { "RebootStatus", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct status, status), SD_JSON_MANDATORY }, - { "RequestedMethod", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct status, method), 0 }, - { "RebootTime", SD_JSON_VARIANT_STRING, sd_json_dispatch_string, offsetof(struct status, reboot_time), 0 }, - { "RebootStrategy", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct status, strategy), SD_JSON_MANDATORY }, - { "MaintenanceWindowStart", SD_JSON_VARIANT_STRING, sd_json_dispatch_string, offsetof(struct status, maint_window_start), 0 }, - { "MaintenanceWindowDuration", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int64, offsetof(struct status, maint_window_duration), 0 }, + { "RebootStatus", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct status, status), SD_JSON_MANDATORY }, + { "RequestedMethod", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct status, method), 0 }, + { "RebootTime", SD_JSON_VARIANT_STRING, sd_json_dispatch_string, offsetof(struct status, reboot_time), 0 }, + { "RebootStrategy", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int, offsetof(struct status, strategy), SD_JSON_MANDATORY }, + { "MaintenanceWindowStart", SD_JSON_VARIANT_STRING, sd_json_dispatch_string, offsetof(struct status, maint_window_start), 0 }, + { "MaintenanceWindowDuration", SD_JSON_VARIANT_INTEGER, sd_json_dispatch_int64, offsetof(struct status, maint_window_duration), 0 }, + { "RebootDisabled", SD_JSON_VARIANT_BOOLEAN, sd_json_dispatch_stdbool, offsetof(struct status, temp_off), 0 }, {} }; _cleanup_(sd_varlink_unrefp) sd_varlink *link = NULL; @@ -470,7 +477,12 @@ return -1; } else - printf("Status: %s\n", str); + { + if (status.temp_off) + printf("Status: %s (reboots temporarily disabled)\n", str); + else + printf("Status: %s\n", str); + } if (status.reboot_time && strlen(status.reboot_time) > 0) printf("Reboot at: %s\n", status.reboot_time); @@ -705,7 +717,7 @@ printf(_("\trebootmgrctl soft-reboot [now]\n")); printf(_("\trebootmgrctl cancel\n")); printf(_("\trebootmgrctl status [--full|--quiet]\n")); - printf(_("\trebootmgrctl set-strategy best-effort|maint-window|instantly|off\n")); + printf(_("\trebootmgrctl set-strategy best-effort|maint-window|instantly|off|on\n")); printf(_("\trebootmgrctl get-strategy\n")); printf(_("\trebootmgrctl set-window <time> <duration>\n")); printf(_("\trebootmgrctl get-window\n")); @@ -773,6 +785,7 @@ RM_RebootStatus r_status = 0; RM_RebootMethod r_method = 0; _cleanup_(freep) char *r_time = NULL; + bool disabled = false; if (argc == 3) { @@ -794,7 +807,7 @@ } else { - int r = get_status(&r_status, &r_method, &r_time); + int r = get_status(&r_status, &r_method, &r_time, &disabled); if (r < 0) retval = 1; else if (quiet) @@ -814,7 +827,10 @@ } else { - printf(_("Status: %s\n"), str); + if (disabled) + printf(_("Status: %s (reboots temporarily disabled)\n"), str); + else + printf(_("Status: %s\n"), str); if (r_time) printf(_("Scheduled for: %s\n"), r_time); } @@ -837,7 +853,7 @@ /* if we get an answer to a status request, rebootmgrd must be active */ - int r = get_status(&r_status, &r_method, NULL); + int r = get_status(&r_status, &r_method, NULL, NULL); if (r == 0) { if (quiet) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/src/rebootmgrd.c new/rebootmgr-3.3+git20250512.b6e4e84/src/rebootmgrd.c --- old/rebootmgr-3.2+git20250317.27192cc/src/rebootmgrd.c 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/src/rebootmgrd.c 2025-05-12 13:14:58.000000000 +0200 @@ -167,16 +167,14 @@ _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL; - RM_RebootStatus tmp_status = ctx->reboot_status; - if (ctx->temp_off) - tmp_status = RM_REBOOTSTATUS_NOT_REQUESTED; - - r = sd_json_buildo(&v, SD_JSON_BUILD_PAIR("RebootStatus", SD_JSON_BUILD_INTEGER(tmp_status))); + r = sd_json_buildo(&v, + SD_JSON_BUILD_PAIR("RebootStatus", SD_JSON_BUILD_INTEGER(ctx->reboot_status)), + SD_JSON_BUILD_PAIR("RebootDisabled", SD_JSON_BUILD_BOOLEAN(ctx->temp_off))); if (r == 0 && ctx->reboot_method != RM_REBOOTMETHOD_UNKNOWN) { r = sd_json_variant_merge_objectbo(&v, - SD_JSON_BUILD_PAIR("RequestedMethod", SD_JSON_BUILD_INTEGER(ctx->reboot_method)), - SD_JSON_BUILD_PAIR("RebootTime", SD_JSON_BUILD_STRING(format_timestamp(buf, sizeof(buf), ctx->reboot_time)))); + SD_JSON_BUILD_PAIR("RequestedMethod", SD_JSON_BUILD_INTEGER(ctx->reboot_method)), + SD_JSON_BUILD_PAIR("RebootTime", SD_JSON_BUILD_STRING(format_timestamp(buf, sizeof(buf), ctx->reboot_time)))); } if (r < 0) { @@ -207,13 +205,10 @@ _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL; - RM_RebootStatus tmp_status = ctx->reboot_status; - if (ctx->temp_off) - tmp_status = RM_REBOOTSTATUS_NOT_REQUESTED; - r = sd_json_buildo (&v, - SD_JSON_BUILD_PAIR("RebootStatus", SD_JSON_BUILD_INTEGER(tmp_status)), - SD_JSON_BUILD_PAIR("RebootStrategy", SD_JSON_BUILD_INTEGER(ctx->reboot_strategy))); + SD_JSON_BUILD_PAIR("RebootStatus", SD_JSON_BUILD_INTEGER(ctx->reboot_status)), + SD_JSON_BUILD_PAIR("RebootStrategy", SD_JSON_BUILD_INTEGER(ctx->reboot_strategy)), + SD_JSON_BUILD_PAIR("RebootDisabled", SD_JSON_BUILD_BOOLEAN(ctx->temp_off))); if (r >= 0 && ctx->reboot_method != RM_REBOOTMETHOD_UNKNOWN) r = sd_json_variant_merge_objectbo(&v, SD_JSON_BUILD_PAIR("RequestedMethod", SD_JSON_BUILD_INTEGER(ctx->reboot_method))); @@ -322,8 +317,7 @@ if (ctx->temp_off) { - if (debug_flag) - log_msg (LOG_DEBUG, "Reboot temporary disabled, ignoring timer"); + log_msg (LOG_NOTICE, "Reboot temporary disabled, ignoring timer"); return 0; } @@ -540,12 +534,25 @@ return sd_varlink_error(link, SD_VARLINK_ERROR_PERMISSION_DENIED, parameters); } - if (p.strategy > RM_REBOOTSTRATEGY_UNKNOWN && - p.strategy <= RM_REBOOTSTRATEGY_OFF && - ctx->reboot_strategy != p.strategy) + if (p.strategy == RM_REBOOTSTRATEGY_ON) + { + const char *str; + + ctx->temp_off = false; + /* Informal log message */ + rm_strategy_to_str(ctx->reboot_strategy, &str); + log_msg(LOG_INFO, "Reboots (strategy '%s') enabled again", str); + } + else if (p.strategy == RM_REBOOTSTRATEGY_OFF) { - /* Don't save strategy "off" */ - if (p.strategy != RM_REBOOTSTRATEGY_OFF) + ctx->temp_off = true; + log_msg(LOG_INFO, "Reboots temporarily disabled"); + } + else + { + if (p.strategy > RM_REBOOTSTRATEGY_UNKNOWN && + p.strategy < RM_REBOOTSTRATEGY_OFF && + ctx->reboot_strategy != p.strategy) { r = save_config(p.strategy, NULL, 0); if (r < 0) @@ -555,6 +562,12 @@ SD_JSON_BUILD_PAIR_BOOLEAN("Success", false)); } } + else + { + log_msg(LOG_ERR, "Reboot strategy not changed, invalid value (%i)", p.strategy); + return sd_varlink_errorbo(link, "org.openSUSE.rebootmgr.InvalidParameter", + SD_JSON_BUILD_PAIR_BOOLEAN("Success", false)); + } ctx->reboot_strategy = p.strategy; @@ -563,12 +576,6 @@ rm_strategy_to_str(p.strategy, &str); log_msg(LOG_INFO, "Reboot strategy changed to '%s'", str); } - else - { - log_msg(LOG_ERR, "Reboot strategy not changed, invalid value (%i)", p.strategy); - return sd_varlink_errorbo(link, "org.openSUSE.rebootmgr.InvalidParameter", - SD_JSON_BUILD_PAIR_BOOLEAN("Success", false)); - } return sd_varlink_replybo(link, SD_JSON_BUILD_PAIR_BOOLEAN("Success", true)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-3.2+git20250317.27192cc/src/varlink-org.openSUSE.rebootmgr.c new/rebootmgr-3.3+git20250512.b6e4e84/src/varlink-org.openSUSE.rebootmgr.c --- old/rebootmgr-3.2+git20250317.27192cc/src/varlink-org.openSUSE.rebootmgr.c 2025-03-17 11:20:26.000000000 +0100 +++ new/rebootmgr-3.3+git20250512.b6e4e84/src/varlink-org.openSUSE.rebootmgr.c 2025-05-12 13:14:58.000000000 +0200 @@ -36,7 +36,8 @@ SD_VARLINK_FIELD_COMMENT("If a reboot is requested and if yes, which kind of reboot"), SD_VARLINK_DEFINE_OUTPUT(RebootStatus, SD_VARLINK_INT, 0), SD_VARLINK_DEFINE_OUTPUT(RequestedMethod, SD_VARLINK_INT, SD_VARLINK_NULLABLE), - SD_VARLINK_DEFINE_OUTPUT(RebootTime, SD_VARLINK_STRING, SD_VARLINK_NULLABLE)); + SD_VARLINK_DEFINE_OUTPUT(RebootTime, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), + SD_VARLINK_DEFINE_OUTPUT(RebootDisabled, SD_VARLINK_BOOL, SD_VARLINK_NULLABLE)); static SD_VARLINK_DEFINE_METHOD( FullStatus, @@ -45,6 +46,7 @@ SD_VARLINK_DEFINE_OUTPUT(RebootStrategy, SD_VARLINK_INT, 0), SD_VARLINK_DEFINE_OUTPUT(RequestedMethod, SD_VARLINK_INT, SD_VARLINK_NULLABLE), SD_VARLINK_DEFINE_OUTPUT(RebootTime, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), + SD_VARLINK_DEFINE_OUTPUT(RebootDisabled, SD_VARLINK_BOOL, SD_VARLINK_NULLABLE), SD_VARLINK_DEFINE_OUTPUT(MaintenanceWindowStart, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), SD_VARLINK_DEFINE_OUTPUT(MaintenanceWindowDuration, SD_VARLINK_INT, SD_VARLINK_NULLABLE));