help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Several questions on Guix(SD)


From: Leo Famulari
Subject: Re: Several questions on Guix(SD)
Date: Mon, 22 Aug 2016 17:49:21 -0400
User-agent: Mutt/1.7.0 (2016-08-17)

Welcome, Björn!

On Mon, Aug 22, 2016 at 10:53:50PM +0200, Björn Höfling wrote:
>  * Do you have the concept of package maintainers, like in Debian?
>    People who are responsible for each package, apply patches, etc?

No, we don't have a concept of this. In practice, people pay attention
to the packages they care about. This information can be obtained with
`git blame` and `git log`.

Some of us subscribe to security-related mailing lists, and apply
security updates across the package tree. More people should do this,
please :)

>  * Are there "recommmended"/"sugggested" dependencies? For example,
>    diffoscope complained that "'readelf' is not on the path. Falling
>    back to binary comparison." That could be a candidate for a package
>    not needed at compile/runtime but that would enhance the usage if
>    present.

All dependencies are specified explicitly in the package definitions and
the build systems.

We do have a concept of run-time and build-time dependencies. See the
text about "inputs":
<https://www.gnu.org/software/guix/manual/html_node/package-Reference.html#package-Reference>

Speaking of caring about packages, I care about diffoscope. I will look
into adding readelf to the diffoscope package definition.

>  * I have for example in my store:
>    * /gnu/store/abc...-tar-1.29/
>    * /gnu/store/xyz...-tar-1.29/
> 
>    Can I somehow figure out what's the differnce between them, how
>    they came into the system, which one is "newer"? I tried diffoscope
>    and found some marginal, crypted hex-differences.

You can inspect the relationships a given store item has to other store
items with the '--referrers', '--requisites', '--references' options to
`guix gc`:
<https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-gc.html#Invoking-guix-gc>

I'm not sure if it's possible to go backwards from a store item to the
Guix Git commit it was built from. Advice wanted!

>  * Can I somehow get a store history? I.e. a (ordered) list of
>    installation progress. "ls -ltr /gnu/store" was my first try
>    but it obviously fails.

Yes, there is `guix package --list-generations`. For more, see
<https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html#Invoking-guix-package>
<https://www.gnu.org/software/guix/manual/html_node/Features.html#Features>

>  * Is there a log for the deamon? I only found the
>    "/var/log/guix/drvs", which seam to be only logs of each compilation.
>    BTW, what do the two letters of the subfolders mean? 

The log output of the daemon goes wherever your daemons normally log to.
On most recent versions of the major distros, this is handled by
systemd / journald.

Package build logs can be obtained like so:

`guix build foo --log-file --no-grafts`

... but you still have the problem of knowing which version of Guix
produced the store item you are interested in. I'm interested to hear
better answers to this question.

>  * Is there a list of builds available that are not reproducible? Or is
>    that (eq? _ '()) ?

We don't have much infrastructure for tracking reproducible builds yet.
Help wanted!

We do have `guix challenge`, for challenging a binary substitute server.
Also, packages can be built with '--rounds=x' and '--check', which
repeat the build and compare the outputs to see if they are bit-for-bit
identical.

<https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-build.html#Invoking-guix-build>
<https://www.gnu.org/software/guix/manual/html_node/Common-Build-Options.html#Common-Build-Options>

>  * Are any other Hydra instances running other than the GNU ones that
>    could be challenged?

I don't know of any public instances. There are some private instances
running in institutional settings.

There is `guix publish`, which is not a full continuous integration
system like Hydra, but rather a simple HTTP server that you can use to
serve your binary substitutes:

<https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-publish.html#Invoking-guix-publish>

>  * If I would like to set up my own Hydra server, how much storage space
>    takes the whole hydra-archive of substitutes (for each platform)? Or
>    only the %base-packages?
> 
>  * How much time takes it to recompile all packages in Hydra?

I don't know. Others can answer this.

And, others can add to my answers as well.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]