From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Geerinckx-Rice Subject: Re: Packaging bcachefs Date: Fri, 13 Dec 2019 16:32:11 +0100 Message-ID: <87mubwi6mc.fsf@nckx> References: <882e8091-aaa7-0705-306d-d4bf2824e050@gmail.com> <86h824i9cu.fsf@dismail.de> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:49283) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ifmva-0001K2-1B for help-guix@gnu.org; Fri, 13 Dec 2019 10:32:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ifmvY-0005pP-3S for help-guix@gnu.org; Fri, 13 Dec 2019 10:32:25 -0500 Received: from tobias.gr ([2001:470:7405::1]:41598) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ifmvU-0005jq-IW for help-guix@gnu.org; Fri, 13 Dec 2019 10:32:24 -0500 In-reply-to: <86h824i9cu.fsf@dismail.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org, Joshua Branson --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Joshua, Joshua Branson =E5=86=99=E9=81=93=EF=BC=9A > It would be kind of cool to package bcachefs...but it might be a=20 > little > too premature for that. I've been using bcachefs on Guix System for a bit over 3 months=20 now, without any issues that weren't self-inflicted. The other=20 way 'round (/gnu/store on bcachefs) is currently not possible. Of course you need a kustom kernel, but it should be trivial to=20 apply the ~300 bcachefs patches (upstream/v5.3..bcachefs/master)=20 on top of Linux-Libre. I'd share my recipe but it's a) not -Libre, even though I don't use & want any of the blobs,=20 and b) such an unholy union of other dodgy patches that it would make=20 the bcachefs graft look much more difficult than it is. I've attached my bcachefs-tools package below. It works fine, I=20 just need to finish the boring bits. Now that I have a reason=20 I'll probably do so and submit it soon. To boot Guix System on bcachefs, we're missing the same thing as=20 for JFS: Guile code to read its label & UUID. But there's one big=20 problem: GRUB can't read it. At all[0]. Either we wait until GRUB grows bcachefs support, or somebody=20 (:-)) needs to finally make Guix support kernels + initrds copied=20 to a separate /boot partition. Kind regards, T G-R [0]:=20 https://lists.gnu.org/archive/html/bug-grub/2019-03/msg00000.html --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-XXX-gnu-Add-bcachefs-tools.patch Content-Transfer-Encoding: quoted-printable From=20f22d6bdfbf0f31c19936b817f8ffec7d4613650a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 8 Dec 2019 00:40:28 +0100 Subject: [PATCH 1/4] XXX gnu: Add bcachefs-tools. * gnu/packages/file-systems.scm (bcachefs-tools): New public variable. =2D-- gnu/packages/file-systems.scm | 55 ++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 1594cac846..744bcf2b52 100644 =2D-- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU =2D;;; Copyright =C2=A9 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright =C2=A9 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2017 G=C3=A1bor Boskovits ;;; Copyright =C2=A9 2017, 2018 Ricardo Wurmus ;;; Copyright =C2=A9 2018 Leo Famulari @@ -34,11 +34,13 @@ #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages datastructures) #:use-module (gnu packages documentation) #:use-module (gnu packages docbook) #:use-module (gnu packages flex) + #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages linux) #:use-module (gnu packages onc-rpc) @@ -47,8 +49,59 @@ #:use-module (gnu packages readline) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages valgrind) #:use-module (gnu packages xml)) =20 +(define-public bcachefs-tools + (let ((commit "f712a866a474d70bfbe3a43aad2b04ceec13ddd3") + (revision "0")) + (package + (name "bcachefs-tools") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://evilpiepirate.org/git/bcachefs-tools.git") + (commit commit))) + (sha256 + (base32 "01zwcqdw6kwdyji7c4307dzgiv67jjmjxpavxx2fq4661v3r7pfn"))= )) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "PREFIX=3D" (assoc-ref %outputs "out")) + "INITRAMFS_DIR=3D$(PREFIX)/share/initramfs-tools" + "CC=3Dgcc" + "PYTEST=3Dpytest") + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure switch + #:tests? #f))) ; XXX 6 valgrind tests fail + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; libbcachefs/bkey_methods.c:84:41: error: initializer element i= s not constant + ("gcc" ,gcc-8) + + ;; For tests. + ("python-pytest" ,python-pytest) + ("valgrind" ,valgrind))) + (inputs + `(("keyutils" ,keyutils) + ("libaio" ,libaio) + ("libscrypt" ,libscrypt) + ("libsodium" ,libsodium) + ("liburcu" ,liburcu) + ("util-linux" ,util-linux) ; lib{blkid,uuid} + ("lz4" ,lz4) + ("zlib" ,zlib) + ("zstd:lib" ,zstd "lib"))) + (home-page "https://bcachefs.org/") + (synopsis "") + (description + "") + (license license:gpl2+)))) + (define-public httpfs2 (package (name "httpfs2") =2D-=20 2.23.0 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl3zrvsACgkQ2Imw8BjF STwLGhAAnQ9KkaLebjFWB/Sq71AJn8UXfsbn1G0KRaFX5zPdjl5bc8+CHDJ+JtOt ZyjPsnzxah1gPaeAaOwYyTmA8iZBdb/6m5X5eifAyiB46z4zZucDQ11BRlbtLDRe 3gTIg533KV5r8MnCJXTMucgVMauYo3ZmSqtaKNv1GvfPf44UISjDB1scYiCKJ+hr 668BtIbjJdKFA+ErlaHI5FbwgCbGLmVLilgtF3F9tzPG1eEY6gURs0Fj5OB9m2v0 3yboG7FHjP5QAcnSehgTUcye8D1iuhOZuOnFlD0NqYM1I6P4HMINooJnSC/yLhf2 FCKgRTaAQRR0+JLHsxVrEYYo9nkdSUVcMlRSxNSqKzgbKPO0I9adl6LmucebDeK/ q+5SQg43ZehoF4PnqEadNFVlnCA55mqbUujmDM6eXOMuQY+szJ7Vi18uPOhd98ay y+kkKwUCarkLybeHE6ScAfX0fTbJ5ff3KJV1ElldAVHtgejsNozkHiro70rRv8Fb ht50+OKQBYQBh7QLe6QutE7TF59f1XO5jzs3JcTDjrWAEQBaRyTsvJSIOLKTAq5B C4Xn8raHstIAzniG2IsftYmb9VoCmaE+R3JsOZqATTf/z5X1ok3g0VxamKEvug6J 77MHv+VCMduYySKw/GhKmfEJotyI8/PUQVMwYM4XOsYhk6wQ3g8= =/Gt/ -----END PGP SIGNATURE----- --==-=-=--