Subject: bug#37233: closed (Re: bug#37233: lsblk not up to date in util-linux)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 30 Aug 2019 14:04:02 +0000

Your bug report

#37233: lsblk not up to date in util-linux

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
37233: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37233
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#37233: lsblk not up to date in util-linux
From: Tobias Geerinckx-Rice <[email-masked]>
To: Bengt Richter <[email-masked]>
Cc: [email-masked]
Date: Fri, 30 Aug 2019 16:03:12 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Bengt,

Sorry you had to debug that!

Bengt Richter 写道：
> …then I get the desired output above. The difference is 
> apparently
> util-linux 2.32.1 vs the newer 2.34, where the newer one 
> understands
> more field names for -o ...

[…]

> Hope somebody can update it.
> I think I found the updated version at
> https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.34/util-linux-2.34.tar.xz

Guix's util-linux package was already updated to 2.34 in June 
(commit ac3842ef on core-updates), and it will be available when 
core-updates is merged into master.  That should be very soon now. 
I'm closing this bug for that reason.

Updates of core Guix packages like these take a while to trickle 
down to users because ‘everything’ depends on them, and when 
they change ‘everything’ needs to be rebuilt, so we need to 
‘batch’ these changes somehow to avoid rebuilding the world ever 
two days.  Search for ‘staging’ and ‘core-updates’ in the 
manual.  Unfortunately, core-updates in particular always takes 
longer to fix up and merge than expected.

Until that happens, you can define and install your own updated 
util-linux.

  (define-public util-linux/latest
    (package
      (inherit util-linux)
      (name "util-linux")
      (version "2.34")
      (source …))) ; updated URL

This is similar to what we already do for security updates in 
Guix.

Kind regards,

T G-R

Subject: lsblk not up to date in util-linux
From: Bengt Richter <[email-masked]>
To: New-Bug <[email-masked]>
Date: Fri, 30 Aug 2019 02:42:52 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Very annoying, since I made a little script called ls-mounts
to show info about currently mounted devices.
It should make output like this:

MOUNTPOINT KNAME     LABEL            PARTLABEL          SIZE FSAVAIL FSUSE% UUID
/boot      nvme0n1p1 PhantoV1EFI      PhantoNv1EFI         1G  510.4M    50% 6E3C-D410
[SWAP]     nvme0n1p3                  PhantoNv3Swap       32G                24151091-f47a-46e2-a6cb-e5219eddae7c
/          nvme0n1p4 PhantoNv4ArchGx  PhantoNv4ArchGx   54.2G    7.1G    82% 12eec2bf-bc81-48a8-b444-26913c078302

but guix defines lsblk as you see below, so the output is not the above, but

lsblk: unknown column: fsavail,fsuse%,uuid

If I force /usr/bin like
----
#!/usr/bin/bash
# ~/bin/ls-mounts -- like boot-context mounts part, with uuid and partlabel added
/usr/bin/lsblk -o mountpoint,kname,label,partlabel,size,fsavail,fsuse%,uuid|egrep '^(/|M|\[)'
----
then I get the desired output above. The difference is apparently
util-linux 2.32.1 vs the newer 2.34, where the newer one understands
more field names for -o ...

If I take the /usr/bin/ and use just lsblk -o  ..., I get the guix profile
version even with the hash-bang remaining #!/usr/bin/bash, which is as it
should be according to the $PATH.

$ which -a lsblk
/home/bokr/.guix-profile/bin/lsblk
/usr/bin/lsblk
$ which -a lsblk|xargs readlink -f
/gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1/bin/lsblk
/usr/bin/lsblk
$ which -a lsblk|xargs readlink -f|xargs file
/gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1/bin/lsblk:
    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked,
    interpreter /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/ld-linux-x86-64.so.2,
    for GNU/Linux 2.6.32, not stripped
/usr/bin/lsblk:
    ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked,
    interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4028ee9653d75f37372a56e4f53215d75c75f564,
    for GNU/Linux 3.2.0, stripped
$ which -a lsblk|xargs readlink -f|while read line;do echo -ne "$line:\n   ";$line --version;done
/gnu/store/8k4pnixpz73kxvxbjqajgbprjjmmgpxy-util-linux-2.32.1/bin/lsblk:
   lsblk from util-linux 2.32.1
/usr/bin/lsblk:
   lsblk from util-linux 2.34
$
Hope somebody can update it.
I think I found the updated version at
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.34/util-linux-2.34.tar.xz

But I have worse problems -- weston-launch now core dumps, after guix install of
latest wayland and weston ;-/ But that's not for this post.

Regards,
Bengt Richter