Hello community, here is the log from the commit of package rebootmgr for openSUSE:Factory checked in at 2018-03-30 12:01:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rebootmgr (Old) and /work/SRC/openSUSE:Factory/.rebootmgr.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rebootmgr" Fri Mar 30 12:01:30 2018 rev:9 rq:592031 version:0.17 Changes: -------- --- /work/SRC/openSUSE:Factory/rebootmgr/rebootmgr.changes 2018-03-26 11:56:30.109019395 +0200 +++ /work/SRC/openSUSE:Factory/.rebootmgr.new/rebootmgr.changes 2018-03-30 12:01:36.106362719 +0200 @@ -1,0 +2,6 @@ +Wed Mar 28 13:35:47 CEST 2018 - ku...@suse.de + +- Update to version 0.17 + - fix some bugs around etcd locks and reboot fast path + +------------------------------------------------------------------- Old: ---- rebootmgr-0.16.tar.bz2 New: ---- rebootmgr-0.17.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rebootmgr.spec ++++++ --- /var/tmp/diff_new_pack.npEaJD/_old 2018-03-30 12:01:37.034329163 +0200 +++ /var/tmp/diff_new_pack.npEaJD/_new 2018-03-30 12:01:37.038329019 +0200 @@ -17,7 +17,7 @@ Name: rebootmgr -Version: 0.16 +Version: 0.17 Release: 0 Summary: Automatic controlled reboot during a maintenance window License: GPL-2.0-only AND LGPL-2.1-or-later ++++++ rebootmgr-0.16.tar.bz2 -> rebootmgr-0.17.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.16/NEWS new/rebootmgr-0.17/NEWS --- old/rebootmgr-0.16/NEWS 2018-01-10 10:05:26.000000000 +0100 +++ new/rebootmgr-0.17/NEWS 2018-03-28 13:32:52.000000000 +0200 @@ -2,6 +2,10 @@ Copyright (C) 2016, 2017, 2018 Thorsten Kukuk +Version 0.17 +* Fix fast reboot with etcd lock [issues/4] +* Release etcd lock if reboot got canceled + Version 0.16 * Remove -Werror * Use unsigned integers for json-c loops diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.16/configure new/rebootmgr-0.17/configure --- old/rebootmgr-0.16/configure 2018-01-10 10:05:32.000000000 +0100 +++ new/rebootmgr-0.17/configure 2018-03-28 13:32:58.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for rebootmgr 0.16. +# Generated by GNU Autoconf 2.69 for rebootmgr 0.17. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ # Identity of this package. PACKAGE_NAME='rebootmgr' PACKAGE_TARNAME='rebootmgr' -PACKAGE_VERSION='0.16' -PACKAGE_STRING='rebootmgr 0.16' +PACKAGE_VERSION='0.17' +PACKAGE_STRING='rebootmgr 0.17' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1326,7 +1326,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rebootmgr 0.16 to adapt to many kinds of systems. +\`configure' configures rebootmgr 0.17 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1396,7 +1396,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rebootmgr 0.16:";; + short | recursive ) echo "Configuration of rebootmgr 0.17:";; esac cat <<\_ACEOF @@ -1511,7 +1511,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rebootmgr configure 0.16 +rebootmgr configure 0.17 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1876,7 +1876,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rebootmgr $as_me 0.16, which was +It was created by rebootmgr $as_me 0.17, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2740,7 +2740,7 @@ # Define the identity of the package. PACKAGE='rebootmgr' - VERSION='0.16' + VERSION='0.17' cat >>confdefs.h <<_ACEOF @@ -8627,7 +8627,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rebootmgr $as_me 0.16, which was +This file was extended by rebootmgr $as_me 0.17, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8693,7 +8693,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -rebootmgr config.status 0.16 +rebootmgr config.status 0.17 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.16/configure.ac new/rebootmgr-0.17/configure.ac --- old/rebootmgr-0.16/configure.ac 2018-01-10 10:04:38.000000000 +0100 +++ new/rebootmgr-0.17/configure.ac 2018-03-28 13:15:40.000000000 +0200 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(rebootmgr, 0.16) +AC_INIT(rebootmgr, 0.17) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([src/rebootmgrd.c]) AM_CONFIG_HEADER(config.h) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.16/src/rebootmgrd.c new/rebootmgr-0.17/src/rebootmgrd.c --- old/rebootmgr-0.16/src/rebootmgrd.c 2017-09-13 15:33:18.000000000 +0200 +++ new/rebootmgr-0.17/src/rebootmgrd.c 2018-03-28 12:53:48.000000000 +0200 @@ -1,5 +1,5 @@ -/* Copyright (c) 2016, 2017 Thorsten Kukuk +/* Copyright (c) 2016, 2017, 2018 Thorsten Kukuk Author: Thorsten Kukuk <ku...@suse.com> This program is free software; you can redistribute it and/or modify @@ -131,9 +131,10 @@ return NULL; } - /* check, if we are still inside the maintenance window. Else - cancel reboot */ - if (ctx->maint_window_start != NULL) + /* Check, if we are still inside the maintenance window. Else + cancel reboot. But only if we are not in fast mode. */ + if (ctx->reboot_order != RM_REBOOTORDER_FAST && + ctx->maint_window_start != NULL) { int r; usec_t curr = now(CLOCK_REALTIME); @@ -148,7 +149,7 @@ log_msg (LOG_ERR, "ERROR: Internal error converting the timer: %s", g_strerror (-r)); ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED; - return NULL; + goto reboot_canceld; } if (curr < next || curr > next + duration) @@ -157,12 +158,14 @@ log_msg (LOG_ERR, "ERROR: getting etcd lock took too long, reboot canceld"); ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED; - return NULL; + goto reboot_canceld; } } reboot_now (ctx); - /* if we end here, reboot was canceld */ + + reboot_canceld: + /* If we end here, reboot was canceld. Free Lock */ if (etcd_release_lock (ctx->lock_group, NULL) != 0) { log_msg (LOG_ERR, "ERROR: cannot remove old reboot lock from etcd!"); Binary files old/rebootmgr-0.16/tests/test-calendarspec and new/rebootmgr-0.17/tests/test-calendarspec differ Binary files old/rebootmgr-0.16/tests/test-etcd and new/rebootmgr-0.17/tests/test-etcd differ Binary files old/rebootmgr-0.16/tests/test-json and new/rebootmgr-0.17/tests/test-json differ Binary files old/rebootmgr-0.16/tests/test-parse-duration and new/rebootmgr-0.17/tests/test-parse-duration differ