From: ludo@gnu.org (Ludovic Courtès)
To: Chris Marusich <cmmarusich@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: Installing some packages results in "incomplete deployment"
Date: Mon, 04 Dec 2017 10:18:41 +0100 [thread overview]
Message-ID: <87zi6yq2a6.fsf@gnu.org> (raw)
In-Reply-To: <87a7z1tq5v.fsf@gmail.com> (Chris Marusich's message of "Sat, 02 Dec 2017 01:50:04 -0800")
Hi Chris,
Chris Marusich <cmmarusich@gmail.com> skribis:
> Some Guix packages exist which are not intended to be installed into a
> user's profile. For example, android-udev-rules's description says:
>
> _Simply installing this package will not have any effect._ It is
> meant to be passed to the `udev' service.
>
> Still other packages do not work if they are installed by themselves.
> For example, xscreensaver (and other screen lockers [1]) does not work
> if you just install it into your profile; you need to add an instance of
> the screen-locker-service-type to your operating system declaration to
> ensure that xscreensaver gets installed as a setuid-root program. Even
> after you do this, to be able to configure xscreensaver using the
> xscreensaver-demo program, you ALSO need to remember to install
> xscreensaver either into the system profile or into your user profile.
>
> Is there anything we can do about this situation?
[...]
> * Document packages like these - like android-udev-rules already does.
>
> * Don't display these packages by default in tools like "guix package
> --search" (but maybe provide an option for displaying them if needed).
>
> * Don't export packages like these as public variables - hide them in
> appropriate services. For example, instead of requiring a user to
> install both a service of the screen-locker-service-type configured to
> use xscreensaver and also the xscreensaver package, modify the
> screen-locker-service-type so that it automatically installs the
> package into the system profile by extending the profile-service-type.
> In short, make it impossible to install an xscreensaver screen locker
> service incorrectly.
>
> What do you think?
I think adding a line in descriptions is often not very helpful—few
people are going to read that line.
Hiding those packages from the UI would be trivial: see ‘hidden-package’
in (guix packages).
We could do that, but it might be confusing: people will have a hard
time finding which screensavers are available, which is problematic.
Perhaps we could offer an option for packages to display hints at
installation time. Like
(package
(name "xscreensaver")
;; …
(properties
`((installation-notice
. ,(G_ "Please see the documentation of
@code{screen-locker-service-type} in the manual on how to use this
screen saver.")))))
Or maybe something higher level, like:
'((use-with-service . screen-locker-service-type))
Thoughts?
Ludo’.
next prev parent reply other threads:[~2017-12-04 9:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-02 9:50 Installing some packages results in "incomplete deployment" Chris Marusich
2017-12-02 10:03 ` Gábor Boskovits
2017-12-02 17:27 ` Adam Van Ymeren
2017-12-02 17:51 ` Gábor Boskovits
2017-12-04 9:18 ` Ludovic Courtès [this message]
2017-12-07 15:37 ` Ricardo Wurmus
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=87zi6yq2a6.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=cmmarusich@gmail.com \
--cc=guix-devel@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.