[PATCH 0/2] Update bcachefs-tools to 1.2 and restyle package

  • Done
  • quality assurance status badge
Details
4 participants
  • Ahmad Draidi
  • A
  • Christopher Baines
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Ahmad Draidi
Severity
normal

Debbugs page

Ahmad Draidi wrote 1 years ago
(address . guix-patches@gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
cover.1694931512.git.a.r.draidi@redscript.org
Hello Guix,

Who else is excited for bcachefs being merged upstream soon? :)

This patch series updates bcachefs-tools to version 1.2 and restyles the
package since we removed a level of parentheses.

Ahmad Draidi (2):
gnu: bcachefs-tools: Update to 1.2.
gnu: bcachefs-tools: Restyle format.

gnu/packages/file-systems.scm | 165 +++++++++++++++++-----------------
1 file changed, 84 insertions(+), 81 deletions(-)


base-commit: 9b78699744b0c4c8af28820cc4f0d59b9d317ead
--
2.41.0
Ahmad Draidi wrote 1 years ago
[PATCH 1/2] gnu: bcachefs-tools: Update to 1.2.
(address . 66043@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
07551578b686f549623e635e87fe0b29301191d4.1694931512.git.a.r.draidi@redscript.org
* gnu/packages/file-systems.scm (bcachefs-tools): Update to 1.2.
[source]: Use version instead of commit.
---
gnu/packages/file-systems.scm | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 0d98e23e93..efa26a199a 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -575,20 +575,18 @@ (define-public gphotofs
(license license:gpl2+)))
(define-public bcachefs-tools
- (let ((commit "c8bec83e307f28751c433ba1d3f648429fb5a34c")
- (revision "17"))
(package
(name "bcachefs-tools")
- (version (git-version "0.1" revision commit))
+ (version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://evilpiepirate.org/git/bcachefs-tools.git")
- (commit commit)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0b1avy5mw3r3ppfs3n9cq4zb74yl45nd5l69r6hi27z9q5bc3nv8"))))
+ (base32 "0wgqclkkdkqis3aq6wp0kcn1bsynybm3dnpcf7vlcvx85kdmcxg8"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@@ -664,7 +662,7 @@ (define-public bcachefs-tools
In addition, bcachefs provides all the functionality of bcache, a block-layer
caching system, and lets you assign different roles to each device based on its
performance and other characteristics.")
- (license license:gpl2+))))
+ (license license:gpl2+)))
(define-public bcachefs-tools/static
(package
--
2.41.0
Ahmad Draidi wrote 1 years ago
[PATCH 2/2] gnu: bcachefs-tools: Restyle format.
(address . 66043@debbugs.gnu.org)(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
3e7fa3295d876267df6babbb9a6578a4891822b2.1694931512.git.a.r.draidi@redscript.org
* gnu/packages/file-systems.scm (bcachefs-tools): Reformat with 'guix style'
and manually break some long lines.
---
gnu/packages/file-systems.scm | 163 ++++++++++++++++++----------------
1 file changed, 84 insertions(+), 79 deletions(-)

Toggle diff (183 lines)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index efa26a199a..58fb1b5363 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -575,84 +575,89 @@ (define-public gphotofs
(license license:gpl2+)))
(define-public bcachefs-tools
- (package
- (name "bcachefs-tools")
- (version "1.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://evilpiepirate.org/git/bcachefs-tools.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0wgqclkkdkqis3aq6wp0kcn1bsynybm3dnpcf7vlcvx85kdmcxg8"))))
- (build-system gnu-build-system)
- (arguments
- (list #:make-flags
- #~(list (string-append "VERSION=" #$version) ; ‘v…-nogit’ otherwise
- (string-append "PREFIX=" #$output)
- "INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
- (string-append "CC=" #$(cc-for-target))
- (string-append "PKG_CONFIG=" #$(pkg-config-for-target))
- ;; ‘This will be less of an option in the future, as more
- ;; code gets rewritten in Rust.’
- "NO_RUST=better")
- #:phases
- #~(modify-phases %standard-phases
- (delete 'configure) ; no configure script
- (replace 'check
- ;; The test suite is moribund upstream (‘never been useful’),
- ;; but let's keep running it as a sanity check until then.
- (lambda* (#:key tests? make-flags #:allow-other-keys)
- (when tests?
- ;; We must manually build the test_helper first.
- (apply invoke "make" "tests" make-flags)
- (invoke (string-append
- #$(this-package-native-input "python-pytest")
- "/bin/pytest") "-k"
- ;; These fail (‘invalid argument’) on kernels
- ;; with a previous bcachefs version.
- (string-append "not test_format and "
- "not test_fsck and "
- "not test_list and "
- "not test_list_inodes and "
- "not test_list_dirent")))))
- (add-after 'install 'patch-shell-wrappers
- ;; These are overcomplicated wrappers that invoke readlink(1)
- ;; to exec the appropriate bcachefs(8) subcommand. We can
- ;; simply patch in the latter file name directly, and do.
- (lambda _
- (let ((sbin/ (string-append #$output "/sbin/")))
- (substitute* (find-files sbin/ (lambda (file stat)
- (not (elf-file? file))))
- (("SDIR=.*") "")
- (("\\$\\{SDIR.*}/") sbin/))))))))
- (native-inputs
- (cons* pkg-config
- ;; For generating documentation with rst2man.
- python
- python-docutils
- ;; For tests.
- python-pytest
- (if (member (%current-system) (package-supported-systems valgrind))
- (list valgrind)
- '())))
- (inputs
- (list eudev
- keyutils
- libaio
- libscrypt
- libsodium
- liburcu
- `(,util-linux "lib")
- lz4
- zlib
- `(,zstd "lib")))
- (home-page "https://bcachefs.org/")
- (synopsis "Tools to create and manage bcachefs file systems")
- (description
- "The bcachefs-tools are command-line utilities for creating, checking,
+ (package
+ (name "bcachefs-tools")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://evilpiepirate.org/git/bcachefs-tools.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0wgqclkkdkqis3aq6wp0kcn1bsynybm3dnpcf7vlcvx85kdmcxg8"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list (string-append "VERSION="
+ #$version) ;‘v…-nogit’ otherwise
+ (string-append "PREFIX="
+ #$output)
+ "INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
+ (string-append "CC="
+ #$(cc-for-target))
+ (string-append "PKG_CONFIG="
+ #$(pkg-config-for-target))
+ ;; ‘This will be less of an option in the future, as more
+ ;; code gets rewritten in Rust.’
+ "NO_RUST=better")
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure) ;no configure script
+ (replace 'check
+ ;; The test suite is moribund upstream (‘never been
+ ;; useful’), but let's keep running it as a sanity
+ ;; check until then.
+ (lambda* (#:key tests? make-flags #:allow-other-keys)
+ (when tests?
+ ;; We must manually build the test_helper first.
+ (apply invoke "make" "tests" make-flags)
+ (invoke (string-append #$(this-package-native-input
+ "python-pytest")
+ "/bin/pytest") "-k"
+ ;; These fail (‘invalid argument’) on kernels
+ ;; with a previous bcachefs version.
+ (string-append "not test_format and "
+ "not test_fsck and "
+ "not test_list and "
+ "not test_list_inodes and "
+ "not test_list_dirent")))))
+ (add-after 'install 'patch-shell-wrappers
+ ;; These are overcomplicated wrappers that invoke readlink(1)
+ ;; to exec the appropriate bcachefs(8) subcommand. We can
+ ;; simply patch in the latter file name directly, and do.
+ (lambda _
+ (let ((sbin/ (string-append #$output "/sbin/")))
+ (substitute* (find-files sbin/
+ (lambda (file stat)
+ (not (elf-file? file))))
+ (("SDIR=.*")
+ "")
+ (("\\$\\{SDIR.*}/")
+ sbin/))))))))
+ (native-inputs (cons* pkg-config
+ ;; For generating documentation with rst2man.
+ python
+ python-docutils
+ ;; For tests.
+ python-pytest
+ (if (member (%current-system)
+ (package-supported-systems valgrind))
+ (list valgrind)
+ '())))
+ (inputs (list eudev
+ keyutils
+ libaio
+ libscrypt
+ libsodium
+ liburcu
+ `(,util-linux "lib")
+ lz4
+ zlib
+ `(,zstd "lib")))
+ (home-page "https://bcachefs.org/")
+ (synopsis "Tools to create and manage bcachefs file systems")
+ (description
+ "The bcachefs-tools are command-line utilities for creating, checking,
and otherwise managing bcachefs file systems.
Bcachefs is a @acronym{CoW, copy-on-write} file system supporting native
@@ -662,7 +667,7 @@ (define-public bcachefs-tools
In addition, bcachefs provides all the functionality of bcache, a block-layer
caching system, and lets you assign different roles to each device based on its
performance and other characteristics.")
- (license license:gpl2+)))
+ (license license:gpl2+)))
(define-public bcachefs-tools/static
(package
--
2.41.0
Christopher Baines wrote 1 years ago
Re: [bug#66043] [PATCH 0/2] Update bcachefs-tools to 1.2 and restyle package
(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)
87bkdq5xjf.fsf@cbaines.net
Ahmad Draidi via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (14 lines)
> Hello Guix,
>
> Who else is excited for bcachefs being merged upstream soon? :)
>
> This patch series updates bcachefs-tools to version 1.2 and restyles the
> package since we removed a level of parentheses.
>
> Ahmad Draidi (2):
> gnu: bcachefs-tools: Update to 1.2.
> gnu: bcachefs-tools: Restyle format.
>
> gnu/packages/file-systems.scm | 165 +++++++++++++++++-----------------
> 1 file changed, 84 insertions(+), 81 deletions(-)

Thanks for the patches Ahmad, I've pushed them to master as
a5477e3a82114ce2909e63a07c7e6df6da617821.

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmURZ/RfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XeG7w//VcwSk1GWotyi8d6U5+ungMB/Rm7tYijH
WLUeVJz0TqZkkifQ0VJkHZuVDF92Y84EkiuPNFiHL5IIqu08qsSzNIo3pyR2Z4HO
Za/6iHb8RmHaXzlW93UCgPXy2wI5mddO9RCf5+Ov6yGobofiZnf/BMqCC7U4FPta
XHWMU8G0a5DKy7SOOZ8F0jx54ERO/E1gk+ps7IHa9iKNN5BIBulWqB564ti80fDR
i7vZ/H/tqX0gYMk5NvSwIaH3cQ0ABbCNUuiJXbolTrpQu0DGyyiToAC48g+Lyk4a
+KbxANdGpeAoRDnMZJJF8fgfGeSpvN9pzau65lZjjP2XtCWuh8gEg228+H2bBTuK
D2f0x43zS4oaZaGiPoJ58G6MJYdCrc1dnHHz/miKVMjetC+eGTPDATrCMEgYdunW
CT2uorA0FccLnmmdguJ7B3YE3293Nf7wxgur1pus+0FlTYzMLjvah7j7gD5pCb66
MSUejS3Y1LbfShuzNxTaLzPrEeG8E5Q+enEeRp9yHD002hY1e/KRmaoyJuDvZbXZ
8vtOn71UEzpGdvO5liBbFACTZSDRnVrPoaq3eWn1FGKKx2rYEjDFu+TJHybDgej/
WAnrv7BIcPp33gBDW0PSZRrSOYTR+DLqaCzJcoN+q2F0FxRzdOD66gCrzKNFfpul
ZhJhSsZWbjY=
=UPqM
-----END PGP SIGNATURE-----

Tobias Geerinckx-Rice wrote 1 years ago
Re: [bug#66043] [PATCH 2/2] gnu: bcachefs-tools: Restyle format.
(name . Ahmad Draidi)(address . a.r.draidi@redscript.org)(address . 66043@debbugs.gnu.org)
ac92bfd420f6a9d8f3ce8bbe24261fb1@tobias.gr
Hi!

Thanks for taking care of the bcachefs-tools package!

Toggle quote (2 lines)
> Who else is excited for bcachefs being merged upstream soon? :)

/me raises hand. Four years of sometimes-painful rebases will not be
missed.

On 2023-09-17 8:38, Ahmad Draidi via Guix-patches via wrote:
Toggle quote (4 lines)
> * gnu/packages/file-systems.scm (bcachefs-tools): Reformat with 'guix
> style'
> and manually break some long lines.

I don't think ‘guix style’ improved things anywhere, but hunks like

- (list #:make-flags
- #~(list (string-append "VERSION=" #$version) ; ‘v…-nogit’
otherwise
- (string-append "PREFIX=" #$output)
- "INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
- (string-append "CC=" #$(cc-for-target))
- (string-append "PKG_CONFIG="
#$(pkg-config-for-target))
- ;; ‘This will be less of an option in the future,
as more
- ;; code gets rewritten in Rust.’
- "NO_RUST=better")
+ (list #:make-flags #~(list (string-append "VERSION="
+ #$version) ;‘v…-nogit’
otherwise
+ (string-append "PREFIX="
+ #$output)
+
"INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
+ (string-append "CC="
+ #$(cc-for-target))
+ (string-append "PKG_CONFIG="
+ #$(pkg-config-for-target))
+ ;; ‘This will be less of an option in the
future, as more
+ ;; code gets rewritten in Rust.’
+ "NO_RUST=better")

are particularly regressive.

This is of course not your fault at all and should be fixed in ‘guix
style’, but I do intend on reverting this change when I upgrade
bcachefs-tools to the next git snapshot ;-)

Bcachefs is still improving fast enough that I think it's okay to
package snapshots, at least until 6.7 lands. Using outdated tools on a
newer kernel generally fails outright, and once corrupted my file
system.

Kind regards,

T G-R

Sent from a Web browser. Excuse or enjoy my brevity.
A wrote 1 years ago
(address . 66043@debbugs.gnu.org)
9CB5E275-7489-4809-911F-73A481820A74@redscript.org
Hello Tobias,

On 27 September 2023 01:41:07 GMT+04:00, Tobias Geerinckx-Rice <me@tobias.gr> wrote:
Toggle quote (8 lines)
>Hi!
>
>Thanks for taking care of the bcachefs-tools package!
>
>> Who else is excited for bcachefs being merged upstream soon? :)
>
>/me raises hand. Four years of sometimes-painful rebases will not be missed.

I find it reassuring that a Guix maintainer is a long time bcachefs user. :)

Toggle quote (33 lines)
>
>On 2023-09-17 8:38, Ahmad Draidi via Guix-patches via wrote:
>> * gnu/packages/file-systems.scm (bcachefs-tools): Reformat with 'guix style'
>> and manually break some long lines.
>
>I don't think ‘guix style’ improved things anywhere, but hunks like
>
>- (list #:make-flags
>- #~(list (string-append "VERSION=" #$version) ; ‘v…-nogit’ otherwise
>- (string-append "PREFIX=" #$output)
>- "INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
>- (string-append "CC=" #$(cc-for-target))
>- (string-append "PKG_CONFIG=" #$(pkg-config-for-target))
>- ;; ‘This will be less of an option in the future, as more
>- ;; code gets rewritten in Rust.’
>- "NO_RUST=better")
>+ (list #:make-flags #~(list (string-append "VERSION="
>+ #$version) ;‘v…-nogit’ otherwise
>+ (string-append "PREFIX="
>+ #$output)
>+ "INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
>+ (string-append "CC="
>+ #$(cc-for-target))
>+ (string-append "PKG_CONFIG="
>+ #$(pkg-config-for-target))
>+ ;; ‘This will be less of an option in the future, as more
>+ ;; code gets rewritten in Rust.’
>+ "NO_RUST=better")
>
>are particularly regressive.
>
>This is of course not your fault at all and should be fixed in ‘guix style’, but I do intend on reverting this change when I upgrade bcachefs-tools to the next git snapshot ;-)

I had to remove the extra indentation caused by the parentheses, while keeping as much of my opinion out of styling as possible. It doesn't help with my OCD that the Guix patch submission checklist asks to run 'guix style'. :D

Perhaps I should look at 'guix style' code sometime.

Toggle quote (8 lines)
>
>Bcachefs is still improving fast enough that I think it's okay to package snapshots, at least until 6.7 lands. Using outdated tools on a newer kernel generally fails outright, and once corrupted my file system.
>
>Kind regards,
>
>T G-R


Thanks, and keep up the great work!

Toggle quote (2 lines)
>
>Sent from a Web browser. Excuse or enjoy my brevity.
?
Your comment

This issue is archived.

To comment on this conversation send an email to 66043@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 66043
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help