[bug#77041,16/16] DRAFT news: Add entry for mcron deprecation.

Message ID 218d5ad8274680771591e5d940dcc7b7e7c0aafd.1742073920.git.ludo@gnu.org
State New
Headers
Series Replacing mcron jobs by Shepherd timers |

Commit Message

Ludovic Courtès March 15, 2025, 9:37 p.m. UTC
  * etc/news.scm: Add entry.

Change-Id: I7e096a8f137e20487f5dac5fca4ae5b05754f5cd
---
 etc/news.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)
  

Comments

pelzflorian (Florian Pelz) March 16, 2025, 9:31 a.m. UTC | #1
Thank you Ludo for not only transitioning Guix but also for
cleanups/refactoring here in this patch series.  Looks good to me mostly
but have not tested nor carefully checked the Scheme code.

For fstrim doc/guix.texi,
(type: shepherd-calendar-event) in the documentation might be better
expressed as “type: Shepherd calendar event”, as there is no
shepherd-calendar-event.

For fstrim, you also removed the quoting ' of lists:
-@item @code{listed-in} (default: @code{'("/etc/fstab" "/proc/self/mountinfo")}) (type: maybe-list-of-strings)
+@item @code{listed-in} (default: @code{("/etc/fstab" "/proc/self/mountinfo")}) (type: maybe-list-of-strings)

I still prefer quoting, as users need the quote in their configuration
files.

For [PATCH 15/16] services: mcron: Deprecate.
I spot one typo / missing “instead of” in doc/guix.texi:
+Please use the Shepherd instead mcron.

Could you add the following German translation:
(entry (commit "XXX")
        (title
         (en "Scheduled job execution with mcron superseded by Shepherd
timers")
         (de "Geplante Auftragsausführung mit mcron abgelöst durch
Shepherd-Timer"))
        (body
         (en "On Guix System and Guix Home, scheduled job execution with the
mcron package is deprecated; @code{mcron-service-type} and
@code{home-mcron-service-type} are slated for removal after 2026-04-01.

As a replacement for mcron jobs, you can use Shepherd timers---a feature that
appeared in version 1.0 of the Shepherd.  Run @command{info \"(guix) Scheduled
Job Execution\"} for more information on how to transition.")
         (de "Auf Guix System und Guix Home gilt geplante Auftragsausführung
mit dem mcron-Paket als veraltet.  Es ist vorgesehen, @code{mcron-service-type}
und @code{home-mcron-service-type} nach dem 01.04.2026 zu entfernen.

Als Ersatz für mcron-Aufträge können Sie auf Shepherd-Timer umsteigen – diese
Funktion ist seit Shepherds Version 1.0 verfügbar.  Führen Sie
@command{info \"(guix.de) Geplante Auftragsausführung\"} aus, um weitere
Informationen zum Umstieg zu bekommen.")))
Regards,
Florian
  
Maxim Cournoyer March 16, 2025, 12:11 p.m. UTC | #2
Hi Ludovic,

Ludovic Courtès <ludo@gnu.org> writes:

> * etc/news.scm: Add entry.
>
> Change-Id: I7e096a8f137e20487f5dac5fca4ae5b05754f5cd
> ---
>  etc/news.scm | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/etc/news.scm b/etc/news.scm
> index 8e37bc8bec..368bdb567a 100644
> --- a/etc/news.scm
> +++ b/etc/news.scm
> @@ -37,6 +37,19 @@
>  (channel-news
>   (version 0)
>  
> + (entry (commit "XXX")
> +        (title
> +         (en "Scheduled job execution with mcron superseded by Shepherd
> +timers"))
> +        (body
> +         (en "On Guix System and Guix Home, scheduled job execution with the
> +mcron package is deprecated; @code{mcron-service-type} and
> +@code{home-mcron-service-type} are slated for removal after 2026-04-01.
> +
> +As a replacement for mcron jobs, you can use Shepherd timers---a feature that
> +appeared in version 1.0 of the Shepherd.  Run @command{info \"(guix) Scheduled
> +Job Execution\"} for more information on how to transition.")))
> +

I'd turn this into a soft-deprecation: document Shepherd timers as the
preferred alternative to use in most scenarios such as when authoring
Guix System or home services,, but leave otherwise leave the
mcron-service-type and home-mcron-service-type services be.
  
Ludovic Courtès March 16, 2025, 5:11 p.m. UTC | #3
Hi Florian,

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> skribis:

> Thank you Ludo for not only transitioning Guix but also for
> cleanups/refactoring here in this patch series.  Looks good to me mostly
> but have not tested nor carefully checked the Scheme code.

Thanks!

> For fstrim doc/guix.texi,
> (type: shepherd-calendar-event) in the documentation might be better
> expressed as “type: Shepherd calendar event”, as there is no
> shepherd-calendar-event.
>
> For fstrim, you also removed the quoting ' of lists:
> -@item @code{listed-in} (default: @code{'("/etc/fstab" "/proc/self/mountinfo")}) (type: maybe-list-of-strings)
> +@item @code{listed-in} (default: @code{("/etc/fstab" "/proc/self/mountinfo")}) (type: maybe-list-of-strings)

This was generated by:

  (configuration->documentation 'fstrim-configuration)

I was surprised also by the lack of quote but I suspected this had been
discussed before and implemented in ‘define-configuration’.  If not, we
should report a bug for that.

I took note of the other issues you reported and will fix them for v2.

Ludo’.
  
Bruno Victal March 17, 2025, 3:43 a.m. UTC | #4
Hi Ludo’,

On 2025-03-16 17:11, Ludovic Courtès wrote:
> "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> skribis:
>>
>> For fstrim, you also removed the quoting ' of lists:
>> -@item @code{listed-in} (default: @code{'("/etc/fstab" "/proc/self/mountinfo")}) (type: maybe-list-of-strings)
>> +@item @code{listed-in} (default: @code{("/etc/fstab" "/proc/self/mountinfo")}) (type: maybe-list-of-strings)
> 
> This was generated by:
> 
>   (configuration->documentation 'fstrim-configuration)
> 
> I was surprised also by the lack of quote but I suspected this had been
> discussed before and implemented in ‘define-configuration’.  If not, we
> should report a bug for that.

You didn't do anything wrong, this is a current bug/limitation of
configuration->documentation, I added those quotes manually when I
generated the documentation for that service.
  

Patch

diff --git a/etc/news.scm b/etc/news.scm
index 8e37bc8bec..368bdb567a 100644
--- a/etc/news.scm
+++ b/etc/news.scm
@@ -37,6 +37,19 @@ 
 (channel-news
  (version 0)
 
+ (entry (commit "XXX")
+        (title
+         (en "Scheduled job execution with mcron superseded by Shepherd
+timers"))
+        (body
+         (en "On Guix System and Guix Home, scheduled job execution with the
+mcron package is deprecated; @code{mcron-service-type} and
+@code{home-mcron-service-type} are slated for removal after 2026-04-01.
+
+As a replacement for mcron jobs, you can use Shepherd timers---a feature that
+appeared in version 1.0 of the Shepherd.  Run @command{info \"(guix) Scheduled
+Job Execution\"} for more information on how to transition.")))
+
  (entry (commit "41e62cb10c3049610dc854f1d3e9b91aebd73aed")
         (title
          (en "Removable devices now mount under @file{/run/media/$USER} instead of @file{/media}")