From: Fabian Harfert <fhmgufs@web.de>
To: guix-devel@gnu.org
Subject: Add "guix update" command
Date: Sat, 23 Jan 2016 19:20:34 +0100 [thread overview]
Message-ID: <20160123192034.3fd660a9@alarmpi> (raw)
Hello,
on IRC I already mentioned that, but there wasn't much resonance: I
think for the purposes of non-developers the behavior of the "guix
pull" command is too complicated.
Normal users don't need a development version of the package manager,
when they just want to get the newest package definitions to update
their installed software. So it would be much easier and faster if
there was a separate repository just containing the most recent package
definitions.
I propose to add a new command line option - e.g. "guix update" -
fetching these latest package definitions and not doing anything else.
They could be contained by a package whose definition is downloaded,
for example "guix-packages".
To avoid compatibility issues when there's a new release of Guix itself
this package must be versioned equal to the Guix version numbers. I'm
thinking of the following:
The user is running Guix 1.2.1 and has installed the package
guix-packages-1.2.1-4 containing the package definitions. Now he runs
"guix update" and fetches guix-packages-1.2.1-5 with the new package
definitions including the new Guix release 1.2.2. He now updates Guix
to this version which has the new guix-packages-1.2.2-0 as an input.
When he runs "guix update" again, guix-packages-1.2.2-1 is installed,
which contains package definitions that make use of some new features.
This would just be for the time between the Guix releases. I think we
don't need support for older versions of Guix except from keeping the
last guix-packages package, but we could also do some security
or minor updates to the older package definitions which would provide
users the possibility to use GuixSD as a stable distribution like
Debian.
Another advantage of the separation between Guix itself and the package
definitions is that it's easy to provide an own or foreign
guix-packages package which would promote the decentralization of Guix.
Initially I thought of doing the same for service definitions except
from the basic ones. But I think that version compatibility problems
would occur more often because service definitions are at a lower level
than the package definitions. In addition the notorious normal users
won't change so much of their service definitions.
Fabian
I don't know why this E-Mail is shown as a reply to the transmission
patch, so I send it again, sorry.
next reply other threads:[~2016-01-23 18:20 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-23 18:20 Fabian Harfert [this message]
2016-01-23 19:27 ` Add "guix update" command Christopher Allan Webber
-- strict thread matches above, loose matches on Subject: below --
2015-09-16 15:45 [PATCH] Add cufflinks Ricardo Wurmus
2015-09-16 17:10 ` Ludovic Courtès
2016-01-23 16:36 ` [PATCH 1/1] gnu: transmission-gtk: Add icon dependencies Ludovic Courtès
2016-01-23 18:11 ` Add "guix update" command Fabian Harfert
2016-01-23 18:28 ` Friedrich Herbst
2016-01-23 19:37 ` Thompson, David
2016-01-23 21:35 ` Ludovic Courtès
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=20160123192034.3fd660a9@alarmpi \
--to=fhmgufs@web.de \
--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.