From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:5f26::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id 0BU4GcKwmmW3AQAAkFu2QA (envelope-from ) for ; Sun, 07 Jan 2024 15:10:10 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id 6LQgFcKwmmV9fgEAqHPOHw (envelope-from ) for ; Sun, 07 Jan 2024 15:10:10 +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=AqgB367e; 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"; dmarc=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1704636610; 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=mdMcxduikFsBSsRTxX3Gy0Bc+rUiPuxxCjFXiFgmfEk=; b=UdGqVlT9ABoVQSF8EUOUAMCEmAh/I9noWdE3xjiJMQJc9hQOAUUJX5j/CmJJ1TFGa9yfEi W6b+HCnTFawMiN4msUI95A0wMmePv4BXkCXtejpJ5MX9T+cCrRPR6kEtRK91r7zpZKBF8z gEEp5OOPwe9gJ/ynfcj6ikx+pVbd0BAKrbBcPq5tOGjYCj67O63k17c+BYe6RYtVBg647D qVdKYZn3vr9N+OW7kQTu0YR0mI7rVnjL24Bj6Frdg06v04n48n1gptAaxqlFJKbr3uQO91 vCxZ+gQS2Yc2w3NIqYgVc8zbc0c0JaQmAcdSkx7DTWEQ+fGe01bv7glrnPP9UQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=AqgB367e; 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"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1704636610; a=rsa-sha256; cv=none; b=uw2qdnSGihymQ30m5OrLi5qs7TanZY3aUtcn0Q11iLo5OTU9C1iupJgBTOvnirvzdEDY1c 7U4DvdgzdYv1FtpfAh6A1fFy87oKQNRUBozeoQaw3VkCulGkzn62gIw6lqrIOVo7lOAa0/ dRO6K905zm0xZprDr7izo6u9fMob+O6pBCGT/TU+lqFYokprtAoXSQiD/+IWXpbmK6sUED bh37jkoqTq18bSH2g5RDqEwkJOIgyjHM9y0sxwh4ttSAIZr83/yCfps0qAWDoyWfiiOy9z yEPk0+0rDgFdOh087rVMHtcfT/jrbCL45sHnsalBQaLKw1t9mKySRcEOA8brjA== 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 DD54E3A618 for ; Sun, 7 Jan 2024 15:10:09 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rMTpt-00012Y-NF; Sun, 07 Jan 2024 09:09:09 -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 1rMTpr-000120-Df; Sun, 07 Jan 2024 09:09:07 -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 1rMTpr-0007OP-4K; Sun, 07 Jan 2024 09:09:07 -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=mdMcxduikFsBSsRTxX3Gy0Bc+rUiPuxxCjFXiFgmfEk=; b=AqgB367e1v9UDQ MX9J+OLfUzbVt4z6g7A6zo7EJ0BFb0rZO47z795GE/YaouFSP1Zm3MkL0hex7Lb3tTvNGiBCT4y/a ouhtPkM06TGRzbIc1g6izXgeioEREUVmFtuW5yFR4U79NI1AjwUe3ciLImFJBBYONr7BjL+x6+J4l NrDbFs8x9LjiCLGS6wEPGSqqgxY+Hh4rbK7APxvWXr/+RtbG+p39f9hq7Wfl8E9NFhEHfaTvd4uao Wpo1wu1ptdUmeJydymk6SWqqe0htqZsgyy4GvO/4Ip/MvieaJd1NtEULOUnz6jqGiVmEpASOJ0IYF ooLcDYoPcrFeTDxuxY5Q==; 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 0.10.3 released Mail-Followup-To: guix-devel@gnu.org X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Octidi 18 =?utf-8?Q?Niv=C3=B4se?= an 232 de la =?utf-8?Q?R=C3=A9volution=2C?= jour de la Pierre =?utf-8?Q?=C3=A0?= chaux 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: Sun, 07 Jan 2024 15:08:59 +0100 Message-ID: <87sf39ck1w.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-Scanner: mx13.migadu.com X-Migadu-Spam-Score: -10.79 X-Spam-Score: -10.79 X-Migadu-Queue-Id: DD54E3A618 X-TUID: K7nOUh36yA/P --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable We are pleased to announce the GNU Shepherd version 0.10.3, a bug-fix release of the new 0.10.x series, representing 51 commits over 6 months. The 0.10.x series is a major overhaul towards 1.0, addressing shortcomings and providing new features that help comprehend system state. =E2=80=A2 About The GNU 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., tor, privoxy, mcron. It supports several daemon startup mechanisms, including inetd and systemd-style socket activation. The GNU 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 GNU Shepherd is developed jointly with the GNU Guix project; it is used as the init system of Guix, GNU=E2=80=99s advanced GNU/Linux distrib= ution. 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-0.10.3.tar.gz https://ftp.gnu.org/gnu/shepherd/shepherd-0.10.3.tar.gz.sig Use a mirror for higher download bandwidth: https://ftpmirror.gnu.org/shepherd/shepherd-0.10.3.tar.gz https://ftpmirror.gnu.org/shepherd/shepherd-0.10.3.tar.gz.sig Here are the SHA1 and SHA256 checksums: aac0f3f11245fca5b13119dc8e25d366fc53df23 shepherd-0.10.3.tar.gz jsb+vrAwu1LoTGI/ECnKccLCElFRVhxZFF2qbjuFr+8 shepherd-0.10.3.tar.gz The SHA256 checksum is base64 encoded, instead of the hexadecimal encoding that most checksum tools default to. Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify shepherd-0.10.3.tar.gz.sig The signature should match the fingerprint of the following key: pub rsa4096 2014-08-11 [SC] 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 uid [ unknown] Ludovic Court=C3=A8s uid [ unknown] Ludovic Court=C3=A8s uid [ unknown] Ludovic Court=C3=A8s (Inria) If that command fails because you don't have the required public key, or that public key has expired, try the following commands to retrieve or refresh it, and then rerun the 'gpg --verify' command. 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.3.tar.gz.sig This release was bootstrapped with the following tools: Autoconf 2.71 Automake 1.16.5 Makeinfo 7.0.3 Help2man 1.49.2 =E2=80=A2 Changes since version 0.10.2 (excerpt from the NEWS file) ** Fix a bug that could lead shepherd to hang after loading replacements () After loading replacements with =E2=80=98herd load=E2=80=99 or =E2=80=98g= uix system reconfigure=E2=80=99, shepherd could eventually hang. Specifically, the replaced service would= no longer respond to messages, so it would be impossible to start it, to sto= p it, or to unload it. This is now fixed. ** Fix ownership and permissions on Unix-domain sockets () When using an AF_UNIX endpoint with systemd- and inetd-style services, the socket file itself would remain owned by root (when shepherd is running as root) with permissions 755. This is now fixed, with ownership set accord= ing to #:socket-owner and #:socket-group of the endpoint, and permissions on = the socket set to 666. Likewise, #:socket-directory-permissions was previously ignored when the socket=E2=80=99s directory already existed prior to creating the endpoint= , potentially leading to unexpectedly wide access to the socket. This is now fixed. ** New #:respawn-delay parameter to =E2=80=98service=E2=80=99 () This specifies a delay before a service is respawned. Its default value = is given by =E2=80=98default-respawn-delay=E2=80=99 and defaults to 100ms. = Until now, services were respawned immediately. ** Non-blocking =E2=80=98sleep=E2=80=99 replacement provided Until now, user code could call (@ (guile) sleep), the core Guile binding= for =E2=80=98sleep=E2=80=99, instead of =E2=80=98sleep=E2=80=99 as provided b= y (fibers). The former would have caused =E2=80=98shepherd=E2=80=99 to actually sleep for that time, instea= d of performing other on-going tasks. =E2=80=98sleep=E2=80=99 is now replaced by (@ (fibers) s= leep) to avoid that. ** Ensure termination of services that failed to produce a PID file When a service started with the #:pid-file argument of =E2=80=98make-forkexec-constructor=E2=80=99 or similar would fail to prod= uce its PID file, the process that was spawned would be sent SIGTERM. Now, it is additionally = sent SIGKILL after =E2=80=98default-process-termination-grace-period=E2=80=99 = has expired, as is the case when using =E2=80=98make-kill-destructor=E2=80=99. ** Do not accidentally wait for Linux kernel thread completion () In cases a PID file contained a bogus PID or one that=E2=80=99s only vali= d in a separate PID namespace, shepherd could end up waiting for the termination= of what=E2=80=99s actually a Linux kernel thread, such as PID 2 (=E2=80=9Ckt= hreadd=E2=80=9D). This situation is now recognized and avoided. ** Fix portability issues to GNU/Hurd Previous versions in the 0.10.x and 0.9.x series did not work on GNU/Hurd. This is now fixed, although some features are still implemented in a suboptimal way. ** Fix cross-compilation to non-Linux operating systems Since 0.10.2, when cross-compiling to systems such as GNU/Hurd, the value= of =E2=80=98SFD_CLOEXEC=E2=80=99 and =E2=80=98SFD_NONBLOCK=E2=80=99 in (shep= herd system) would be left undefined, leading to a type error when starting shepherd. This is now fixed. ** Updated translations: de, ro, sr, sv, uk This release is fully translated to German, Romanian, Swedish, and Ukrain= ian; partial translations are available for a dozen of languages. To help mak= e the Shepherd speak your language, check out the Translation Project: https://translationproject.org/domain/shepherd.html 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/cadtAz7CQsRmT2a67UFAmWasHsNHGx1ZG9AZ251 Lm9yZwAKCRAJCxGZPZrrtfkLD/9rYLHt+oZqzZoKII0eMKwr6hv8ubaFKHkTHO3e yeV2iOxyYY3HVDvd0uyCpSSMSFHgAcMmbHCV2ppJwOMCdPESEFwzQkNsGX4Vb/+e k6PxhcWt8162UizbpOwd83LV0FXtt71rwjup/Sc2COmV0/rRjy7AqNKohIvI94eI MO1IJhI9/C/uHYYyZDkQopzdghG1NXbdLv1fckPCDAmX2HQOe5Ya3KFA9SjwSg5T 9AsA2+c39VygKVFirJU8/EZH0JerL+QQOyUHOMvGBO7d/j6AGDUiJ+FA8aH7Cx7k CE6O7c5HTBsHyVCM/nXlE7wnpCMrUdaATBvDAnFXop+XjyyDV5iustuq87BHPd54 hHQw2CP1qPK3hWnDdXlPhsfGbb8xW2E/E54eIiB4ar2vwRTFtpgYt69hsh1ZGDnB 1VkPxIxeuaDtRWM7U5F0NJs+SCT9HZDL8+74DiJzkI9aIQC2997yWZ8GMSgTX2Ib UpckqRXtLD3Lv+vadLS2AeCy6VPu1Te0jEqoWpE2vNU2LuQyEPu2Ky6Kb8zVUu7G 7vGjc/nR0pVqYCN9AAQyOTZBE/XNjIy6Lv57g0OHJpuDU3cb0dR4nZDUROXTwEQB nvYfbnEcFmvX+5ml22uUDfdTUz45zpMXLgHzpIBdqY3mu8YBYfvePwZgmFd9VTox ljfNGg== =ALN3 -----END PGP SIGNATURE----- --=-=-=--