unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel@gnu.org
Subject: Re: guix pack file enumerator?
Date: Tue, 08 Dec 2020 12:13:26 +0100	[thread overview]
Message-ID: <877dpswnxl.fsf@gnu.org> (raw)
In-Reply-To: <875z5f6z1a.fsf@elephly.net> (Ricardo Wurmus's message of "Sun, 06 Dec 2020 10:53:37 +0100")

Hi,

Ricardo Wurmus <rekado@elephly.net> skribis:

> “guix pack” is great for deployment of applications to servers that
> don’t have Guix.  For a project I have a “deploy” target in my Makefile
> that essentially does this:
>
>     cat $(shell guix pack -RR -e '(load "guix.scm")' -S /bin=bin) | ssh remote-server "tar xvzf - -C /where/i/want/it"
>
> This is fine for small deployments, but it’s a little annoying that it
> transfer *all* the files, even those that haven’t changed.  So I thought
> I could use rsync here, but it’s inconvenient that “guix pack” will do
> what it was designed for and produce a single file bundle.
>
> What do you think about adding an output format that is no format at all
> but a file enumeration printed to stdout?  That way I could use “guix
> pack” to produce a list of files to transfer and use that to transfer
> only the unchanged files.  Alternatively, perhaps we could have a
> “directory” format that merely copies (or links) the files to a new
> directory root.

You could untar the pack and rsync it.  We could have a ‘directory’
format but I’m afraid it would duplicate too much of the tarball code
(we’d have to check).

When you think about it, you could just as well have Guix on the other
side and then use ‘guix copy’… or maybe use Guix directly there.  (As in
‘guix pack --localstatedir -RR guix’.)

I know it’s not what you had in mind, but it seems to me that there’s a
continuum here, and maybe there’s just a gap to bridge to allow for
smoother workflows?

Thanks,
Ludo’.


  parent reply	other threads:[~2020-12-08 11:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-06  9:53 guix pack file enumerator? Ricardo Wurmus
2020-12-06 19:33 ` Ryan Prior
2020-12-07 15:14 ` zimoun
2020-12-08 11:13 ` Ludovic Courtès [this message]
2020-12-09 11:04   ` Ricardo Wurmus
2020-12-14  9:48     ` Ludovic Courtès
2020-12-15  2:43       ` Ryan Prior
2020-12-15  9:53         ` Nicolò Balzarotti

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=877dpswnxl.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=rekado@elephly.net \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).