aboutsummaryrefslogtreecommitdiff
digraph "Guix shepherd-service" {
  "user-file-systems" [label = "user-file-systems", shape = box, fontname = "dejavu sans"];
  "user-processes" -> "user-file-systems" [color = cyan3];
  "user-processes" [label = "user-processes", shape = box, fontname = "dejavu sans"];
  "nscd" -> "user-processes" [color = magenta];
  "guix-daemon" -> "user-processes" [color = blue];
  "urandom-seed" -> "user-processes" [color = dimgrey];
  "syslogd" -> "user-processes" [color = darkgoldenrod];
  "term-tty6" -> "user-processes" [color = magenta];
  "term-tty5" -> "user-processes" [color = red];
  "term-tty4" -> "user-processes" [color = darkgoldenrod];
  "term-tty3" -> "user-processes" [color = dimgrey];
  "term-tty2" -> "user-processes" [color = darkviolet];
  "term-tty1" -> "user-processes" [color = peachpuff4];
  "networking" -> "user-processes" [color = dimgrey];
  "nscd" [label = "nscd", shape = box, fontname = "dejavu sans"];
  "guix-daemon" [label = "guix-daemon", shape = box, fontname = "dejavu sans"];
  "urandom-seed" [label = "urandom-seed", shape = box, fontname = "dejavu sans"];
  "syslogd" [label = "syslogd", shape = box, fontname = "dejavu sans"];
  "ssh-daemon" -> "syslogd" [color = darkgoldenrod];
  "ssh-daemon" [label = "ssh-daemon", shape = box, fontname = "dejavu sans"];
  "term-tty6" [label = "term-tty6", shape = box, fontname = "dejavu sans"];
  "console-font-tty6" -> "term-tty6" [color = darkgoldenrod];
  "console-font-tty6" [label = "console-font-tty6", shape = box, fontname = "dejavu sans"];
  "term-tty5" [label = "term-tty5", shape = box, fontname = "dejavu sans"];
  "console-font-tty5" -> "term-tty5" [color = dimgrey];
  "console-font-tty5" [label = "console-font-tty5", shape = box, fontname = "dejavu sans"];
  "term-tty4" [label = "term-tty4", shape = box, fontname = "dejavu sans"];
  "console-font-tty4" -> "term-tty4" [color = darkviolet];
  "console-font-tty4" [label = "console-font-tty4", shape = box, fontname = "dejavu sans"];
  "term-tty3" [label = "term-tty3", shape = box, fontname = "dejavu sans"];
  "console-font-tty3" -> "term-tty3" [color = peachpuff4];
  "console-font-tty3" [label = "console-font-tty3", shape = box, fontname = "dejavu sans"];
  "term-tty2" [label = "term-tty2", shape = box, fontname = "dejavu sans"];
  "console-font-tty2" -> "term-tty2" [color = darkseagreen];
  "console-font-tty2" [label = "console-font-tty2", shape = box, fontname = "dejavu sans"];
  "term-tty1" [label = "term-tty1", shape = box, fontname = "dejavu sans"];
  "console-font-tty1" -> "term-tty1" [color = cyan3];
  "console-font-tty1" [label = "console-font-tty1", shape = box, fontname = "dejavu sans"];
  "networking" [label = "networking", shape = box, fontname = "dejavu sans"];
  "ssh-daemon" -> "networking" [color = darkgoldenrod];
  "root-file-system" [label = "root-file-system", shape = box, fontname = "dejavu sans"];
  "file-system-/dev/pts" -> "root-file-system" [color = peachpuff4];
  "file-system-/dev/shm" -> "root-file-system" [color = darkgoldenrod];
  "file-system-/gnu/store" -> "root-file-system" [color = blue];
  "user-processes" -> "root-file-system" [color = cyan3];
  "udev" -> "root-file-system" [color = darkseagreen];
  "file-system-/dev/pts" [label = "file-system-/dev/pts", shape = box, fontname = "dejavu sans"];
  "user-processes" -> "file-system-/dev/pts" [color = cyan3];
  "file-system-/dev/shm" [label = "file-system-/dev/shm", shape = box, fontname = "dejavu sans"];
  "user-processes" -> "file-system-/dev/shm" [color = cyan3];
  "file-system-/gnu/store" [label = "file-system-/gnu/store", shape = box, fontname = "dejavu sans"];
  "user-processes" -> "file-system-/gnu/store" [color = cyan3];
  "udev" [label = "udev", shape = box, fontname = "dejavu sans"];
  "term-tty6" -> "udev" [color = magenta];
  "term-tty5" -> "udev" [color = red];
  "term-tty4" -> "udev" [color = darkgoldenrod];
  "term-tty3" -> "udev" [color = dimgrey];
  "term-tty2" -> "udev" [color = darkviolet];
  "term-tty1" -> "udev" [color = peachpuff4];
  "networking" -> "udev" [color = dimgrey];
  "host-name" [label = "host-name", shape = box, fontname = "dejavu sans"];
  "term-tty6" -> "host-name" [color = magenta];
  "term-tty5" -> "host-name" [color = red];
  "term-tty4" -> "host-name" [color = darkgoldenrod];
  "term-tty3" -> "host-name" [color = dimgrey];
  "term-tty2" -> "host-name" [color = darkviolet];
  "term-tty1" -> "host-name" [color = peachpuff4];
  "loopback" [label = "loopback", shape = box, fontname = "dejavu sans"];

}
...* guix/channels.scm (<channel-introduction>): Rename constructor to '%make-channel-introduction'. (make-channel-introduction): New procedure. * tests/channels.scm ("authenticate-channel, wrong first commit signer") ("authenticate-channel, .guix-authorizations"): Use 'make-channel-introduction' without '@@' and without third argument. * doc/guix.texi (Channels)[Channel Authentication, Specifying Channel Authorizations]: New subsections. Ludovic Courtès 2020-06-28channels: Error out when the 'guix' channel lacks an introduction....* guix/channels.scm (latest-channel-instance): Raise an error instead of warning when 'guix is unauthenticated. * tests/channels.scm ("latest-channel-instances, missing introduction for 'guix'"): New test. Ludovic Courtès 2020-06-25channels: Fix test for introductory commit signer....Until now the test would always succeed because it would return 'failed, which has truth value. The exercise 'verify-introductory-commit', we need to add a second commit beyond the introductory commit, which is what we do here. * tests/channels.scm ("authenticate-channel, wrong first commit signer"): Add a second commit and authenticate up to that one. Change 'message?' to 'message-condition?'. Ludovic Courtès 2020-06-16channels: Make 'validate-pull' call right after clone/pull....This should come before patching, authentication, etc. * guix/channels.scm (latest-channel-instance): Add #:validate-pull parameter and honor it. Return a single value: the instance. (ensure-forward-channel-update): Change 'instance' parameter to 'commit' and adjust accordingly. (latest-channel-instances): Adjust to 'latest-channel-instance' changes. * guix/scripts/pull.scm (warn-about-backward-updates): Change 'instance' parameter to 'commit' and adjust accordingly. * tests/channels.scm ("latest-channel-instances #:validate-pull"): Likewise. Ludovic Courtès 2020-06-16channels: 'latest-channel-instance' authenticates Git checkouts....Fixes <https://bugs.gnu.org/22883>. * guix/channels.scm (<channel>)[introduction]: New field. (<channel-introduction>): New record type. (%guix-channel-introduction): New variable. (%default-channels): Use it. (<channel-metadata>)[keyring-reference]: New field. (%default-keyring-reference): New variable. (read-channel-metadata, read-channel-metadata-from-source): Initialize the 'keyring-reference' field. (commit-short-id, verify-introductory-commit) (authenticate-channel): New procedures. (latest-channel-instance): Call 'authenticate-channel' when CHANNEL has an introduction. * tests/channels.scm (gpg+git-available?, commit-id-string): New procedures. ("authenticate-channel, wrong first commit signer"): ("authenticate-channel, .guix-authorizations"): New tests. * doc/guix.texi (Invoking guix pull): Mention authentication. Ludovic Courtès 2020-05-25channels: 'latest-channel-instances' guards against non-forward updates....* guix/channels.scm (latest-channel-instance): Add #:starting-commit and pass it to 'update-cached-checkout'. Return the commit relation as a second value. (ensure-forward-channel-update): New procedure. (latest-channel-instances): Add #:current-channels and #:validate-pull. [current-commit]: New procedure. Pass #:starting-commit to 'latest-channel-instance'. When the returned relation is true, call VALIDATE-PULL. (latest-channel-derivation): Add #:current-channels and #:validate-pull. Pass them to 'latest-channel-instances*'. * tests/channels.scm ("latest-channel-instances #:validate-pull"): New test. Ludovic Courtès 2020-05-25git: 'update-cached-checkout' returns the commit relation....* guix/git.scm (update-cached-checkout): Add #:starting-commit parameter. Call 'commit-relation' when #:starting-commit is true. Always return the relation or #f as the third value. (latest-repository-commit): Adjust accordingly. * guix/import/opam.scm (get-opam-repository): Likewise. * tests/channels.scm ("latest-channel-instances includes channel dependencies") ("latest-channel-instances excludes duplicate channel dependencies"): Update mock of 'update-cached-checkout' accordingly. Ludovic Courtès 2020-05-07channels: Add mechanism to patch checkouts of the 'guix channel....* guix/channels.scm (<patch>): New record type. (apply-patches): New procedure. (latest-channel-instance)[dot-git?]: New procedure. Use 'update-cached-checkout' and 'add-to-store' instead of 'latest-repository-commit'. Call 'apply-patches' when CHANNEL is the 'guix channel. (%patches): New variable. * guix/git.scm (url+commit->name): Make public. * tests/channels.scm ("latest-channel-instances includes channel dependencies") ("latest-channel-instances excludes duplicate channel dependencies"): Mock 'update-cached-checkout' instead of 'latest-repository-commit'. Wrap body in 'with-store' and pass the store to 'latest-channel-instances'. Ludovic Courtès 2019-09-23channels: Allow news entries to refer to a tag....Suggested by Ricardo Wurmus <rekado@elephly.net>. * guix/channels.scm (<channel-news-entry>)[tag]: New field. (sexp->channel-news-entry): Accept either 'commit' or 'tag' in 'entry' forms. (resolve-channel-news-entry-tag): New procedure. (channel-news-for-commit): Move 'with-repository' form one level higher. Call 'resolve-channel-news-entry-tag' on all the news entries. * guix/tests/git.scm (populate-git-repository): Add clause for 'tag'. * tests/channels.scm ("channel-news, one entry"): Create a tag and add an entry with a tag. Check that the tag is resolved and also visible in the <channel-news-entry> record. * doc/guix.texi (Channels): Mention tags in news entries. Ludovic Courtès 2019-09-23channels: Add support for a news file....* guix/channels.scm (<channel-metadata>)[news-file]: New field. (read-channel-metadata): Set the 'news-file' field. (read-channel-metadata-from-source): Likewise. (<channel-news>, <channel-news-entry>): New record types. (sexp->channel-news-entry, read-channel-news) (channel-news-for-commit): New procedures. * guix/tests/git.scm (populate-git-repository): For 'add', allow CONTENTS to be a procedure. * tests/channels.scm ("channel-news, no news") ("channel-news, one entry"): New tests. * doc/guix.texi (Channels): Document it. Ludovic Courtès