From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id iBU6GQ5quV77BgAA0tVLHw (envelope-from ) for ; Mon, 11 May 2020 15:06:54 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 8BGlFxxquV6LYAAAB5/wlQ (envelope-from ) for ; Mon, 11 May 2020 15:07:08 +0000 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 CD802940058 for ; Mon, 11 May 2020 15:07:05 +0000 (UTC) Received: from localhost ([::1]:50118 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYA1K-0007dI-Bc for larch@yhetil.org; Mon, 11 May 2020 11:07:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36558) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYA1G-0007bc-DQ for guix-patches@gnu.org; Mon, 11 May 2020 11:07:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:41409) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jYA1G-0003ZV-4E for guix-patches@gnu.org; Mon, 11 May 2020 11:07:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jYA1F-00065n-UY for guix-patches@gnu.org; Mon, 11 May 2020 11:07:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41180] [PATCH] Add cachefilesd service. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 11 May 2020 15:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41180 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Jean-Baptiste Note Cc: 41180@debbugs.gnu.org Received: via spool by 41180-submit@debbugs.gnu.org id=B41180.158920958123355 (code B ref 41180); Mon, 11 May 2020 15:07:01 +0000 Received: (at 41180) by debbugs.gnu.org; 11 May 2020 15:06:21 +0000 Received: from localhost ([127.0.0.1]:52955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYA0a-00064d-U7 for submit@debbugs.gnu.org; Mon, 11 May 2020 11:06:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33510) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYA0V-00064H-UP for 41180@debbugs.gnu.org; Mon, 11 May 2020 11:06:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38012) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYA0Q-0003U8-Ig; Mon, 11 May 2020 11:06:10 -0400 Received: from [2a01:cb18:832e:5f00:fd66:fbb0:b5a6:36b6] (port=35294 helo=meru) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jYA0Q-0004oL-1Y; Mon, 11 May 2020 11:06:10 -0400 From: Mathieu Othacehe References: <87v9l3zjg7.fsf@m4x.org> Date: Mon, 11 May 2020 17:06:08 +0200 In-Reply-To: <87v9l3zjg7.fsf@m4x.org> (Jean-Baptiste Note's message of "Sun, 10 May 2020 19:19:36 +0000") Message-ID: <878shywly7.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 X-Spam-Score: -1.01 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Scan-Result: default: False [-1.01 / 13.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; GENERIC_REPUTATION(0.00)[-0.54015671379511]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.51.188.0/24:c]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.07), country: US(-0.00), ip: 209.51.188.17(-0.54)]; DWL_DNSWL_FAIL(0.00)[209.51.188.17:server fail]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; RCPT_COUNT_TWO(0.00)[2]; MAILLIST(-0.20)[mailman]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_IN_DNSWL_FAIL(0.00)[209.51.188.17:server fail]; RCVD_TLS_LAST(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:22989, ipnet:209.51.188.0/24, country:US]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_FROM(0.00)[larch=yhetil.org]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[othacehe@gnu.org,guix-patches-bounces@gnu.org]; FROM_HAS_DN(0.00)[]; URIBL_BLOCKED(0.00)[gnu.org:url,mumble.net:url]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; DMARC_NA(0.00)[gnu.org]; HAS_LIST_UNSUB(-0.01)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.51.188.17:from]; RCVD_COUNT_SEVEN(0.00)[9]; FORGED_SENDER_MAILLIST(0.00)[] X-TUID: xbCtrvKo4iPC Hello Jean-Baptiste, Thanks for this service! > - I gathered that #~ / #$ kinds of suspends evaluation / forces it -- is > there documentation about this somewhere ? #~ and #$ are related to the Gexp mechanism. It's documented here: https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html. > - There's something that looks like a splat operator (only seen in > conjuction with forcing evaluation in #$@) -- again i'd be interested > in more documentation about this feature -- is this a guix-specific > operator? #$@ is a shortcut for ungexp-splicing. It's also documented in the link above. It can be a bit puzzling at start, don't hesitate to ask some help on #guix channel. > - I don't understand why there are ^L separating services in the scheme > files -- is this necessary? A convention? What purpose does it serve? Yes, see the "Pagination" section in https://mumble.net/~campbell/scheme/style.txt. You can install "emacs-page-break-lines" to replace it by cleaner lines. > Regarding the patch itself: > > - i'm not entirely sure the service belongs to services/linux.scm I think it's fine. > - there are no automated tests (beyond what I have done by hand > locally!), and there's no lint, so I don't really feel confident about > it :) Are there tests for services to alleviate my fears? It would be nice to implement tests along with the new service definition. You can have a look to (gnu tests cups) module for instance. It tests the cups service by spawning a virtual-machine called a "marionette". You could create a (gnu tests cachefilesd) doing a similar job. See "Running the Test Suite" in the info page for more details on how to run the test suite. > - I've copied some other service for modprobing the required kernel > modules before launching the daemon with a one-shot shepherd > service. Frankly i'm not happy about this solution, it seems to me > that it unnecessarily pollutes the shepherd configuration; maybe some > other mechanism (graft?) adjusting the modprobe configuration could be > better (better still, autoload the file). Any guidance would be nice > (including, that this solution is sufficient for now :)) The ideal would be that cachefilesd loads the appropriated module. If this is not possible, we can discuss extending kernel-module-loader-service-type service. But for now I guess it's ok. I hope it answers your questions, I'll review the rest of the service later on. Thanks, Mathieu