all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: EuAndreh <eu@euandre.org>
To: help-guix@gnu.org
Subject: Can't serve a custom channel on a HTTPS repository
Date: Mon, 26 Jul 2021 14:36:24 -0300	[thread overview]
Message-ID: <162732098483.1190082.2428052336447457010@localhost> (raw)

Hi!

I have the following "channels.scm" file:

  (cons*
   (channel
    (name 'xyz-euandreh)
    (url "git://euandreh.xyz/package-repository.git")
    (branch "main")
    (introduction
     (make-channel-introduction
      "d749e053e6db365069cb9b2ef47a78b06f9e7361"
      (openpgp-fingerprint
       "5BDA E9B8 B2F6 C6BC BB0D  6CE5 81F9 0EC3 CD35 6060"))))
   %default-channels)

And I'm using "guix time-machine" with it:

  $ guix time-machine -C channels.scm -- environment --ad-hoc hello

This works very well this way.  However if I change the Git URL to HTTPS, it
stops working:

  diff --git a/channels.scm b/channels.scm
  --- a/channels.scm
  +++ b/channels.scm
  @@ -1,7 +1,7 @@
   (cons*
    (channel
     (name 'xyz-euandreh)
  -  (url "git://euandreh.xyz/package-repository.git")
  +  (url "https://euandreh.xyz/package-repository.git")
     (branch "main")
     (introduction
      (make-channel-introduction

  $ guix time-machine -C channels.scm -- environment --ad-hoc hello
  guix time-machine: error: Git error: invalid content-type: 'application/octet-stream'

The server is configured to serve over HTTPS and the Git protocol, and I can
successfully clone either way:

  $ cd /tmp/
  $ git clone git://euandreh.xyz/package-repository.git   git
  # works
  $ git clone https://euandreh.xyz/package-repository.git https
  # also works

I see that the "%default-channel-url" [0] Guile variable points to a bare HTTPS
Git repository, and that the "Content-Type" header of those files is also
"application/octet-stream":

  (define %default-channel-url
    ;; URL of the default 'guix' channel.
    "https://git.savannah.gnu.org/git/guix.git")

It seems that I also need some kind of extra HTTPS header configuration.  Is
this an issue with the "guile-git" library?  Does Savannah has any special
treatment of HTTPS repositories, or guile-git requests?  What configuration I'm
missing from the server to be able to serve over HTTPS only?

[0]: https://git.savannah.gnu.org/cgit/guix.git/tree/guix/channels.scm?id=68ce40cad7782e75d665283fbe67b330d9a6fdcd#n175


             reply	other threads:[~2021-07-26 17:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-26 17:36 EuAndreh [this message]
2021-07-26 22:37 ` Can't serve a custom channel on a HTTPS repository divoplade
2021-07-27  0:15   ` EuAndreh
2021-07-30 14:59     ` EuAndreh
2021-08-04  1:54       ` EuAndreh
2021-07-27 15:22   ` Leo Famulari
2021-08-08 17:49     ` EuAndreh
2021-08-08 22:21       ` Leo Famulari
2021-08-09 13:41         ` EuAndreh
2021-08-09 16:35           ` Leo Famulari
2021-08-15 17:06         ` EuAndreh
2021-08-24 16:13           ` EuAndreh
2021-09-15 17:00             ` EuAndreh
2021-09-15 17:34     ` EuAndreh

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=162732098483.1190082.2428052336447457010@localhost \
    --to=eu@euandre.org \
    --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.