From unknown Mon Aug 18 08:56:08 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#42479 <42479@debbugs.gnu.org> To: bug#42479 <42479@debbugs.gnu.org> Subject: Status: [PATCH] services: Add 'unattended-upgrade-service-type'. Reply-To: bug#42479 <42479@debbugs.gnu.org> Date: Mon, 18 Aug 2025 15:56:08 +0000 retitle 42479 [PATCH] services: Add 'unattended-upgrade-service-type'. reassign 42479 guix-patches submitter 42479 Ludovic Court=C3=A8s severity 42479 normal tag 42479 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 22 14:25:26 2020 Received: (at submit) by debbugs.gnu.org; 22 Jul 2020 18:25:26 +0000 Received: from localhost ([127.0.0.1]:42992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyJQk-0001cz-4n for submit@debbugs.gnu.org; Wed, 22 Jul 2020 14:25:26 -0400 Received: from lists.gnu.org ([209.51.188.17]:38404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyJQh-0001cq-UM for submit@debbugs.gnu.org; Wed, 22 Jul 2020 14:25:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36780) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jyJQh-0004Uy-Mz for guix-patches@gnu.org; Wed, 22 Jul 2020 14:25:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53794) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jyJQg-0005ey-Qx; Wed, 22 Jul 2020 14:25:22 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=59752 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jyJQf-0004uh-IH; Wed, 22 Jul 2020 14:25:22 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH] services: Add 'unattended-upgrade-service-type'. Date: Wed, 22 Jul 2020 20:25:14 +0200 Message-Id: <20200722182514.7835-1-ludo@gnu.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/services/admin.scm (): New record type. (%unattended-upgrade-log-file): New variable. (unattended-upgrade-mcron-jobs, unattended-upgrade-log-rotations): New procedures. (unattended-upgrade-service-type): New variable. * doc/guix.texi (Service Reference): Add 'provenance-service-type' anchor. (Unattended Upgrades): New section. --- doc/guix.texi | 113 +++++++++++++++++++++++++++++++++ gnu/services/admin.scm | 140 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 251 insertions(+), 2 deletions(-) Hi! So here’s a still somewhat experimental unattended upgrade service, as a followup to . Let me know what you think! Ludo’. diff --git a/doc/guix.texi b/doc/guix.texi index 8696a9b554..24cf7bdd6c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12908,6 +12908,7 @@ declaration. * Scheduled Job Execution:: The mcron service. * Log Rotation:: The rottlog service. * Networking Services:: Network setup, SSH daemon, etc. +* Unattended Upgrades:: Automated system upgrades. * X Window:: Graphical display. * Printing Services:: Local and remote printer support. * Desktop Services:: D-Bus and desktop services. @@ -15278,6 +15279,117 @@ Use this to add additional options and manage shared secrets out-of-band. @end table @end deftp +@node Unattended Upgrades +@subsection Unattended Upgrades + +@cindex unattended upgrades +@cindex upgrades, unattended +Guix provides a service to perform @emph{unattended upgrades}: +periodically, the system automatically reconfigures itself from the +latest Guix. Guix System has several properties that make unattended +upgrades safe: + +@itemize +@item +upgrades are transactional (either the upgrade succeeds or it fails, but +you cannot end up with an ``in-between'' system state); +@item +the upgrade log is kept---you can view it with @command{guix system +list-generations}---and you can roll back to any previous generation, +should the upgraded system fail to behave as intended; +@item +channel code is authenticated so you know you can only run genuine code +(@pxref{Channels}); +@item +@command{guix system reconfigure} prevents downgrades, which makes it +immune to @dfn{downgrade attacks}. +@end itemize + +To set up unattended upgrades, add an instance of +@code{unattended-upgrade-service-type} like the one below to the list of +your operating system services: + +@lisp +(service unattended-upgrade-service-type) +@end lisp + +The defaults above set up weekly upgrades: every Sunday at midnight. +You do not need to provide the operating system configuration file: it +uses @file{/run/current-system/configuration.scm}, which ensures it +always uses your latest configuration---@pxref{provenance-service-type}, +for more information about this file. + +There are several things that can be configured, in particular the +periodicity and services (daemons) to be restarted upon completion. +When the upgrade is successful, the service takes care of deleting +system generations older that some threshold, as per @command{guix +system delete-generations}. See the reference below for details. + +To ensure that upgrades are actually happening, you can run +@command{guix system describe}. To investigate upgrade failures, visit +the unattended upgrade log file (see below). + +@defvr {Scheme Variable} unattended-upgrade-service-type +This is the service type for unattended upgrades. It sets up an mcron +job (@pxref{Scheduled Job Execution}) that runs @command{guix system +reconfigure} from the latest version of the specified channels. + +Its value must be a @code{unattended-upgrade-configuration} record (see +below). +@end defvr + +@deftp {Data Type} unattended-upgrade-configuration +This data type represents the configuration of the unattended upgrade +service. The following fields are available: + +@table @asis +@item @code{schedule} (default: @code{"30 01 * * 0"}) +This is the schedule of upgrades, expressed as a gexp containing an +mcron job schedule (@pxref{Guile Syntax, mcron job specifications,, +mcron, GNU@tie{}mcron}). + +@item @code{channels} (default: @code{#~%default-channels}) +This gexp specifies the channels to use for the upgrade +(@pxref{Channels}). By default, the tip of the official @code{guix} +channel is used. + +@item @code{services-to-restart} (default: @code{'(mcron)}) +This field specifies the Shepherd services to restart when the upgrade +completes. + +Those services are restarted right away upon completion, as with +@command{herd restart}, which ensures that the latest version is +running---remember that by default @command{guix system reconfigure} +only restarts services that are not currently running, which is +conservative: it minimizes disruption but leaves outdated services +running. + +By default, the @code{mcron} service is restarted. This ensures that +the latest version of the unattended upgrade job will be used next time. + +@item @code{system-expiration} (default: @code{(* 3 30 24 3600)}) +This is the expiration time in seconds for system generations. System +generations older that this amount of time are deleted with +@command{guix system delete-generations} when an upgrade completes. + +@quotation Note +The unattended upgrade service does not run the garbage collector. You +will probably want to set up your own mcron job to run @command{guix gc} +periodically. +@end quotation + +@item @code{maximum-duration} (default: @code{3600}) +Maximum duration in seconds for the upgrade; past that time, the upgrade +aborts. + +This is primarily useful to ensure the upgrade does not end up +rebuilding or re-downloading ``the world''. + +@item @code{log-file} (default: @code{"/var/log/unattended-upgrade.log"}) +File where unattended upgrades are logged. +@end table +@end deftp + @node X Window @subsection X Window @@ -29547,6 +29659,7 @@ extend it by passing it lists of packages to add to the system profile. @end defvr @cindex provenance tracking, of the operating system +@anchor{provenance-service-type} @defvr {Scheme Variable} provenance-service-type This is the type of the service that records @dfn{provenance meta-data} in the system itself. It creates several files under diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm index 89fa73920d..6ed3de9423 100644 --- a/gnu/services/admin.scm +++ b/gnu/services/admin.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jan Nieuwenhuizen -;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2020 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. @@ -20,10 +20,13 @@ (define-module (gnu services admin) #:use-module (gnu packages admin) + #:use-module (gnu packages certs) + #:use-module (gnu packages package-management) #:use-module (gnu services) #:use-module (gnu services mcron) #:use-module (gnu services shepherd) #:use-module (guix gexp) + #:use-module (guix modules) #:use-module (guix packages) #:use-module (guix records) #:use-module (srfi srfi-1) @@ -41,7 +44,17 @@ rottlog-configuration rottlog-configuration? rottlog-service - rottlog-service-type)) + rottlog-service-type + + unattended-upgrade-service-type + unattended-upgrade-configuration + unattended-upgrade-configuration? + unattended-upgrade-configuration-channels + unattended-upgrade-configuration-schedule + unattended-upgrade-configuration-services-to-restart + unattended-upgrade-configuration-system-expiration + unattended-upgrade-configuration-maximum-duration + unattended-upgrade-configuration-log-file)) ;;; Commentary: ;;; @@ -177,4 +190,127 @@ Old log files are removed or compressed according to the configuration.") rotations))))) (default-value (rottlog-configuration)))) + +;;; +;;; Unattended upgrade. +;;; + +(define-record-type* + unattended-upgrade-configuration make-unattended-upgrade-configuration + unattended-upgrade-configuration? + (schedule unattended-upgrade-configuration-schedule + (default "30 01 * * 0")) + (channels unattended-upgrade-configuration-channels + (default #~%default-channels)) + (services-to-restart unattended-upgrade-configuration-services-to-restart + (default '(mcron))) + (system-expiration unattended-upgrade-system-expiration + (default (* 3 30 24 3600))) + (maximum-duration unattended-upgrade-maximum-duration + (default 3600)) + (log-file unattended-upgrade-configuration-log-file + (default %unattended-upgrade-log-file))) + +(define %unattended-upgrade-log-file + "/var/log/unattended-upgrade.log") + +(define (unattended-upgrade-mcron-jobs config) + (define channels + (scheme-file "channels.scm" + (unattended-upgrade-configuration-channels config))) + + (define log + (unattended-upgrade-configuration-log-file config)) + + (define services + (unattended-upgrade-configuration-services-to-restart config)) + + (define expiration + (unattended-upgrade-system-expiration config)) + + (define code + (with-imported-modules (source-module-closure '((guix build utils) + (gnu services herd))) + #~(begin + (use-modules (guix build utils) + (gnu services herd) + (srfi srfi-19) + (srfi srfi-34)) + + (define log + (open-file #$log "a0")) + + (define (timestamp) + (date->string (time-utc->date (current-time time-utc)) + "[~4]")) + + (define (alarm-handler . _) + (format #t "~a time is up, aborting upgrade~%" + (timestamp)) + (exit 1)) + + (define-syntax-rule (with-logging exp ...) + (with-output-to-port log + (lambda () + (with-error-to-port log + (lambda () + exp ...))))) + + ;; 'guix time-machine' needs X.509 certificates to authenticate the + ;; Git host. + (setenv "SSL_CERT_DIR" + #$(file-append nss-certs "/etc/ssl/certs")) + + ;; Make sure the upgrade doesn't take too long. + (sigaction SIGALRM alarm-handler) + (alarm #$(unattended-upgrade-maximum-duration config)) + + (with-logging + (format #t "~a starting upgrade...~%" (timestamp)) + (guard (c ((invoke-error? c) + (report-invoke-error c))) + (invoke #$(file-append guix "/bin/guix") + "time-machine" "-C" #$channels + "--" "system" "reconfigure" + "/run/current-system/configuration.scm") + + ;; 'guix system delete-generations' fails when there's no + ;; matching generation. Thus, catch 'invoke-error?'. + (guard (c ((invoke-error? c) + (report-invoke-error c))) + (invoke #$(file-append guix "/bin/guix") + "system" "delete-generations" + #$(string-append (number->string expiration) + "s"))) + + (format #t "~a restarting services...~%" (timestamp)) + (for-each restart-service '#$services) + + ;; XXX: If 'mcron' has been restarted, perhaps this isn't + ;; reached. + (format #t "~a upgrade complete~%" (timestamp))))))) + + (define upgrade + (program-file "unattended-upgrade" code)) + + (list #~(job #$(unattended-upgrade-configuration-schedule config) + #$upgrade))) + +(define (unattended-upgrade-log-rotations config) + (list (log-rotation + (files + (list (unattended-upgrade-configuration-log-file config)))))) + +(define unattended-upgrade-service-type + (service-type + (name 'unattended-upgrade) + (extensions + (list (service-extension mcron-service-type + unattended-upgrade-mcron-jobs) + (service-extension rottlog-service-type + unattended-upgrade-log-rotations))) + (description + "Periodically upgrade the system from the current configuration.") + (default-value (unattended-upgrade-configuration)))) + ;;; admin.scm ends here -- 2.27.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 22 16:45:54 2020 Received: (at 42479) by debbugs.gnu.org; 22 Jul 2020 20:45:55 +0000 Received: from localhost ([127.0.0.1]:43131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyLcg-0005HU-Bk for submit@debbugs.gnu.org; Wed, 22 Jul 2020 16:45:54 -0400 Received: from mail-lf1-f42.google.com ([209.85.167.42]:37510) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyLcY-0005HC-Aa for 42479@debbugs.gnu.org; Wed, 22 Jul 2020 16:45:53 -0400 Received: by mail-lf1-f42.google.com with SMTP id s9so2080886lfs.4 for <42479@debbugs.gnu.org>; Wed, 22 Jul 2020 13:45:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=rH2XagsFMQVQVNATAVUiy4K7WtnT17duHB45iE2F+pQ=; b=RLj6GkORCkANN6Imd2wMZlcFuz0OkcHBreVd7cML3eUrOMbLcRU+j9n+d87RJYrzpW LP6/nN8vQWIA8v5RPe6Hb3x+9dirC5NghHJ7K2wSMDqn7iHKB2Nkrql0GaPd1uhUaNdT zO4WT8hPnMgI3Hx8ovCSAJhKBL6fMP/PwbqYh/wPFPNDNOva2lVQeLtUS4ANp85YT/Ju 6GPvP/gUmE7RwOv/RVDcHvQhAdpRINqq0rHqd8t+kQVpZQ6jVVX5XD47FIdlk1MKaBB2 fon0UaozBm1/BlfxkOB7KEtNKgFj7tMe1zLYUGEazgdOshDT/tzsKyNEPMPre5t6lLom I6wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=rH2XagsFMQVQVNATAVUiy4K7WtnT17duHB45iE2F+pQ=; b=KpwWt80Cv3kes7dMC+vzZwEPF6SsXXiMlsSWiXL8YJTop/RSODshvtVGmsbY6f1pZ0 saDUitn7CB0eJc6Siz2BNIfk8Y7KNbInmEvWp5xcbdIhts4eEb1ziHe++lRUFo6vT8TX DRR8Wwi8orfcMQvbmTveK3p2ssIb5cUvinbLWZMBw16ajbz4HbI9LOc80l1A7QSeo3+R 4lT/p8ntKL1YV/SzUmN4t356IOGaSQLRpa0OcymxNE2Gkz0Bt+fNjSaDoRNYRa8vBWxY R+cRXLBt7ZrsgheTGYCzUfi1NiN3cFTOOdYY59ncjnUlx7aXaIdk32440ic23C0ElX8C 7nzQ== X-Gm-Message-State: AOAM5323uq51gOknzpiXyPKyaMYXzWyQfKlaKTgcAWEzFHzNVwbDYgNU 0pLq8AWmVv5Lh54ZfAj53qcP1ZZJ X-Google-Smtp-Source: ABdhPJwDvX7FHM1hGtH4eWw+NmaybWMkI9GBA49Xj5DXGryHxXp9OVfoROoSn0bikWBntFes5wJUpw== X-Received: by 2002:a05:6512:3047:: with SMTP id b7mr559213lfb.110.1595450739791; Wed, 22 Jul 2020 13:45:39 -0700 (PDT) Received: from guixsd (ppp91-122-98-213.pppoe.avangarddsl.ru. [91.122.98.213]) by smtp.gmail.com with ESMTPSA id g9sm716051lfb.13.2020.07.22.13.45.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 13:45:38 -0700 (PDT) From: Oleg Pykhalov To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#42479] [PATCH] services: Add 'unattended-upgrade-service-type'. References: <20200722182514.7835-1-ludo@gnu.org> Date: Wed, 22 Jul 2020 23:45:35 +0300 In-Reply-To: <20200722182514.7835-1-ludo@gnu.org> ("Ludovic \=\?utf-8\?Q\?Cour\?\= \=\?utf-8\?Q\?t\=C3\=A8s\=22's\?\= message of "Wed, 22 Jul 2020 20:25:14 +0200") Message-ID: <87blk76zyo.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42479 Cc: 42479@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Ludovic Court=C3=A8s writes: [=E2=80=A6] > +@item @code{log-file} (default: @code{"/var/log/unattended-upgrade.log"}) > +File where unattended upgrades are logged. > +@end table > +@end deftp Maybe better /var/log/guix-unattended-upgrade.log similar to /var/log/guix-daemon.log and /var/log/guix-publish.log files? --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEcjhxI46s62NFSFhXFn+OpQAa+pwFAl8YpW8ACgkQFn+OpQAa +pxjrRAAkuFc6jnMFmWleAFLnc3SFSa70jhL6UcNudlqCFaSc7yQtYrqo4/a13eb +YhYLmadho6aBzijf6VNgjW4Fx9wZlp1+RTsRZEAMTiORcGSHpTnq3A4xYTEJbWg 7aI6YDO7eJ2HLTo4vHN1RQNuy/jObf1DHyi/HXQ4Dx5O2GNnyBOMwPHdXy6LVeKn yPWwxxqk86brA9OltyyOyGMepDR7+X+S/R3BGue8XLdg75HAqBhdQIqmJ+rODziG 05VPkltdgHn90FWubBIlny5KFqY0gOY/NaG7br9Yv++PYRihJ+NjpWk6uO6BJA7W 3VWKtfWlzJrSTB5oHreoZEqiSk0NE5RvyfrMU+xyOB6sFvEPuc6qyrWJVh5zBxut mgC+UAXywDjXheU7QeQ0x71hnPOWUHCRFnXqBWNo7TXUR2nNC1UBBH2t0caZkR// hbxugV0lOW5sKXOwgfdk1SJQPxlVhNl0F6Y6cjyysdnEJMDWWom37TfIOF4Sc1t4 WWljtnjZiGyBjbFqo87+uJcO61lEKTeV/A4tY7vW+RQwdHMbb1wL0txj9pbXbh+H +Krn+pBjfVJyGuWUDpMChXMZpTbM1OIF0docT4+0OdCQMpxfdf/3FUQpZa1wsFN7 wShEs8GhZjFU27IqddPyIvTlbpnL3bboI0D+IftXxMUNfKFWg0I= =t+T3 -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 22 17:46:39 2020 Received: (at 42479) by debbugs.gnu.org; 22 Jul 2020 21:46:39 +0000 Received: from localhost ([127.0.0.1]:43276 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyMZT-0006nF-Et for submit@debbugs.gnu.org; Wed, 22 Jul 2020 17:46:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34586) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyMZR-0006mz-BA for 42479@debbugs.gnu.org; Wed, 22 Jul 2020 17:46:37 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56753) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jyMZM-0007w4-1F; Wed, 22 Jul 2020 17:46:32 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=59930 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jyMZL-0001l8-HT; Wed, 22 Jul 2020 17:46:31 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Oleg Pykhalov Subject: Re: [bug#42479] [PATCH] services: Add 'unattended-upgrade-service-type'. References: <20200722182514.7835-1-ludo@gnu.org> <87blk76zyo.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 5 Thermidor an 228 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 22 Jul 2020 23:46:29 +0200 In-Reply-To: <87blk76zyo.fsf@gmail.com> (Oleg Pykhalov's message of "Wed, 22 Jul 2020 23:45:35 +0300") Message-ID: <878sfbgr4a.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42479 Cc: 42479@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Oleg, Oleg Pykhalov skribis: > Ludovic Court=C3=A8s writes: > > [=E2=80=A6] > >> +@item @code{log-file} (default: @code{"/var/log/unattended-upgrade.log"= }) >> +File where unattended upgrades are logged. >> +@end table >> +@end deftp > > Maybe better /var/log/guix-unattended-upgrade.log similar to > /var/log/guix-daemon.log and /var/log/guix-publish.log files? The service is called =E2=80=9Cunattended-upgrade=E2=80=9D so I thought it = was appropriate (likewise, =E2=80=9Cguix-daemon=E2=80=9D and =E2=80=9Cguix-publ= ish=E2=80=9D are also the name of the service). WDYT? (In fact, I think syslog would be better, but that=E2=80=99ll be for another day=E2=80=A6) Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 25 13:05:32 2020 Received: (at 42479) by debbugs.gnu.org; 25 Jul 2020 17:05:33 +0000 Received: from localhost ([127.0.0.1]:51039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jzNc4-0006GH-MI for submit@debbugs.gnu.org; Sat, 25 Jul 2020 13:05:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48132) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jzNc3-0006G5-F7 for 42479@debbugs.gnu.org; Sat, 25 Jul 2020 13:05:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47280) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jzNby-00030F-15; Sat, 25 Jul 2020 13:05:26 -0400 Received: from 84-52-226.102.3p.ntebredband.no ([84.52.226.102]:45192 helo=localhost) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jzNbw-0000VA-Lu; Sat, 25 Jul 2020 13:05:25 -0400 From: Marius Bakke To: Ludovic =?utf-8?Q?Court=C3=A8s?= , 42479@debbugs.gnu.org Subject: Re: [bug#42479] [PATCH] services: Add 'unattended-upgrade-service-type'. In-Reply-To: <20200722182514.7835-1-ludo@gnu.org> References: <20200722182514.7835-1-ludo@gnu.org> Date: Sat, 25 Jul 2020 19:05:07 +0200 Message-ID: <87blk3seyk.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42479 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > * gnu/services/admin.scm (): New > record type. > (%unattended-upgrade-log-file): New variable. > (unattended-upgrade-mcron-jobs, unattended-upgrade-log-rotations): New > procedures. > (unattended-upgrade-service-type): New variable. > * doc/guix.texi (Service Reference): Add 'provenance-service-type' anchor. > (Unattended Upgrades): New section. Wooohoooo. \o/ Very nice use of the time machine. I have nothing to add other than LGTM. :-) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8cZkMACgkQoqBt8qM6 VPoO3AgAtCESvQE/d52RVCissigChF8HjPHuIE23b4d2pj7xYNuGLpzWBJ1AaYVf g1mQU5EifgeyLGsWdI3UvzoTqxD1xQFnbFQzIZIllIM0j3dqTxj4bSjAaEKr3/+6 cO74yW9MW2fdQ3FdVy76fyXIVx9mzp4HU/lVhHSzBtS9pTUnTiXv85OCM5nU2VJo 3ylu34tbIR04O5Fr/wg3uQlPzcO6zhm8CY53Pnsu8OdgEjKUjPQ/UFAlS0/rcB5m mh5WWQIpd1nyQ3JqPBSclXOZITzhzIQd8bOOw1ajxnsfGA4ghY9aWroqA4aaHhmB MnFbI1m0dy6g488AS9LStwG1ocv1cQ== =m2Fs -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 27 06:42:15 2020 Received: (at 42479-done) by debbugs.gnu.org; 27 Jul 2020 10:42:15 +0000 Received: from localhost ([127.0.0.1]:54152 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k00aE-0001u8-VJ for submit@debbugs.gnu.org; Mon, 27 Jul 2020 06:42:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:49132) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k00aD-0001tw-GZ for 42479-done@debbugs.gnu.org; Mon, 27 Jul 2020 06:42:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:54949) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k00a7-0001xT-1Q for 42479-done@debbugs.gnu.org; Mon, 27 Jul 2020 06:42:07 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=39756 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1k00a6-00009x-5P; Mon, 27 Jul 2020 06:42:06 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Marius Bakke Subject: Re: [bug#42479] [PATCH] services: Add 'unattended-upgrade-service-type'. References: <20200722182514.7835-1-ludo@gnu.org> <87blk3seyk.fsf@gnu.org> Date: Mon, 27 Jul 2020 12:42:04 +0200 In-Reply-To: <87blk3seyk.fsf@gnu.org> (Marius Bakke's message of "Sat, 25 Jul 2020 19:05:07 +0200") Message-ID: <87ime9z1c3.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42479-done Cc: 42479-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Marius Bakke skribis: > Ludovic Court=C3=A8s writes: > >> * gnu/services/admin.scm (): New >> record type. >> (%unattended-upgrade-log-file): New variable. >> (unattended-upgrade-mcron-jobs, unattended-upgrade-log-rotations): New >> procedures. >> (unattended-upgrade-service-type): New variable. >> * doc/guix.texi (Service Reference): Add 'provenance-service-type' ancho= r. >> (Unattended Upgrades): New section. > > Wooohoooo. \o/ > > Very nice use of the time machine. I have nothing to add other than > LGTM. :-) Thanks, pushed as 79501f26ab6d82c0256ff786a5dfb0000b52ccd3! Ludo=E2=80=99. From unknown Mon Aug 18 08:56:08 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 24 Aug 2020 11:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator