From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id OKKABBIaV2dNUwAAqHPOHw:P1 (envelope-from ) for ; Mon, 09 Dec 2024 16:25:54 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id OKKABBIaV2dNUwAAqHPOHw (envelope-from ) for ; Mon, 09 Dec 2024 17:25:54 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=Zcp7Vydq; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1733761554; a=rsa-sha256; cv=none; b=CmyIZ24ItuwCnvRtSiHSuTvQzDVJ0AqQ54/uUm4ZASOtOzwFUqZfQ8UnHpbxn/3PKrLcfJ gtB9ffDl4W3khzR/C2Exi8i5c1TCBUE1QvFpSigrq2M6Pxqa0l6HQ4z/wT56+1pBX0IhI/ AqmwpC4UWj+/+SSvUDC7eD9CZKhqeM8KWAsQaE6Xg6EMmO4yiXI7975L0MEFsasNpFAf+P T5ALxJCpt17kwLwxXQ9S3/XtGPUp006E44f6UeEWX0M4bkyeusUsqzJERpPVD6PQVjfyhv +2Xh/oz7qy4NGv3SssikJVUuOvypotBW+6wjAKJOfs8SOVOoQyzeZeh/2n3yOw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=Zcp7Vydq; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1733761554; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=dl+KqTqtVWwu8nCLMN3GWQSOy3dDoYTzwq5FjF5aQK8=; b=Ajo34OP8auhk4x243wTsQBOW7HY7IXxbkw4Ahu6+KhK70oxl241d/lpEgWnLD/LtuOlZ11 ZRSkJlUkiG1GFpHDb3kISWHei8fDzs7W3CDV1S8+BFZlU6n+wR9lUP8qlGzm3qyh1MbXwB uSM4n1cbDekLGCTRJNgGwtH5ndM7px5vPnAvkJcyS2YSTweq9s3YxP9cr1oV80TnnGeqmA kLYdw9J6VocGi4dzAli4eAuHwwLe1mXukMJ0RWwVWA1hORcojJICDD31hhgL825h01lyi2 fQobUgjclTXl4bahWhTrtnMhe6JlxlR1OINPbej6uP1m3fALBDYpgqP7B0oD+Q== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A41B48B5C5 for ; Mon, 09 Dec 2024 17:25:53 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tKgZb-0008No-NH; Mon, 09 Dec 2024 11:25:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tKgZY-0008EF-S0; Mon, 09 Dec 2024 11:25:25 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tKgZY-0003DD-Ge; Mon, 09 Dec 2024 11:25:24 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=dl+KqTqtVWwu8nCLMN3GWQSOy3dDoYTzwq5FjF5aQK8=; b=Zcp7VydqP53v1p eaWQ+pjLHe8HAVBDlz7SGBbs0DAHSF9OsW3LJMzKh2+YdQ9D5GSXS5bl0JET0ZkzUYrdNti395M+E vR7NM54U91hTzzwhchf5XhxAIb3CEFuTZXp8M8lfFLfBr9Ii3ytRpoYPOsmjtn0s0b2G2/1c8/jKM k+wIlPdHgenslW0io837KOMJ7QMTTT6bc6ZfXG8dLJWRxLMnb0uoM43mkqGPvyzbeClTG0Vj6xBXw RdjPPSi1J3YPfUfn/wvswF2osdMeRBx3jGNmU+XoCby6KQqoV4mCCzmfDIiwBD+MFRqAxq62tHhV6 hfj8h4j/MXSiRxOh7Sow==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: guix-devel@gnu.org, guile-sources@gnu.org, guile-user@gnu.org, info-gnu@gnu.org Subject: GNU Shepherd 1.0.0 released Mail-Followup-To: guix-devel@gnu.org X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Nonidi 19 Frimaire an 233 de la =?utf-8?Q?R=C3=A9vol?= =?utf-8?Q?ution=2C?= jour de la Sabine 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: Mon, 09 Dec 2024 17:25:15 +0100 Message-ID: <87ttbcn7ro.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -9.57 X-Spam-Score: -9.57 X-Migadu-Queue-Id: A41B48B5C5 X-Migadu-Scanner: mx10.migadu.com X-TUID: zRD+IsKOjjTS --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable We are thrilled to announce version 1.0.0 of the Shepherd, no less than twenty-one years after its initial alpha release! We believe Shepherd has become a solid tool, meeting the kind of user experience one has come to expect since systemd. Check out the web site to learn more: https://gnu.org/software/shepherd/news/2024/12/the-shepherd-1.0.0-release= d/ =E2=80=A2 About The Shepherd is a service manager written in Guile that looks after the herd of daemons running on the system. It can be used as an =E2=80=9Cinit=E2=80=9D system (PID 1) and also by unprivileged users to m= anage per-user daemons=E2=80=94e.g., gpg-agent, tor, privoxy. It supports seve= ral daemon startup mechanisms, including inetd, systemd-style socket activation, and timers. The Shepherd is configured in Guile Scheme and can be extended in the same language. It builds on a simple memory-safe and callback-free programming model. The Shepherd is developed jointly with the GNU Guix project; it is used as the init system of Guix System and service manager of Guix Home. https://www.gnu.org/software/shepherd/ =E2=80=A2 Download Here are the compressed sources and a GPG detached signature: https://ftp.gnu.org/gnu/shepherd/shepherd-1.0.0.tar.gz https://ftp.gnu.org/gnu/shepherd/shepherd-1.0.0.tar.gz.sig Here are the SHA1 and SHA256 checksums: bc9dc75b3b79e8a9dc26e50c02479ae7f59ebd3d shepherd-1.0.0.tar.gz e8e6af33b02790cc0a5480d759a4211a86d141d073acd3c9346b4cf010ed9e7c sheph= erd-1.0.0.tar.gz Verify the integrity of the tarball with =E2=80=98cksum -a sha256 --check= =E2=80=99. Authenticate the code by downloading the corresponding .sig file: gpg --verify shepherd-0.10.5.tar.gz.sig The signing key can be retrieved with: gpg --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5 As a last resort to find the key, you can try the official GNU keyring: wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg gpg --keyring gnu-keyring.gpg --verify shepherd-0.10.5.tar.gz.sig This tarball was bootstrapped with the following tools: Autoconf 2.71 Automake 1.16.5 Gettext 0.21 Makeinfo 7.1.1 It is bit-for-bit reproducible from a checkout of the =E2=80=98v1.0.0=E2= =80=99 tag of the Git repository. =E2=80=A2 Changes since version 0.10.5 ** =E2=80=98herd status SERVICE=E2=80=99 shows high-level info about serv= ices In previous version, =E2=80=98herd status SERVICE=E2=80=99 would print th= e =E2=80=9Crunning value=E2=80=9D of SERVICE: an integer denoting the PID of its main process, or a socket for inetd or systemd services. The output is now clearer, showing the =E2=80=9Cmain PID=E2=80=9D, listen= ing endpoints, and so on. ** =E2=80=98herd status SERVICE=E2=80=99 shows recently logged messages a= nd log files The command now lists recently-logged messages (choose the number of mess= ages shown with the =E2=80=98-n=E2=80=99 option) as well as the file(s) it is = logged to, if any. ** =E2=80=98herd status SERVICE=E2=80=99 shows custom actions When a service defines custom actions, these actions are now shown direct= ly in =E2=80=98herd status SERVICE=E2=80=99, making it easier to discover them. ** =E2=80=98herd status SERVICE=E2=80=99 shows whether a replacement is a= vailable When a replacement is available for a service, this is now shown in the o= utput of =E2=80=98herd status SERVICE=E2=80=99. Run =E2=80=98herd restart SERV= ICE=E2=80=99 to upgrade it and install the replacement in its stead. ** =E2=80=98herd status root=E2=80=99 shows information about the =E2=80= =98root=E2=80=99 service itself It used to be that =E2=80=98herd status=E2=80=99 was synonymous with =E2= =80=98herd status root=E2=80=99 and both would show the status of all registered services. This is no longer= the case: =E2=80=98herd status root=E2=80=99 now shows information about the = =E2=80=98root=E2=80=99 service itself, including recently-logged messages. ** Support for timed services The new =E2=80=98make-timer-constructor=E2=80=99 procedure lets you defin= e a service that runs periodically=E2=80=94e.g., every day at noon, every Sunday at 10PM. The = resulting service can be started, stopped, and triggered; it has its output logged = like any other service. It is comparable to the venerable cron and its varian= ts but hopefully much more convenient to use. See =E2=80=9CTimers=E2=80=9D = in the manual. ** New log rotation service The =E2=80=98log-rotation=E2=80=99 service defined in (shepherd service l= og-rotation) defines a simple log rotation service, similar to the venerable rottlog and logro= tate programs, which periodically compresses, moves around, and eventually del= etes old log files. See =E2=80=9CLog Rotation Service=E2=80=9D in the manual = for details. ** New system log service The =E2=80=98system-log=E2=80=99 service is a substitute for good=E2=80= =99ol =E2=80=98syslogd=E2=80=99: it listens for messages written by applications on the /dev/log Unix-domain socket and dispatches them to log files according to administrator-provided rules. See =E2=80=9CSystem Log=E2=80=9D in the manual. ** New timer service The venerable =E2=80=98at=E2=80=99 command, to request the delayed execut= ion of a command, also got a replacement in the form of the =E2=80=98timer=E2=80=99 service= . See =E2=80=9CTimers=E2=80=9D in the manual. ** New transient service maker The new service called =E2=80=98transient=E2=80=99 lets you run commands = in the background, and it does so by wrapping them in transient services. It is similar in spirit to =E2=80=98systemd-run=E2=80=99. See =E2=80=9CTransient Service = Maker=E2=80=9D in the manual. ** Linux kexec support On GNU/Linux, the =E2=80=98root=E2=80=99 service has a new =E2=80=98kexec= =E2=80=99 action that can be invoked with the =E2=80=98reboot -k=E2=80=99 command; it reboots straight into a = new kernel previously loaded with the =E2=80=98kexec -l IMAGE=E2=80=99 command. See =E2=80=9CI= nvoking reboot=E2=80=9D in the manual. ** =E2=80=98shepherd=E2=80=99 honors =E2=80=98--silent=E2=80=99 Previously the =E2=80=98--silent=E2=80=99 option of =E2=80=98shepherd=E2= =80=99 was, well, silently ignored. This is no longer the case. ** =E2=80=98shepherd=E2=80=99 now logs deprecation warnings Using deprecated interfaces leads to warnings that are now logged by shep= herd and visible in its log file. ** GOOPS The GOOPS programming interface of shepherd, which was deprecated in 0.10= .x, is now gone. See =E2=80=9CLegacy GOOPS Interface=E2=80=9D for more infor= mation. ** Reproducible source tarball The =E2=80=98shepherd-1.0.0.tar.gz=E2=80=99 file distributed at ftp.gnu.o= rg is now bit-for-bit reproducible from the corresponding Git tag. This was prompted by vulnerabilities that propped up in the XZ package in April 2024 (CVE-2024-3094); code itself borrows from what Janneke Nieuwenhuizen did = for Guix. ** Updated requirements: Guile, gzip, zstd Guile 2.2 is no longer supported; Guile 3.0.x is required. The log rotation service can use the =E2=80=98gzip=E2=80=99 and =E2=80=98= zstd=E2=80=99 commands. Use the =E2=80=98--with-gzip=E2=80=99 and =E2=80=98--with-zstd=E2=80=99 configure= options to specify the file name of the commands to use. ** Translations This version is fully translated in German, Romanian, Swedish, and Ukrani= an; it is partially translated in eight other languages. Check out https://translationproject.org/domain/shepherd.html to help translate it = into your language! Please report bugs to bug-guix@gnu.org. Join guix-devel@gnu.org for discussions. Ludovic, on behalf of the Shepherd herd. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJBBAEBCgArFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAmdXGesNHGx1ZG9AZ251 Lm9yZwAKCRAJCxGZPZrrtaFAD/9zUiDWaR8D14oF7wMbC6qKzka/I5HSdtdzFi+e Z/8Q+FwtPLNg8/glYtG6HI/IMEiR1vPzqT8UiG1U2ioQF2QXFvmme/Btodk2tqSK n2vEJtwe1RoEXIsOdPq2uJkuBnd9NZh+3A8K9jeLK8Pg1qk0zhKTEc9fo8yHgJ1l KEHOqDjUr7hKgcW2ic4HaLiPF8c9iewbaw17apSmS/WdMRUndMosnZRDnPKIVw9i MeLgmkXAE3K4NWu5qUyMaiievnzU5rY+Ty0SdSmahckLAL3Aun78OTQ6HsiqC5zp 1PZkYA3/G4Bcy8j/bJTW2STeu/8r271kmk/HjWikd1J4fhIgeRWodFj9BsWSWR7a d41QJsi+NwafE5HHMYHpmHaNYTdiHt7S0xhmm9znymG7HwxlWBwrchnzlUKT1XOf WNXloVREtOZT93XRkGeTlyDigIz69yObpuwSrGY+e/Fi64gvg0s9Sx66cYzuF3X4 ZM2JRs1urBWZ8A70SHM2PjLI789i8wRuksydwP1ZhpZ3Z7Wvj4dErUhP3va+Nubq Qp3o28+cIQBYTPjsYeEzLytSfug3CAZ0ku1BXQTSAJPS2qSTvXsI0wnk58WxTmE3 34fCWQTk0zJuvk1XBvYHX8e2l5pvfPKmfgBtpbq7LEXNTfjDyWp8909h03W6zfo6 5lma6w== =Jb0l -----END PGP SIGNATURE----- --=-=-=--