From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id eGvnEbNZqmJo1AAAbAwnHQ (envelope-from ) for ; Thu, 16 Jun 2022 00:14:11 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id CMQEEbNZqmIT9gAAG6o9tA (envelope-from ) for ; Thu, 16 Jun 2022 00:14:11 +0200 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 8A29C333D0 for ; Thu, 16 Jun 2022 00:14:10 +0200 (CEST) Received: from localhost ([::1]:36300 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o1bH6-000897-Mb for larch@yhetil.org; Wed, 15 Jun 2022 18:14:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43364) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1bGd-00088x-8z for guix-devel@gnu.org; Wed, 15 Jun 2022 18:13:39 -0400 Received: from albert.telenet-ops.be ([2a02:1800:110:4::f00:1a]:41866) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o1bGb-0004Vm-FH for guix-devel@gnu.org; Wed, 15 Jun 2022 18:13:39 -0400 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by albert.telenet-ops.be with bizsmtp id jaDZ270074UW6Th06aDZit; Thu, 16 Jun 2022 00:13:33 +0200 Message-ID: <1a4c97a64d2af3534d1ab0a7a9b3f8289fa58a1a.camel@telenet.be> Subject: Re: how to write services (was: Re: Teams) From: Maxime Devos To: Blake Shaw Cc: guix-devel@gnu.org Date: Thu, 16 Jun 2022 00:13:33 +0200 In-Reply-To: References: <87a6as62r2.fsf@elephly.net> <87ilpfwmi0.fsf@jpoiret.xyz> <877d5j5vng.fsf@trop.in> <87a666663179c883aaa1797b62c3bcb0084d3ebb.camel@gmail.com> <87bkuuyqf9.fsf@elephly.net> <6aca367bce796a4856ef583cc65bfae22d946691.camel@telenet.be> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-oTfIrqv1sFxn7A1ke/Bx" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1655331213; bh=jL5+0KA0G4+12p8lriVQi6p2YUqz0xM5iXWtIp8fRNA=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=OcWd7VFgKKdJrsayb+F3D+KtLNjCqwop8S3B0IATHY+xs1aMmSY4RrF4XjuVZFhC/ XbMxkKPL3OiixUBFi9cyqHSwYyk3D0FiKxA7Q0HAz93WvCItzZ02A5QIqEQ/cjFErC u971y9mi4a/RIG7kqpwW6Ot7HV4qspUGP7jF8kPO/US/5QF+X/G3oMtjBmjGa7WMS/ +5U9IeD5vB/YCEIVCvTGtQkoAO4Suiphvl5L4RFnKFrtqT4Ty4uZHK3KGUiES/FsAr QBEid2UjQGt1tphsNIUVx+aE7VsmKPzaurd68RyDHZWT9BZ7HvEG662GA48AtFSfzB /JWui7N/sKgsg== Received-SPF: pass client-ip=2a02:1800:110:4::f00:1a; envelope-from=maximedevos@telenet.be; helo=albert.telenet-ops.be X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1655331250; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=jL5+0KA0G4+12p8lriVQi6p2YUqz0xM5iXWtIp8fRNA=; b=qu3itXxzsSJ0oPRnFRlD3S+9HD+t1jdZ86x7s6KC2rg83nl/yi2bcyXRc8UNxSAuq2vhP3 iYrCO5Y80ek9ko2ktYst6kWpUp+floS0Ahjkq2VtP0y4QfIAsXBpRIXo8hNx3dI4/1A5w+ adr+Dt1FbpVoDDSJf1u2SiKuwU0C39rs+1NCKPwu0Jnn41MQfFT5HIttuava8bLn674Jm7 jlPFpt7VqYL2z3DDsqyeeFGHdbTGp5Jbu6Z8iEpRVWVp4Tun7veggc7q8lqwZruzrEw7jz P1hkcWe6vQ9i+AU2dR/dgc71bLO+fpLPzU+l2cMCOYCBcA1g2sz1/r/l7Rg3Uw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655331250; a=rsa-sha256; cv=none; b=qjyPZJFzjLBTq4RTqMutIt8ZdMCbRCbbWISjtD33ef7a6IJySYUC8FKpyJygs7nngyTZIv QmxER1CGysAox20sv4/AN3veCzzStVmTievUTAIV6B3WJwpP1KBAmUuReh22voFdC6f7aD gnrWfcCRmuEAoX+AZqLsEf1GmmeQTllkNRWtUnE0yrF7rdRCZxS32SqYAs2CzEoO6OI6B1 wFKKJpNZcYJ/tJPmJUDFcpJ7KuPkDklu3At8QgTOmre4KfHGGwQ/PLy8oOASmbX79IRxfo Q6pdyj936P0SP5ipiBEEIx6Jlz3Mvt85BLN9zZGRn8Q8CQRYc0hX6VdoTsny+w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=telenet.be header.s=r22 header.b=OcWd7VFg; dmarc=pass (policy=none) header.from=telenet.be; 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" X-Migadu-Spam-Score: -6.19 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=telenet.be header.s=r22 header.b=OcWd7VFg; dmarc=pass (policy=none) header.from=telenet.be; 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" X-Migadu-Queue-Id: 8A29C333D0 X-Spam-Score: -6.19 X-Migadu-Scanner: scn1.migadu.com X-TUID: n+nk+Nrop4CF --=-oTfIrqv1sFxn7A1ke/Bx Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Blake Shaw schreef op wo 15-06-2022 om 21:40 [+0000]: > > AFAIK no relation to GNU. >=20 > I thought recalled hearing it used in relation to GNU/Linux. A quick > search > brings up this stackexchange discussion[1], which quotes the book > "Linux > Philosophy" with the following: >=20 > #+begin_example > Whenever possible, Linux makes its components available via files or > objects > that look like files. Processes, devices, and network sockets are all > represented=20 > by file-like objects, and can often be worked with using the same > utilities used > =C2=A0for regular files. > #+end_example >=20 > So the contents of /proc are file-like objects, but AFAIK they > strictly aren't files > per-se, but representations of processes that take the shape of a > file at a=20 > particular instance in time. >=20 > [1] > https://unix.stackexchange.com/questions/416778/what-is-file-like-objects= -in-linux =46rom Guix and Guile's perspective, things in /proc are just (OS) files that happen to be dynamically generated. =C2=A0Devices are weird files that need a special I/O API, but still files). Some information on processes is available in files, but the process itself isn't a file. I would say that sockets (except for unix domain sockets) aren't files and are rather unlike files (you cannot copy, hardlink, mv, symlink or stat them, they don't have file names, they don't have an owner/group/...) -- the only similarity seems to be the basis on file descriptors and the possibility of read/write. However, you cannot save sockets in the store, so from Guix perspective even Unix domain sockets aren't file-like. Though good point about the potential confusing with Linux' notion of file-like objects! Greetings Maxime. --=-oTfIrqv1sFxn7A1ke/Bx Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqpZjRccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qSVAP47IKWEk5kaOgyMKGpttjhYn/kN Lv4HVM+XAtqavAzMWgEArtw0APK4vxoVGvWqadbOdXGGfXJsZ4kmSORplbJfxQk= =J5HR -----END PGP SIGNATURE----- --=-oTfIrqv1sFxn7A1ke/Bx--