Hello Guix!

1.0.0rc2 is available for testing!  Compared to 1.0.0rc1, it fixes bugs
reported by Attila, Florian, Jelle, and Thomas, and adds ‘herd spawn
transient’, inspired by Efraim’s ‘shepherd-run’.  Will it be the final
release candidate?  Maybe, we’ll see!

The tarball and signature are available at:

  https://alpha.gnu.org/gnu/shepherd/shepherd-1.0.0rc2.tar.gz
  SHA256: 316c9ba8ce63bd9b59b1ff59c0cb400799996c72140246b73516b31e5d5424db

  https://alpha.gnu.org/gnu/shepherd/shepherd-1.0.0rc2.tar.gz.sig

The tarball was built from v1.0.0rc2 (commit
6e740fbc4a48f6f41800e7ecfc312d6c99d3587b) and should be bit-for-bit
reproducible, hopefully for real this time (run “make dist” from
‘guix shell -CP’).


What’s new
==========

Check out the ‘NEWS’ file to see what you might enjoy:

  https://git.savannah.gnu.org/cgit/shepherd.git/tree/NEWS


How to test
===========

You could still a reference to the tarball above in your Guix checkout,
but the preferred way is probably to use Shepherd as a channel, as noted
in ‘README’:

The Shepherd repository can be used as a Guix “channel”.  To do that, change
~/.config/guix/channels.scm along these lines:

  (append (list (channel
                 (name 'shepherd)
                 (url "https://git.savannah.gnu.org/git/shepherd.git";;)
                 (branch "main")
                 (introduction
                  (make-channel-introduction
                   "788a6d6f1d5c170db68aa4bbfb77024fdc468ed3"
                   (openpgp-fingerprint
                    "3CE464558A84FDC69DB40CFB090B11993D9AEBB5")))))
          %default-channels)

Once that is done, run ‘guix pull’.  This will give you additional ‘shepherd’
packages with higher version numbers:

  guix package -A shepherd

You can then install it with ‘guix install shepherd’, or e.g. use it in an
operating-system configuration:

  (operating-system
    ...
    (essential-services
     (modify-services (operating-system-default-essential-services
                       this-operating-system)
       (shepherd-root-service-type
        config =>
        (shepherd-configuration
         (inherit config)
         (shepherd (@ (shepherd-package) shepherd)))))))

To test with Guix Home:

  (home-environment
    (services
     (list (service home-shepherd-service-type
                    (home-shepherd-configuration
                      (shepherd (@ (shepherd-package) shepherd))))
           …)))


Testing the new services
========================

Among the highlights of 1.0.0 are the new ‘system-log’ and
‘log-rotation’ services.  Testing them requires more changes to your
config but feedback would be welcome!

First, you can define these two services in your Guix System config:

  (define system-log-service-type
    (shepherd-service-type
     'shepherd-system-log
     (const (shepherd-service
             (documentation "Shepherd's built-in system log (syslogd).")
             (provision '(system-log syslogd))
             (modules '((shepherd service system-log)))
             (free-form #~(system-log-service))))
     #t
     (description
      "Shepherd's built-in system log (syslogd).")))

  (define log-rotation-service
    (simple-service 'shepherd-log-rotation
                    shepherd-root-service-type
                    (list (shepherd-service
                           (provision '(log-rotation))
                           (modules '((shepherd service log-rotation)))
                           (free-form #~(log-rotation-service))))))

Then you can actually use one or both:

  (operating-system
    ;; …
    (services (cons* log-rotation-service
                     (service system-log-service-type)

                     ;; …

                     ;; Remove the currently-used syslogd service,
                     ;; now redundant.
                     (modify-services %desktop-services
                       (delete syslog-service-type)))))


Reporting bugs
==============

Please email bug-g...@gnu.org with “[Shepherd]” in the subject to report
bugs.


Translation
===========

Consider helping with translation of messages at
<https://translationproject.org/domain/shepherd.html>.


Thanks in advance.  :-)

Ludo’.

Attachment: signature.asc
Description: PGP signature

Reply via email to