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 WstcFw39Rl9vKwAA0tVLHw (envelope-from ) for ; Thu, 27 Aug 2020 00:23:41 +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 oAXjEg39Rl8zXAAAB5/wlQ (envelope-from ) for ; Thu, 27 Aug 2020 00:23:41 +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 B140A94053E for ; Thu, 27 Aug 2020 00:23:40 +0000 (UTC) Received: from localhost ([::1]:57628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kB5hY-0000CQ-Rh for larch@yhetil.org; Wed, 26 Aug 2020 20:23:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41340) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kB5h3-0000C4-4B for help-guix@gnu.org; Wed, 26 Aug 2020 20:23:05 -0400 Received: from mout.web.de ([217.72.192.78]:40759) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kB5h0-00073R-8r for help-guix@gnu.org; Wed, 26 Aug 2020 20:23:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1598487777; bh=7ORXt1yZM8hXx3Rnnp2T2Ix97FTiTPAfcg+TbZocV3w=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:In-reply-to:Date; b=XKfdMeTW7bNossNz6286xXI/z5RnN28HE1pSVuKfrUo5xmXRGUC3pKQvQS6TZcbhj z2vexXyUgtPR/EQWCGWvzrP+lJ8V4mh4ECeZG4ietnqoPrmx9DqrRUnhL31dUzYl/G vlKh/3XEYeOjt2kzQySb+rm3CvKwaZV8b6mTUOHY= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from fluss ([80.136.20.161]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MdLo7-1jt9Qw2PvX-00ISg9; Thu, 27 Aug 2020 02:22:57 +0200 References: <87r1rtwtes.fsf@web.de> <87o8mxwt8o.fsf@web.de> <87h7spw2wo.fsf@cbaines.net> User-agent: mu4e 1.4.13; emacs 26.3 From: "Dr. Arne Babenhauserheide" To: Christopher Baines Subject: Re: How to create a substitute server with substitutes that failed? In-reply-to: <87h7spw2wo.fsf@cbaines.net> Date: Thu, 27 Aug 2020 02:22:52 +0200 Message-ID: <87r1rtuecj.fsf@web.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Provags-ID: V03:K1:5P1U+wMZ9sryMxfaGVQyZ7F3s21QvmPCbxnie0byBFSwOpkA9Vt AXajCzMJ8tizpBB1TF+u1O4TinLFAYD/ycQ+SyTDWKyMMSVWCe9azjIO5LQZQHgXSMA1sZe +CPkusjfyzNbL/Y4xgYxn0yv5p+oIpgQ6ZSZWPCtwPZieLs/Ia+sqUbOjvfGUW0KeR5NVCh /EFydb6UDuKwcF+rkMU+Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:2Hy2FwopSDw=:I0n/WFTI3UR7JXv2r7NehD klhROIG7pACne4oNoz7oN1uEJnPmrp0CAh34xwSIhmwt0y8942Ri0b9lZYC4HDgdLDFg4pGbd IeX51mLtsmQgWJYksAkYO4VPIKGuy2SrmU29raL5mXgsQPdq8L20T3MzZvvXzMsgIBeeLpcwP hwmMknRLL1TvX/ZCTIyxztDNjzG9QM5kqF6cT28LjMoBn/JyW3yJZ4QCQbBquxFig7z0Ihww8 siNh6acwkpHB0VD/8r/21YichTWzxJNDSegoGjruzPRAEZMyt34/6FxdeurvGfLZm9vuld86y wwdregCwgLxi3ZYOR0lEcp0KhNjPJydRnoY7wx0r6zwo1yS8pEaOhgCu095tCLVfhuakKUmwi MmwuNLy7X3wWdTJfGDf1XKDFevB7YTN8ONgushLHVhTlZ7HDHLaBLPxHC930hqlCs9ys//9VN MGvQvXsGxa31K2oYKh1YlBzL+45N/Oo2/oT0812fWqCakWYGTWtQWQi+2I6dE3tHzK0PpzndS Wb4oJM+XIo4jq3SBcLHtKE83hcX8/PGBnORsZekpy4BT7izHk4Et3AqneWOVEAXV83m3pf6lm gPox51k8gL0gDpF1YZaNYWrhNFsS086djmjEYg3ZS6acwfHeBJUo4EFQCElz8RcwUlLN+Cl+h aKhQneHisajs1r+0omb/OVCzOPozMmD/1lzNqv1njuxdpvK1EWs+DNyG0iP/FGe4eO26yhRTs FZKFVTBsJXJdTsseGagtUDkSEhOyVkreaM7s3u17NmhV/1Wg6Q/cRrTdSHdJzcugC+e5Vr/Ig FW4XjlWgbXVEHt8ReumByRqT5+VGoQVb05D9PgS8kftaWODc6aU1jirxpc8kX6mfYcOLbKVZ5 RrxEiCMzjL5mXsLYiTQLeVIUSRkkXJ16n4J8Z3wXau1vXp+Z099g4ZkjltnqMZa+30Y7bUI7P vZC0dyxOuwrhhqgRQmeBtI4r9KHNvLLFvvzxeTtPVfGO5N60lJtkXOaZJ0CUnj6gfQjxXuXX3 RqplJPq8OZWrnFwCne+pFUn4weFiKMThVTGmL3ElNX2Nm/Z5f4nZom81bb9xVz3B5aWFROM1v D2ZtGfv/icJKLzxu4UeRzbpY6e/9DevwvyBFIN4t7wf5St9p8Z0p5sixKATiIi0apk5kwnD+o YtGLaAvOPuugjKr29es3QbaR9fNdQipgxtcGjukaBrcRcEwsyqyqeIM7SyU4/k/JlMqVRbSII ptlShykMIfjCVLfba Received-SPF: pass client-ip=217.72.192.78; envelope-from=arne_bab@web.de; helo=mout.web.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/26 20:22:58 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] 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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=web.de header.s=dbaedf251592 header.b=XKfdMeTW; dmarc=none; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Spam-Score: -1.31 X-TUID: UNCqNoiuAHJJ --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Christopher Baines writes: > Dr. Arne Babenhauserheide writes: > >> I=E2=80=99d like to create a small server that provides substitutes for >> packages for which I often have to build a fallback (mostly ungoogled >> Chromium). >> >> How can I do that? Is there already a simply way? > > It's not simple (yet), but I'm hoping to get there eventually with the > Guix Build Coordinator. > > 1: https://git.cbaines.net/guix/build-coordinator/about/ =E2=80=A6 > I realise the promise of being able to do this more easily in the future > isn't that helpful, but I still wanted to mention the Guix Build > Coordinator in case it's something you're interested in. It sounds promising and I=E2=80=99m not in so much of a hurry that I can=E2= =80=99t wait a bit more. Thank you! What I need is likely much simpler, though: I need a hook which triggers whenever a package had to be built locally. That way we could have dynamic substitute-servers. And seeing guix publish run locally got me wishing more that I=E2=80=99d al= ready be finished with my download-mesh implementation, because guix would be a perfect usecase for that: We can actually add headers and people have long-running servers. Parts of the content-addressed storage and chunk-assembly are already done, but I=E2=80=99m still missing the validati= on of chunks and making currently running downloads available. Conceptually it=E2=80=99s simple: Users could tell guix to serve all deriva= tions they downloaded and tell the server to mark their guix-daemon as content-addressed alternate source (X-Alt), then when someone downloaded something like the 828MiB chromium derivation, the original server would hand out a list of X-Alts, the hash for content-addressed retrieval and a merkle-tree of chunk hashes for chunk-validation, so clients could download from other clients without having to trust them. The current state of my implementation of such a server and downloader is at https://hg.sr.ht/~arnebab/wispserve/browse/wispserve/serve.w?rev=3Dtip And while writing this message I implemented serving while downloading. Best wishes, Arne =2D-=20 Unpolitisch sein hei=C3=9Ft politisch sein ohne es zu merken --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE801qEjXQSQPNItXAE++NRSQDw+sFAl9G/N8ACgkQE++NRSQD w+s6cRAAp8LITGNoLDo+9KGW0GoQnyWYi5sezSoqaaTBOm0RpzGYjF/+YtI4G00Z fAhdkOcsA46yrSQExmeHMUVKpZxjbfclNt2dANtxoYJh3dvffLxsv/Nj2DUbUrzR 2gBoEh8t9xie3+DPt9eYfi4K/MNGbaS9nRKRaTdygMksxdTE9yfZbDB49ZG6ZYP8 6ji0siwdyE5BuFSwvlzC3n34++MH3+7qa0NCOkPrZLtj/UHK+V3XHgyg3GzKk3WM GVYfxGUWQ0YxP49tc+nPOlz4cKpLJp6CWexy4utlJLu329uA0F4fk+YCHyKs9tQJ nvPmjovI9rnBUWHtJzJ6PzPT523Bk3mcZ5oAxcJriAyJa81o793+WkXyIvJCXEx3 avfZE5VSWah99CWLfQynH1aBg52HI/MaggEBNY28Hr/m5jMHqziO1EfiA/3scnal EK7w3B+l9tFvLbry+WdwAL2N+b7Ru3DYahfORhG8rc63Hnnfu0/PmE8ocMHtTB0o KrGa6w1PaQsutzjhM/1sYI2/AM2mgVB5ZBBSDuIIzorihokJ0wJbnLAJm2i7VU/v VmmMY2FJMbMvSdD1HRqzsOJ0gcsArsbdA9rT0CxzGFBBeDg2pUVyrBcXLg/+N20O K8gycsY8gYymKOcE9KXm1BURx1bXafhWhyvWFpb5hed4ICsf2rmIswQBAQgAHRYh BN0ovebZh1yrzkqLHdzPDbMLwQVIBQJfRvzgAAoJENzPDbMLwQVILBED/3k70DgX QFhGwlCS+iWJNrV2xofe8zPCMv98iqc/vW6o2i8P5PDOr9oBorMwNb4RUrwbhNbo 6RyXvXJomjx60BJxVnAq3Vgs8kojy2H00OZpBExYAorn66oCEBTT3urrFcbvqnDK MtDjdirgY2Z5Re6B3lXCr0+7NgsR+7/5CmyA =kbKo -----END PGP SIGNATURE----- --=-=-=--