aboutsummaryrefslogtreecommitdiff
-*- mode: org; coding: utf-8; -*-

#+TITLE: Hacking GNU Guix and Its Incredible Distro

Copyright © 2012, 2013, 2014, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
Copyright © 2017 Leo Famulari <leo@famulari.name>
Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>

  Copying and distribution of this file, with or without modification,
  are permitted in any medium without royalty provided the copyright
  notice and this notice are preserved.

* Contributing

See the manual for useful hacking information, either by running

  info -f doc/guix.info "Contributing"

or by checking the [[https://guix.gnu.org/manual/devel/en/html_node/Contributing.html][web copy of the manual]].
Do not create queries-log-file and web-queries-log-file if the corresponding config file are unset. Mathieu Othacehe 2020-09-24services: cuirass: Create queries log files at activation....* gnu/services/cuirass.scm (cuirass-activation)[queries-log-file]: Create and set user permissions on "queries-log-file" and "web-queries-log-file". Mathieu Othacehe 2020-09-24services: cuirass: Add web SQL queries logging support....* gnu/services/cuirass.scm (<cuirass-configuration>)[web-queries-log-file]: New field. (cuirass-shepherd-service): Honor it. (cuirass-log-rotations): If defined, add the web queries log file to the log rotation. Mathieu Othacehe 2020-09-24services: cuirass: Add SQL queries logging support....* gnu/services/cuirass.scm (<cuirass-configuration>)[queries-log-file]: New field. (cuirass-shepherd-service): Honor it. (cuirass-log-rotations): If defined, add the queries log file to the log rotation. Mathieu Othacehe 2020-03-08services: cuirass: Allow passing extra command line options....This is so that the options supported by the service configuration don't have to always be changed. Generally though all options should be explicitly supported and documented, so this is mostly to facilitate experimentation. * gnu/services/cuirass.scm (<cuirass-configuration>): Add an extra-options field. (cuirass-shepherd-service): Pass the extra options to the shepherd servvices. * doc/guix.texi (Continuous Integration): Document it. Christopher Baines 2020-01-06Adjust module autoloads....In Guile < 2.9.7, autoloading a module would give you access to all its bindings. In future versions, autoloading a module gives access only to the listed bindings, as per #:select (see <https://bugs.gnu.org/38895>). This commit adjusts autoloads to the new semantics, allowing Guix to be built with Guile 2.9.7/2.9.8. * guix/build/download.scm <top level>: Remove call to 'module-autoload!'. (load-gnutls): New procedure. (tls-wrap): Call it. * guix/git.scm <top level>: Remove call to 'module-autoload!'. (load-git-submodules): New procedure. (update-submodules): Call it instead of 'resolve-interface'. * gnu/bootloader/grub.scm: Replace #:autoload with #:use-module. * gnu/packages.scm: Likewise. * gnu/packages/ssh.scm: Likewise. * gnu/packages/tex.scm: Likewise. * gnu/services/cuirass.scm: Likewise. * gnu/services/mcron.scm: Likewise. * guix/lint.scm: Augment list of bindings in #:autoload. * guix/scripts/build.scm: Likewise. * guix/scripts/gc.scm: Likewise. * guix/scripts/pack.scm: Likewise. * guix/scripts/publish.scm: Likewise. * guix/scripts/pull.scm: Likewise. * guix/utils.scm: Remove unnecessary #:autoload clauses; replace one of them with #:use-module. Ludovic Courtès 2019-10-23services: cuirass: Create /var/log/cuirass during activation....* gnu/services/cuirass.scm (cuirass-activation): Create "/var/log/cuirass". Ludovic Courtès 2019-09-23services: cuirass: Remove unneeded conditional....* gnu/services/cuirass.scm (cuirass-shepherd-service): Remove unneeded 'and'. Ludovic Courtès 2019-08-29services: cuirass: Log web interface to separate file....* gnu/services/cuirass.scm (<cuirass-configuration>): Add web-log-file field. (cuirass-shepherd-service): Read it and use it. * doc/guix.texi (Continuous Integration): Document it. Ricardo Wurmus 2019-08-26services: cuirass: Split into two separate services....* gnu/services/cuirass.scm (cuirass-shepherd-service): Return two shepherd services, one for the web interface, another for building packages. Ricardo Wurmus 2019-03-04services: Use 'file-append' for user account shells....* gnu/services/cuirass.scm (cuirass-account): Use 'file-append' instead of #~(string-append #$shadow "/sbin/nologin"). * gnu/services/monitoring.scm (zabbix-server-account): Likewise. (zabbix-agent-account): Likewise. * gnu/services/rsync.scm (rsync-account): Likewise. * gnu/services/ssh.scm (%openssh-accounts): Likewise. Ludovic Courtès 2018-11-07services: cuirass: Add 'ttl' configuration field....* gnu/services/cuirass.scm (<cuirass-configuration>)[ttl]: New field. (cuirass-shepherd-service): Honor it. Ludovic Courtès 2018-08-16services: cuirass: Put data in /var/lib to avoid removal at boot....Fixes <https://bugs.gnu.org/32330>. * gnu/services/cuirass.scm (<cuirass-configuration>)[database]: Change default from /var/run/cuirass/cuirass.db to /var/lib/cuirass/cuirass.db. (cuirass-account): Change home directory from /var/run/<user> to /var/lib/<user>. Clément Lassieur 2018-07-16services: cuirass: Remove the LOAD-PATH option....* gnu/services/cuirass.scm (<cuirass-configuration>, cuirass-shepherd-service): Remove the LOAD-PATH option. Clément Lassieur 2018-06-22services: cuirass: Add description....* gnu/services/cuirass.scm (cuirass-service-type): Add description. Ricardo Wurmus 2018-06-20services: Fix GPLv3 header in cuirass and pm modules....* gnu/services/cuirass.scm, gnu/services/pm.scm: Adjust to canonical GPLv3 header used throughout Guix. Signed-off-by: Leo Famulari <leo@famulari.name> Nils Gillmann 2017-09-26services: cuirass: Add host option....* gnu/services/cuirass.scm (<cuirass-configuration>): Add host option. (cuirass-shepherd-service): Pass host option. * doc/guix.texi (Continuous Integration): Document it. Jan Nieuwenhuizen 2017-09-13gnu: cuirrass: Default port to 8081....* gnu/services/cuirass.scm (<cuirass-configuration>): Default port to 8081. Fixes conflict with guix-publish default. * doc/guix.texi (Continuous Integration): Update. Jan Nieuwenhuizen