all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Chris Marusich <cmmarusich@gmail.com>
To: ison <ison@airmail.cc>
Cc: help-guix@gnu.org
Subject: Re: A few questions about channels
Date: Sun, 05 May 2019 20:21:37 -0700	[thread overview]
Message-ID: <87woj4xo72.fsf@gmail.com> (raw)
In-Reply-To: <20190424224654.td7fwnjjf4hnguyc@cf0> (ison's message of "Wed, 24 Apr 2019 16:46:55 -0600")

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

ison <ison@airmail.cc> writes:

> 3) How can a channel provide patch files which can be used with
> "search-patches"? I attempted to look through the guix code in
> gnu/packages.scm and from what I can tell it looks like search-patches
> only looks in paths included from "%load-path". There is also a
> comment saying that it picks up the paths from $GUIX_PACKAGE_PATH, but
> I thought that variable was being deprecated in favor of channels. If
> so, shouldn't search-patches also look inside the channels repository
> for patch files?

This should work just like it would for GUIX_PACKAGE_PATH.  Are you
saying that the patch files you have created in your channel are not
being found?

david.larsson@selfhosted.xyz writes:

> On Wed, 24 Apr 2019, ison wrote:
>
>> Several questions about channels have been on my mind which I
>> haven't been able to find any documentation on. So I figured I would
>> ask them all in one place since they seem like fairly standard
>> questions that could help others setting up channels in the future
>> as well.
>>
>> 1) Is it possible to make a channel from a local git repository? (That is to say, a directory on the local machine initialized as a git repository)
>>
>
> Yes, for example, cat ~/.config/guix/channels.scm
>
> (cons (channel
>        (name 'my-personal-packages)
>        (url "file:///home/myuser/src/my-guix-packages"))
>       %default-channels)

Actually, you can also just write "/home/myuser/src/my-guix-packages".
The "file://" part is fine to add, but it is not necessary.  I think
(but am not sure) that you can use any protocol understood by Git here.

>> 2) Is it possible to use private remote repositories as channels?
>> The issue here seems to be one of authentication. I'm wonder if
>> there is (or should be) an "authentication" field one would add to
>> the channel definition in the channels.scm file.
>>
> I agree it would be nice to have. The git-fetch method is defined
> here:
> https://github.com/guix-mirror/guix/blob/012bf5c4c03e30633f137960bd0677e204c638a7/guix/build/git.scm
> and I think it can be modified without too much effort to include an
> argument for the -key flag to the git command. I am not sure though
> whether git-fetch will have access to the home user's directory in
> case you provide let's say ~/.ssh/id_rsa as argument. Another
> possibility would be to check the GIT_SSH_COMMAND env variable. I
> suppose you also need to make sure ssh is available for git-fetch.

It may also be possible to jump through hoops similar to how I did it
for package origins in this not-yet-merged patch:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31285

I have been thinking about this problem for a while, but I have not yet
tried to solve it for channels.  The patch above only works for
individual packages, and it is quite a hack, so I am hesitant to merge
it into master because I think maybe there is a better way.

I think the better way might be to give the guix-daemon an SSH key
specifically for the purpose of accessing Git repositories over
authenticated SSH.  In the same way that the Guix daemon has its own
built in downloader for downloading files, we might be able to give it a
built in "git fetcher" to fetch Git repositories over SSH, using the
provided SSH key.  But I haven't looked into it more at this time.  Help
is welcome!

-- 
Chris

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

  parent reply	other threads:[~2019-05-06  3:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-24 22:46 A few questions about channels ison
2019-04-25  8:18 ` david.larsson
2019-04-30 19:41   ` Oleg Pykhalov
2019-05-06  3:21 ` Chris Marusich [this message]
2019-05-06 21:13   ` ison
2019-05-06 21:43     ` Ricardo Wurmus
2019-05-07  0:45       ` ison

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=87woj4xo72.fsf@gmail.com \
    --to=cmmarusich@gmail.com \
    --cc=help-guix@gnu.org \
    --cc=ison@airmail.cc \
    /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.