all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Thompson, David" <dthompson2@worcester.edu>
To: Vincent Legoll <vincent.legoll@gmail.com>
Cc: Alex Kost <alezost@gmail.com>, help-guix <help-guix@gnu.org>
Subject: Re: Reverse dependencies
Date: Fri, 12 Aug 2016 11:55:26 -0400	[thread overview]
Message-ID: <CAJ=RwfZ4nwKUkkLOJjEz_0udZsJauHeBx2RpYXaWMPLkb3jikw@mail.gmail.com> (raw)
In-Reply-To: <CAEwRq=oZAtruL+COJh0_NPiN8TWoO_n8u14naUQBtayfUeJnew@mail.gmail.com>

On Fri, Aug 12, 2016 at 5:27 AM, Vincent Legoll
<vincent.legoll@gmail.com> wrote:
> Hello,
>
>> I think you mean inkscape is pulled when you build the system.  Then you
>> will not find it like this.  It is needed to build the fancy grub image,
>> and it is "pulled" by the system building code (specifically by
>> 'svg->png' procedure in (gnu system grub) module).  If you want to avoid
>> it, you can specify an "empty" theme for example:
>>
>>   (bootloader (grub-configuration (device "/dev/sda")
>>                                   (theme (grub-theme))))
>
> Thanks for that information, that was what I wanted to know (both the where
> does it come from, and the how to avoid it being pulled in)
>
> I think a "guix revdep $PKG" should be a valuable tool

While we can certainly make learning about this stuff easier, but
making a new subcommand with a cryptic name just for this purpose
wouldn't be a very good UI.

> it should work:
> 1 - globally in the list of defined packages
> 2 - locally in the list of packages from the current user's profile
> 3 - systemly, from the list of installed packages in the system profile

What do you define "dependencies" to be?  Using your situation as an
example, inkscape is *not* a dependency of the built system, but it is
a dependency of the *derivation* that builds the system.  Using
profiles wouldn't work because profiles may contain references to
store items that the current Guix has no knowledge of.  package
expression -> built package is a one way transformation.  What you can
do, however, is use 'guix gc --referrers' to get a list of store items
that refer to the store item passed in.  This still doesn't help you
in the inkscape case because the built system has no reference to
inkscape, it was just used in the build script.

I think the "right thing" here is to add features to 'guix graph' so
that it can make a referrer graph using the Scheme package graph.
'guix system' has graph subcommands already, so we could add one that
produces a full package dependency graph which would show you who
depends on inkscape.

Any volunteers? :)

I'd also like to point out that you can already use 'guix gc
--referrers /gnu/store/....-foo-1.0' to find out which store items
depend on the one passed in.

- Dave

  reply	other threads:[~2016-08-12 15:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-16  9:58 Reverse dependencies Vincent Legoll
2016-07-16 16:13 ` Leo Famulari
2016-08-11 14:43   ` Vincent Legoll
2016-08-11 19:08     ` Patricia J. Hawkins
2016-08-11 19:13     ` Eric Bavier
2016-08-12 16:24       ` Chris Marusich
2016-08-12 16:30         ` Eric Bavier
2016-08-12 16:36           ` Chris Marusich
2016-08-12  9:03     ` Alex Kost
2016-08-12  9:27       ` Vincent Legoll
2016-08-12 15:55         ` Thompson, David [this message]
2016-08-12 16:13           ` Thompson, David
2016-08-13 11:17           ` Vincent Legoll

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ=RwfZ4nwKUkkLOJjEz_0udZsJauHeBx2RpYXaWMPLkb3jikw@mail.gmail.com' \
    --to=dthompson2@worcester.edu \
    --cc=alezost@gmail.com \
    --cc=help-guix@gnu.org \
    --cc=vincent.legoll@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.