all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Pierre Neidhardt <ambrevar@gmail.com>
To: Chris Marusich <cmmarusich@gmail.com>
Cc: help-guix <help-guix@gnu.org>
Subject: Re: inxi and inxi-full
Date: Fri, 13 Apr 2018 09:30:53 +0530	[thread overview]
Message-ID: <874lkfpxfu.fsf@gmail.com> (raw)
In-Reply-To: <87woxb22o3.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3242 bytes --]


Chris Marusich <cmmarusich@gmail.com> writes:

> If we make two package definitions, I would prefer the name
> "inxi-minimal" for the version that is statically composed with the bare
> minimum of its runtime dependencies.  This is similar to how we have
> named other "minimal" packages in the past (e.g., qemu-minimal).

OK.

> I've taken a peek at inxi.  I assume it's this:
>
> https://github.com/smxi/inxi

Yes, sorry for not providing the link earlier.

> I see that it's a single perl script.  It runs various programs via
> Perl's "system" function in order to collate information about the
> system, and it then reports the results.  These programs - the runtime
> dependencies - are found via the PATH environment variable.  The script
> also embeds paths in some places that might need to be fixed.  For
> example, it looks like the get_gcc_data subroutine searches for gcc
> executables in the /usr/bin directory, which will not exist on GuixSD.

Thank you for the pointer to get_gcc_data.

The runtime dependencies are not exactly found by the PATH environment
variable: ENV{'PATH'} is set manually and explicitly in the source.
This is what I was discussing before (sorry if this was unclear).  Look
at the diff I mentioned earlier.  (Or look at line ~100 in the source.)

> If inxi-minimal can provide genuinely useful information without
> requiring the user to install additional packages, then I think it's
> reasonable to add a package definition for it.  However, if almost
> everyone is going to need to install additional packages into their
> profile just to get the output from inxi-minimal that they wanted, then
> I think we should not add it.

inxi-minimal would work.  It does provide some information.  The crucial
part here is that the set of optional dependencies is not bound to stop,
it could grow indefinitely.  inxi is sort of a platform for hardware
information.

Tracking them all could be hard.  Besides it might make inxi's closure
much bigger.  This needs testing though.

My suggestion: let's give inxi-minimal and inxi a try, compare their
closure size.  If it's not significant, then let's just have one single
package.


> In any case, I can think of a few ways to package inxi:
>
> * Wrap the inxi program with wrap-program, setting its PATH, PERL5LIB,
>   and so forth appropriately.  This seems like the easiest way to me.

That would not work, see my comment above.  PATH is hardwired in the program.

> * Patch the absolute paths in the source with a patch file, a snippet,
>   or an extra build phase.

This would be a lot of hard work: the file is 16k+ lines, `system` calls
are all over the place and lots of variable names contain the program
names in question (e.g. `my @xdpyinfo`), which prevents global substitutions.

> * Ask the maintainer (or submit a patch to them) to provide a mechanism
>   to explicitly tell inxi where its dependencies live (e.g., some kind
>   of configure script), and then use that mechanism.  This seems like
>   the hardest way to me, but it is also the most ideal.

Or ask the maintainer not to manually set the PATH variable.
I'll report the issue on GitHub.

--
Pierre Neidhardt

Five bicycles make a volkswagen, seven make a truck.
		-- Adolfo Guzman

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  reply	other threads:[~2018-04-13  4:01 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-28 14:02 Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock Pierre Neidhardt
2018-03-28 15:27 ` Package request inxi Oleg Pykhalov
2018-03-28 17:26   ` Pierre Neidhardt
2018-04-11 16:17     ` Pierre Neidhardt
2018-04-11 17:23       ` Oleg Pykhalov
2018-04-11 17:29         ` Pierre Neidhardt
2018-04-11 17:34           ` Pierre Neidhardt
2018-04-11 18:14             ` Oleg Pykhalov
2018-04-12  7:15               ` Pierre Neidhardt
2018-04-12  7:24                 ` Pierre Neidhardt
2018-04-12  8:53                   ` Chris Marusich
2018-04-12  9:09                     ` Pierre Neidhardt
2018-04-11 17:42           ` Oleg Pykhalov
2018-04-12  5:29             ` Pierre Neidhardt
2018-04-12  8:25       ` Chris Marusich
2018-04-12  8:39         ` Pierre Neidhardt
2018-04-12 17:07           ` inxi and inxi-full Oleg Pykhalov
2018-04-12 17:19             ` Pierre Neidhardt
2018-04-13  3:41               ` Chris Marusich
2018-04-13  4:00                 ` Pierre Neidhardt [this message]
2018-04-13  5:11                   ` Chris Marusich
2018-04-13  5:52                     ` Pierre Neidhardt
2018-04-13  6:13                       ` Chris Marusich
2018-04-13  6:24                         ` Pierre Neidhardt
2018-04-14  6:22                           ` Pierre Neidhardt
2018-04-16  6:59                             ` Chris Marusich
2018-04-16  7:16                               ` Pierre Neidhardt
2018-04-16 10:26                               ` gnu: Add inxi (old Shell script version) Oleg Pykhalov
2018-04-16 10:31                                 ` Pierre Neidhardt
2018-03-31  5:15 ` Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock Pierre Neidhardt
2018-04-01 12:15   ` Pierre Neidhardt
2018-04-12 13:04 ` Ricardo Wurmus
2018-04-12 17:00   ` Leo Famulari
2018-04-12 17:13 ` Clément Lassieur
2018-04-12 17:17   ` Pierre Neidhardt
2018-04-12 17:23     ` Marius Bakke
2018-04-12 17:34       ` Pierre Neidhardt
2018-04-12 17:41       ` Clément Lassieur
2018-04-12 17:53         ` Pierre Neidhardt
2018-04-21 19:18     ` File sharing with GNU Guix (was: Re: Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock) Chris Marusich
2018-04-22  5:58       ` Pierre Neidhardt

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=874lkfpxfu.fsf@gmail.com \
    --to=ambrevar@gmail.com \
    --cc=cmmarusich@gmail.com \
    --cc=help-guix@gnu.org \
    /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.