Re: Inconsistencies in Package Transformation?

2021-05-18 Thread Julien Lepiller
I think this is because the syntax works by first transforming the name to a 
package variable, so when you replace python-pandas, it only replaces the 
python-pandas guix install would install, not your custom version. Does it make 
sense?

Le 18 mai 2021 17:01:49 GMT-04:00, Phil Beadling  a écrit :
>Hi all,
>
>I've read through this link:
>https://guix.gnu.org/manual/en/html_node/Package-Transformation-Options.html
>
>But I seem to get unexpected outcomes in some examples - see below.
>
>Any advice or confirmation that this is a bug or misuse by me?
>
>Thanks,
>Phil.
>
>A simple case of package transformation without any dependencies seems
>to
>work fine - for example, let's upgrade pandas to v1.1.5:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>*$ guix package -i python-pandas python -p ~/profiles/pandas-1.1.5
>--with-git-url=python-pandas=https://github.com/pandas-dev/pandas.git
>
>--with-commit=python-pandas=v1.1.5 --without-tests=python-pandasThe
>following packages will be installed:   python3.8.2  
>python-pandas
>1.1.5updating checkout of 'https://github.com/pandas-dev/pandas.git'.
>..retrieved commit
>af3e67970ff8e9e3eccfef54c8de96f850e36912The following derivation will
>be
>built:  
>/gnu/store/cd045q1l75wx59d62f1b8sb6p92yjf4d-profile.drvbuilding CA
>certificate bundle...listing Emacs sub-directories...building fonts
>directory...building directory of Info manuals...building database for
>manual pages...building profile with 2 packages...hint: Consider
>setting
>the necessary environment variables by running:
> GUIX_PROFILE="/home/phil/profiles/pandas-1.1.5" .
>"$GUIX_PROFILE/etc/profile"Alternately, see `guix package
>--search-paths -p
>"/home/phil/profiles/pandas-1.1.5"'.$
>GUIX_PROFILE="/home/phil/profiles/pandas-1.1.5"$ .
>"$GUIX_PROFILE/etc/profile"$ python3Python 3.8.2 (default, Jan  1 1970,
>00:00:01)[GCC 7.5.0] on linuxType "help", "copyright", "credits" or
>"license" for more information.>>> import pandas as pd>>>
>pd.__version__'0+unknown'>>>*
>
>The right commit is taken from github, and after the build we use the
>profile to access our new version of pandas (the 0+unknown version I
>think
>is caused by building from git).
>
>
>Next, I try exactly the same transformation, but I want to instead
>build
>one of my own applications which has python-pandas as propagated input.
> My
>understanding from the docs is this should work find as a deep
>transformation should occur?
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>*$ guix package -i foo python -p ~/profiles/foo-pandas-1.1.5
>--with-git-url=python-pandas=https://github.com/pandas-dev/pandas.git
>
>--with-commit=python-pandas=v1.1.5 --without-tests=python-pandas
>--without-tests=python-dask --without-tests=fooThe following packages
>will
>be installed:   python 3.8.2   foo 3.196.0updating checkout of
>'ssh://git@bitbucket:7999/foo/foo.git'...retrieved commit
>a723e52bec22ca36bbfda62f34a1f46e0065b7eaupdating checkout of
>'https://github.com/pandas-dev/pandas.git'.
>..retrieved commit
>af3e67970ff8e9e3eccfef54c8de96f850e36912hint: Consider setting the
>necessary environment variables by running:
> GUIX_PROFILE="/home/phil/profiles/simm-pandas-1.1.5" .
>"$GUIX_PROFILE/etc/profile"Alternately, see `guix package
>--search-paths -p
>"/home/phil/profiles/simm-pandas-1.1.5"'.$
>GUIX_PROFILE="/home/phil/profiles/simm-pandas-1.1.5"$ .
>"$GUIX_PROFILE/etc/profile"$ python3Python 3.8.2 (default, Jan  1 1970,
>00:00:01)[GCC 7.5.0] on linuxType "help", "copyright", "credits" or
>"license" for more information.>>> import pandas as pd>>>
>pd.__version__'1.1.2'>>>*
>
>Everything looks to be going to plan, but when I import pandas using
>the
>new profile I get version *1.1.2* - which is my standard untransformed
>python-pandas package - no replacement has taken place, despite the
>process
>reporting the correct location and commit id for the pandas checkout.
>
>
>This either looks like a) a bug, or b) I've misunderstood the scope of
>the
>transformation syntax.
>
>
>One last detail - my own definiton of python-pandas v1.1.2 inherits
>from
>the gnu package in Guix.  Whilst I inherit the name python-pandas the
>actual package is called python-pandas-foo, and it is referenced in
>foo's
>package's propagated inputs like this:
>*("python-pandas" ,python-pandas-foo)*
>
>Package definition snippet:
>
>
>
>
>
>
>
>
>
>
>*(define-public python-pandas-foo  (package(inherit python-pandas)
>(version "1.1.2")(source (origin   (method url-fetch)
> (uri (pypi-uri "pandas" version))   (sha256(base32
>"0i0lbp26kzbq1qa4rv2s2r42m9d95svjrfflmi01plygla3zskxn"  and so
>on*
>
>I don't think this last detail should matter, but I include is as the
>only
>other significant detail that may differ from other systems.


Inconsistencies in Package Transformation?

2021-05-18 Thread Phil Beadling
Hi all,

I've read through this link:
https://guix.gnu.org/manual/en/html_node/Package-Transformation-Options.html

But I seem to get unexpected outcomes in some examples - see below.

Any advice or confirmation that this is a bug or misuse by me?

Thanks,
Phil.

A simple case of package transformation without any dependencies seems to
work fine - for example, let's upgrade pandas to v1.1.5:

































*$ guix package -i python-pandas python -p ~/profiles/pandas-1.1.5
--with-git-url=python-pandas=https://github.com/pandas-dev/pandas.git

--with-commit=python-pandas=v1.1.5 --without-tests=python-pandasThe
following packages will be installed:   python3.8.2   python-pandas
1.1.5updating checkout of 'https://github.com/pandas-dev/pandas.git'.
..retrieved commit
af3e67970ff8e9e3eccfef54c8de96f850e36912The following derivation will be
built:   /gnu/store/cd045q1l75wx59d62f1b8sb6p92yjf4d-profile.drvbuilding CA
certificate bundle...listing Emacs sub-directories...building fonts
directory...building directory of Info manuals...building database for
manual pages...building profile with 2 packages...hint: Consider setting
the necessary environment variables by running:
 GUIX_PROFILE="/home/phil/profiles/pandas-1.1.5" .
"$GUIX_PROFILE/etc/profile"Alternately, see `guix package --search-paths -p
"/home/phil/profiles/pandas-1.1.5"'.$
GUIX_PROFILE="/home/phil/profiles/pandas-1.1.5"$ .
"$GUIX_PROFILE/etc/profile"$ python3Python 3.8.2 (default, Jan  1 1970,
00:00:01)[GCC 7.5.0] on linuxType "help", "copyright", "credits" or
"license" for more information.>>> import pandas as pd>>>
pd.__version__'0+unknown'>>>*

The right commit is taken from github, and after the build we use the
profile to access our new version of pandas (the 0+unknown version I think
is caused by building from git).


Next, I try exactly the same transformation, but I want to instead build
one of my own applications which has python-pandas as propagated input.  My
understanding from the docs is this should work find as a deep
transformation should occur?



























*$ guix package -i foo python -p ~/profiles/foo-pandas-1.1.5
--with-git-url=python-pandas=https://github.com/pandas-dev/pandas.git

--with-commit=python-pandas=v1.1.5 --without-tests=python-pandas
--without-tests=python-dask --without-tests=fooThe following packages will
be installed:   python 3.8.2   foo 3.196.0updating checkout of
'ssh://git@bitbucket:7999/foo/foo.git'...retrieved commit
a723e52bec22ca36bbfda62f34a1f46e0065b7eaupdating checkout of
'https://github.com/pandas-dev/pandas.git'.
..retrieved commit
af3e67970ff8e9e3eccfef54c8de96f850e36912hint: Consider setting the
necessary environment variables by running:
 GUIX_PROFILE="/home/phil/profiles/simm-pandas-1.1.5" .
"$GUIX_PROFILE/etc/profile"Alternately, see `guix package --search-paths -p
"/home/phil/profiles/simm-pandas-1.1.5"'.$
GUIX_PROFILE="/home/phil/profiles/simm-pandas-1.1.5"$ .
"$GUIX_PROFILE/etc/profile"$ python3Python 3.8.2 (default, Jan  1 1970,
00:00:01)[GCC 7.5.0] on linuxType "help", "copyright", "credits" or
"license" for more information.>>> import pandas as pd>>>
pd.__version__'1.1.2'>>>*

Everything looks to be going to plan, but when I import pandas using the
new profile I get version *1.1.2* - which is my standard untransformed
python-pandas package - no replacement has taken place, despite the process
reporting the correct location and commit id for the pandas checkout.


This either looks like a) a bug, or b) I've misunderstood the scope of the
transformation syntax.


One last detail - my own definiton of python-pandas v1.1.2 inherits from
the gnu package in Guix.  Whilst I inherit the name python-pandas the
actual package is called python-pandas-foo, and it is referenced in foo's
package's propagated inputs like this:
*("python-pandas" ,python-pandas-foo)*

Package definition snippet:










*(define-public python-pandas-foo  (package(inherit python-pandas)
(version "1.1.2")(source (origin   (method url-fetch)
 (uri (pypi-uri "pandas" version))   (sha256(base32
"0i0lbp26kzbq1qa4rv2s2r42m9d95svjrfflmi01plygla3zskxn"  and so on*

I don't think this last detail should matter, but I include is as the only
other significant detail that may differ from other systems.


Re: Why is gfortran at 7.5.0?

2021-05-18 Thread Efraim Flashner
On Tue, May 18, 2021 at 03:01:49PM +, Todor Kondić wrote:
> Is there any particular reason gfortran toolchain is on v7.5.0 ? I see that 
> gcc advanced to v11.
> 

We used to provide a number of gfortran packages but we discovered that
they don't play nicely with packages built with other versions. We
decided to keep gfortran at the same version as the default gcc version,
although I don't remember why exactly.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: How to repair/reinstall guix on foreign distro

2021-05-18 Thread c4droid


Thorsten Wilms writes:

> Hi! It seems every few weeks i’m thrown into a initramfs prompt, as
> root got mounted read-only. The way out is always running fsck, which
> reports errors and offers fixes that I either can’t map to anything, or
> that refer to paths that belong to guix. Usually only below /gnu/store,
> but this time also var/guix.
>
> Now `guix pull` fails with:
> ```
> ;;; WARNING: loading compiled
> file 
> /gnu/store/8bsnz1fk330qbn1p8k18i0j11vld4jxd-guix-module-union/lib/guile/3.0/site-ccache/guix/build-system/gnu.go
> failed: ;;; In procedure load-thunk-from-memory: not an ELF file
> Updating channel 'guix' from Git repository at
> 'https://git.savannah.gnu.org/git/guix.git'... guix pull: error: Git
> error: invalid data in index - incorrect header signature
> ```
>
> At first, I focused on the warning (sorry, leoprikler) ... the same git
> error happens when using an older guix.
>
> Now a fix for that would be great, but independent of that, I have to
> wonder how one should go about reinstalling guix on a foreign distro. I
> cannot umount or remount and remove /gnu/store!
>
> Even after `sudo systemctl stop gnu-store.mount`, /gnu/store is busy.
> `fuser -kim /gnu/store/` will throw me out of the session, even though
> I would think everything that belongs to it is part of the host (Ubuntu
> Unity 20.10). No sudo umount or remount or rm -rf allowed, /gnu/store
> remains ro and busy. Short of booting another system (say an USB
> stick), is there a way to clear /gnu/store? Or to safely replace its
> content?

Hi, Thorsten

I was install guix on a ubuntu server and work right, can you reproduce
you guix installation process? maybe the fault happen in install guix
process.

--

Best reguards,
c4droid



System reconfigures guile module error

2021-05-18 Thread c4droid
Hi, Guix!

I just running `guix pull` for daily update, when after `guix pull` and
reconfigure the system, executing the activation script, I got a
backtrace:

Backtrace:
In ice-9/boot-9.scm:
  3422:24 19 (_)
   222:29 18 (map1 (((gnu system accounts)) ((gnu build accounts)) …))
   222:29 17 (map1 (((gnu build accounts)) ((gnu build #)) ((# …)) …))
   222:17 16 (map1 (((gnu build linux-boot)) ((guix build utils)) # …))
  3326:17 15 (resolve-interface (gnu build linux-boot) #:select _ # _ …)
In ice-9/threads.scm:
390:8 14 (_ _)
In ice-9/boot-9.scm:
  3252:13 13 (_)
In ice-9/threads.scm:
390:8 12 (_ _)
In ice-9/boot-9.scm:
  3536:20 11 (_)
   2835:4 10 (save-module-excursion #)
  3556:26  9 (_)
In unknown file:
   8 (primitive-load-path "gnu/build/linux-boot" #)
In gnu/build/linux-boot.scm:
 22:0  7 (_)
In ice-9/boot-9.scm:
   3409:4  6 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
  3422:24  5 (_)
   222:29  4 (map1 (((rnrs io ports)) ((system repl #)) ((srfi #)) …))
   222:17  3 (map1 (((system repl error-handling)) ((srfi srfi-1)) …))
   3329:6  2 (resolve-interface (system repl error-handling) #:select …)
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
no code for module (system repl error-handling)

Maybe this error is guile bug?

--
Best reguards,
c4droid



Re: Using bootstrap seeds write package definitions

2021-05-18 Thread c4droid


Julien Lepiller writes:

> Hi c4droid,
>
> Le Sun, 16 May 2021 10:50:36 +0800,
> "c4droid"  a écrit :
>
>> Hello guix!
>> I was using the Linux From Scratch for a while as my mainly linux
>> distro, use soft link as package management. when I heard guix, I
>> think I found solution for my LFS package management. I tried guix
>> and guix system few month, Is time for switch my LFS package manager
>> to guix.
>
> I've been using LFS (and my own LFS-based "distro") for some years, so
> I completely understand why you'd want to use guix. Actually I based my
> "distro" on what I understood from Guix and the package manager from
> Haiku. When I understood I implemented that badly, I switched to Guix
> and Guix System entirely, no more LFS :D.
>
>> When I watched the manual talk about bootstrapping guix, I don't know
>> how to writing some package definitions with bootstrap-seeds, I was
>> searching on the google and ask questions on irc, because building
>> the LFS, want build the cross toolchain (stage 1) then build final
>> system (stage 2), last is kernel and initramfs (stage 3). after that
>> is build Beyond LFS (stage 4). I stuck with using bootstrap seeds
>> writing stage 1 package definitions. So I ask for help on community,
>> because the power of community is great. :)
>
> So Guix comes with a set of packages, which are just recipes to build
> them from source. There are two things you might want to do: you can
> either use the existing packages or create your own recipes for the
> whole system.
>
> If you choose to use our packages, then there are again two options.
> You can use the existing binary bootstrap (the only thing you wouldn't
> build yourself), or build it yourself and replace the binaries used in
> Guix by your own. Note that the bootstrap binaries are different from
> the binaries built for the first chroot of LFS (the cross-compiler). We
> do not use a binary GCC, but we instead start from mescc, a small C
> compiler, and use it to build tcc, then gcc, with the goal of reducing
> that down to stage0, which is only a few hundred bytes of binary, plus
> sources of other packages.
>
> # Using our recipes and bootstrap binaries
>
> If you want to use our bootstrap binaries, there is nothing to do,
> because Guix itself will be able to get the binary bootstrap and build
> everything from it. Do not enable substitutes if you want to build
> everything yourself.
>
> # Providing your own bootstrap binaries
>
> If you prefer to provide your own bootstrap, you'll have to build and
> provide binaries for the bootstrap seeds we currently have in Guix,
> that you see in the manual.
>
> # Building your own packages
>
> If you decide not to use our recipes, you must write your own. The set
> of packages is rooted in the bootstrap seeds, as you noticed. However,
> if you want to provide your own recipes, you are basically free to
> provide any bootstrap and further packages you want. What you could do
> is to build stage1 (cross toolchain), use that as your binary seed, and
> build the other stages as guix packages. Note that for that, you'll
> need to have guix already installed on the host system.
>
> If you have never used Guix, or never written a package definition, you
> might want to have a look at our short packaging tutorial at
> https://guix.gnu.org/en/cookbook/en/html_node/Packaging-Tutorial.html#Packaging-Tutorial
> (French and German are also available if you prefer one of these
> languages).
>
> There is some code in gnu/packages/bootstrap.scm that you might be
> interested in. It has some interesting bits: first there are a few
> binary seeds with hashes: they are statically linked binaries that are
> needed to decompress other seeds. Then, we define a few special
> procedures that replace the normal packaging procedures
> (bootstrap-origin, package-from-tarball). You probably want to use them
> or get inspiration from them to create your own bootstrap recipes
> (packages that simply decompress a tarball containing a prebuilt
> binary). The rest of the file lists these packages.
>
> Then gnu/packages/commencement.scm is the very beginning of the package
> graph. These packages use the binary seeds to build up to gcc, that we
> later use in the gnu-build-system, etc. You will be interested in the
> comments in this file too :)
>

I watched gnu/packages/bootstrap.scm and gnu/packages/commencement.scm,
I decide use mes tools and busybox utilities make bootstrap recipes and
my own bootstrap seeds, then follow the gnu/packages/commencement.scm
graph build cross toolchain and so on. But the way, the bootstrap and
commencement module give some inspiration for my idea.

> # My own experience with my package manager (not guix)
>
> If I recall correctly, what I did when I had my own "distro" (and
> package manager), is that I first built the cross-toolchain and base
> system from LFS (it was pre-10.0, and we built the cross-compiler and
> use it firts outside the chroot to build the base build 

Why is gfortran at 7.5.0?

2021-05-18 Thread Todor Kondić
Is there any particular reason gfortran toolchain is on v7.5.0 ? I see that gcc 
advanced to v11.








Re: How to repair/reinstall guix on foreign distro

2021-05-18 Thread Thorsten Wilms
On Tue, 18 May 2021 11:20:41 +0200
Ricardo Wurmus  wrote:

> > I would still like to have a minimal invasive way to get beyond:
> > ```
> > guix pull: error: Git error: invalid data in index - incorrect 
> > header
> > signature
> > ```
> 
> Try erasing the git cache at ~/.cache/guix/checkouts first.

Thank you, that did the trick!


-- 
Thorsten Wilms 



Re: How to repair/reinstall guix on foreign distro

2021-05-18 Thread Ricardo Wurmus



Thorsten Wilms  writes:

It does however claim that all except one power cylce has been 
an unsafe
shutdown, even though I had only a few hard resets and usually 
shutdown

by issuing `poweroff`.


That’s worrying.  “unsafe shutdown” leads to file system 
corruption, and Guix doesn’t like that at all.



I would still like to have a minimal invasive way to get beyond:
```
guix pull: error: Git error: invalid data in index - incorrect 
header

signature
```


Try erasing the git cache at ~/.cache/guix/checkouts first.

--
Ricardo



Re: How to repair/reinstall guix on foreign distro

2021-05-18 Thread Joshua Branson
Thorsten Wilms  writes:

> On Mon, 17 May 2021 22:23:03 -0400
> Joshua Branson  wrote:
>
>> Is ubuntu causing this issue?  Why are you seeing an initramfs prompt
>> every few weeks?  If you are running guix on ubuntu...that seems like
>> it's ubuntu's fault.  Though I'm probably way wrong.
>
> If there are filesystem errors on boot, you get a initramfs shell that
> allows running fsck on root for repairs. Sometimes, some files can’t be
> fixed. 
>
> The system resides on a Transcend 256GB MTE110S SSD. Now one would
> probably assume that SSD is faulty. What’s curious is that so far, any
> and all noticeable corruption has been limited to guix-related files!
> smartctl repports "overall-health self-assessment test result: PASSED"
> and has "No Errors Logged". Full output attached at the end.
>
> It does however claim that all except one power cylce has been an unsafe
> shutdown, even though I had only a few hard resets and usually shutdown
> by issuing `poweroff`. Searching the web for this issue led me to
> turning off fast boot in the BIOS, but that didn’t help.
>
> I would still like to have a minimal invasive way to get beyond:
> ```
> guix pull: error: Git error: invalid data in index - incorrect header
> signature
> ```
> Or a way to to remove/replace /gnu/store from the running system.

If you are convinced on using guix on a foreign distro...then you could
create a separate partition for /gnu/store and /var/guix.  Then mount
those at boot time.   That way at least, you could not have to manually
run fsck at an initramfs.  You could do it when you've logged into
ubuntu's gnome (or whatever it is that you use.)

I wish I could be more helpful.

-- 
Joshua Branson (joshuaBPMan in #guix)
Sent from Emacs and Gnus
  https://gnucode.me
  https://video.hardlimit.com/accounts/joshua_branson/video-channels
  https://propernaming.org
  "You can have whatever you want, as long as you help
enough other people get what they want." - Zig Ziglar
  



Re: How to repair/reinstall guix on foreign distro

2021-05-18 Thread Thorsten Wilms
On Tue, 18 May 2021 10:30:03 +0800
c4droid  wrote:

> I was install guix on a ubuntu server and work right, can you
> reproduce you guix installation process? maybe the fault happen in
> install guix process.

Thanks, but this has been a working guix installation, so I very much
doubt something went wrong during setup.

-- 
Thorsten Wilms 



Re: How to repair/reinstall guix on foreign distro

2021-05-18 Thread Thorsten Wilms
On Mon, 17 May 2021 22:23:03 -0400
Joshua Branson  wrote:

> Is ubuntu causing this issue?  Why are you seeing an initramfs prompt
> every few weeks?  If you are running guix on ubuntu...that seems like
> it's ubuntu's fault.  Though I'm probably way wrong.

If there are filesystem errors on boot, you get a initramfs shell that
allows running fsck on root for repairs. Sometimes, some files can’t be
fixed. 

The system resides on a Transcend 256GB MTE110S SSD. Now one would
probably assume that SSD is faulty. What’s curious is that so far, any
and all noticeable corruption has been limited to guix-related files!
smartctl repports "overall-health self-assessment test result: PASSED"
and has "No Errors Logged". Full output attached at the end.

It does however claim that all except one power cylce has been an unsafe
shutdown, even though I had only a few hard resets and usually shutdown
by issuing `poweroff`. Searching the web for this issue led me to
turning off fast boot in the BIOS, but that didn’t help.


I would still like to have a minimal invasive way to get beyond:
```
guix pull: error: Git error: invalid data in index - incorrect header
signature
```
Or a way to to remove/replace /gnu/store from the running system.


```
~: sudo smartctl -x /dev/nvme0n1p2
[sudo] password for thorwil: 
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.8.0-53-generic] (local
build) Copyright (C) 2002-19, Bruce Allen, Christian Franke,
www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:   TS256GMTE110S
Serial Number:  G286710001
Firmware Version:   S0905C3
PCI Vendor/Subsystem ID:0x126f
IEEE OUI Identifier:0x00
Controller ID:  1
Number of Namespaces:   1
Namespace 1 Size/Capacity:  256.060.514.304 [256 GB]
Namespace 1 Formatted LBA Size: 512
Local Time is:  Tue May 18 09:23:26 2021 CEST
Firmware Updates (0x12):1 Slot, no Reset required
Optional Admin Commands (0x0007):   Security Format Frmw_DL
Optional NVM Commands (0x001f): Comp Wr_Unc DS_Mngmt Wr_Zero
Sav/Sel_Feat Maximum Data Transfer Size: 64 Pages
Warning  Comp. Temp. Threshold: 83 Celsius
Critical Comp. Temp. Threshold: 90 Celsius

Supported Power States
St Op Max   Active Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 + 9.00W   --0  0  0  00   0

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 + 512   0 0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:   0x00
Temperature:48 Celsius
Available Spare:88%
Available Spare Threshold:  10%
Percentage Used:0%
Data Units Read:1.136.204 [581 GB]
Data Units Written: 1.901.390 [973 GB]
Host Read Commands: 15.204.795
Host Write Commands:18.097.210
Controller Busy Time:   1.386
Power Cycles:   276
Power On Hours: 1.214
Unsafe Shutdowns:   275
Media and Data Integrity Errors:0
Error Information Log Entries:  0
Warning  Comp. Temperature Time:0
Critical Comp. Temperature Time:0

Error Information (NVMe Log 0x01, max 64 entries)
No Errors Logged
```

-- 
Thorsten Wilms