aboutsummaryrefslogtreecommitdiff
#!/bin/bash
### BEGIN INIT INFO
# Provides:          guix-daemon
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Guix build daemon
# Description:       Provides a daemon that does builds for Guix
### END INIT INFO

set -e
mkdir -p "/var/run"
if [ ! -f "@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon" ]
then
  exit 5
fi

case "$1" in
start)
  if [ -f "/var/run/guix-daemon.pid" ]
  then
    if pgrep -F "/var/run/guix-daemon.pid" guix-daemon
    then
      exit 0
    else
      echo "guix-daemon has a stale pid file" >&2
      exit 1
    fi
  else
    daemonize \
      -a \
      -e "/var/log/guix-daemon-stderr.log" \
      -o "/var/log/guix-daemon-stdout.log" \
      -E GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale \
      -E LC_ALL=en_US.utf8 \
      -p "/var/run/guix-daemon.pid" \
      @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon \
      --build-users-group=guixbuild --discover=no \
      --substitute-urls='@GUIX_SUBSTITUTE_URLS@'

  fi
  ;;
stop)
  if [ -f "/var/run/guix-daemon.pid" ]
  then
    pkill -F "/var/run/guix-daemon.pid" guix-daemon || {
      exit 1
    }
    rm -f "/var/run/guix-daemon.pid"
    exit 0
  else
    exit 0
  fi
  ;;
status)
  if [ -f "/var/run/guix-daemon.pid" ]
  then
    if pgrep -F "/var/run/guix-daemon.pid" guix-daemon
    then
      echo "guix-daemon is running"
      exit 0
    else
      echo "guix-daemon has a stale pid file"
      exit 1
    fi
  else
    echo "guix-daemon is not running"
    exit 3
  fi
  ;;
restart|force-reload)
  "$0" stop
  "$0" start
  ;;
*)
  echo "Usage: $0 (start|stop|status|restart|force-reload)"
  exit 3
  ;;
esac
lass='msg-tooltip'>* NEWS: Add new entry for installation script improvements. Maxim Cournoyer 2022-09-28Update NEWS....* NEWS: Add new services for the 1.4.0. Mathieu Othacehe 2022-09-26NEWS: Update it....* NEWS: Add an entry about WSL images. Mathieu Othacehe 2022-09-24Update NEWS.Ludovic Courtès 2022-09-23Update NEWS.Maxim Cournoyer 2022-09-19Update NEWS....* NEWS: Mention Shepherd 0.9.2 upgrade. Mathieu Othacehe 2022-09-16Update NEWS....Entries extracted from: git log 3eadcdc63..version-1.4.0 * NEWS: Update entries for v1.4.0 Mathieu Othacehe 2022-09-15Update NEWS....This covers the commits made between v1.3.0..3eadcdc6^. * NEWS: New entries for the 1.4.0 upcoming release. Maxim Cournoyer 2022-09-14Update NEWS....These news were extracted from the output of: git log --reverse v1.3.0..03eb0b1be2cfedd0d9a66fef0edc53a17f7653a5. * NEWS: Update entries for v1.4.0. Maxim Cournoyer ete file. * gnu/local.mk (dist_patch_DATA): Remove it. Leo Famulari 2023-08-10services: Add pam-mount-volume-service-type....The `pam-mount-volumes-service-type' adds additional volumes to the pam-mount-service-type in addition to any that are already specified in `pam-mount-rules'. * doc/guix.texi (PAM Mount Volume Service): add documentation for `pam-mount-service-type'. * gnu/services/pam-mount.scm: new file. * Makefile.am: add pam-mount tests * tests/services/pam-mount.scm: new tests Signed-off-by: Ludovic Courtès <ludo@gnu.org> Brian Cully 2023-07-23gnu: Add missing kernel configs to Makefile.am....This is a followup to commit 49f74b67a44882d2af0529abf3e60a9c37512f2c * Makefile.am (AUX_FILES): Add 6.4 kernel configs for arm and arm64. Leo Famulari 2023-07-21services: wireguard: Implement a dynamic IP monitoring feature....* gnu/services/vpn.scm (<wireguard-configuration>) [monitor-ips?, monitor-ips-internal]: New fields. * gnu/services/vpn.scm (define-with-source): New syntax. (wireguard-service-name, strip-port/maybe) (ipv4-address?, ipv6-address?, host-name?) (endpoint-host-names): New procedure. (wireguard-monitoring-jobs): Likewise. (wireguard-service-type): Register it. * tests/services/vpn.scm: New file. * Makefile.am (SCM_TESTS): Register it. * doc/guix.texi (VPN Services): Update doc. Reviewed-by: Bruno Victal <mirai@makinata.eu> Maxim Cournoyer 2023-07-15gnu: Add linux-libre 6.4...* gnu/packages/linux.scm (linux-libre-6.4-version, linux-libre-6.4-gnu-revision, deblob-scripts-6.4, linux-libre-6.4-pristine-source, linux-libre-6.4-source, linux-libre-headers-6.4, linux-libre-6.4: New variables. * gnu/packages/aux-files/linux-libre/6.4-arm.conf, * gnu/packages/aux-files/linux-libre/6.4-arm64.conf, * gnu/packages/aux-files/linux-libre/6.4-i686.conf, * gnu/packages/aux-files/linux-libre/6.4-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-06-18Add 'guix locate'....* guix/scripts/locate.scm, tests/guix-locate.sh: New files. * Makefile.am (MODULES): Add 'guix/scripts/locate.scm'. (SH_TESTS): Add 'tests/guix-locate.sh'. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Invoking guix locate): New node. Co-authored-by: Antoine R. Dumont <antoine.romain.dumont@gmail.com> Ludovic Courtès 2023-06-04build-system: New agda-build-system....* guix/build-system/agda.scm: New file. * guix/build/agda-build-system.scm: New file. * Makefile.am (MODULES): Register them. * doc/guix.texi (Build Systems): Add documentation for agda-build-system. Josselin Poiret 2023-05-31gnu: Remove linux-libre 6.2....This kernel series is no longer supported upstream. * gnu/packages/linux.scm (linux-libre-6.2-version, linux-libre-6.2-gnu-revision, deblob-scripts-6.2, linux-libre-6.2-pristine-source, linux-libre-6.2-source, linux-libre-headers-6.2, linux-libre-6.2): Remove variables. * gnu/packages/aux-files/linux-libre/6.2-arm.conf, gnu/packages/aux-files/linux-libre/6.2-arm64.conf, gnu/packages/aux-files/linux-libre/6.2-i686.conf, gnu/packages/aux-files/linux-libre/6.2-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2023-05-16gnu: Add linux-libre 6.3....* gnu/packages/linux.scm (linux-libre-6.3-version, linux-libre-6.3-gnu-revision, deblob-scripts-6.3, linux-libre-6.3-pristine-source, linux-libre-6.3-source, linux-libre-headers-6.3, linux-libre-6.3): New variables. * gnu/packages/aux-files/linux-libre/6.3-arm.conf, gnu/packages/aux-files/linux-libre/6.3-arm64.conf, gnu/packages/aux-files/linux-libre/6.3-i686.conf, gnu/packages/aux-files/linux-libre/6.3-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-05-07Makefile.am: Use --add flag to "git config"....Without the "--add" flag to "git config include.path ...", the command fails if the user already has a configuration entry of "include.path". Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Mekeor Melire 2023-05-06Makefile.am: Only auto-configure Git when available....* Makefile.am (.git/hooks/pre-push): Only run recipe if the '.git' directory exists. Make it silent. (.git/config): Likewise, and also check if the 'git' command is available. Reported-by: Brian Cully <bjc@spork.org> Maxim Cournoyer 2023-05-04build: Do not fail when '.git' is missing....This is a followup to a5d719012e0f5115aa89b767edc1fe1a3505915c. * Makefile.am (.git/hooks/pre-push): Add dash. Ludovic Courtès 2023-05-04build: Do not fail when 'git' is missing....This is a followup to 8b972da068708a8b17f3ab153ea940690ca49ca9. * Makefile.am (.git/config): Add dash. Ludovic Courtès 2023-05-01Makefile.am: Auto-configure Git on 'make'....This means we do not need to worry anymore about manually syncing the pre-push git hook or the Guix-provided git configuration. * etc/git/gitconfig: Augment configuration template with useful options to allow for auto-configuration. * Makefile.am (.git/hooks/pre-push, .git/config): New targets. (nodist_noinst_DATA): New primary variable holding the above targets. Maxim Cournoyer 2023-04-30build: Undo "guix/scripts/import/cpan.scm" which was removed in commit 3aae81......* Makefile.am (MODULES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Keisuke Kurosawa 2023-04-21gnu: docbook-xml-4.1.2: Add missing catalog.xml....* gnu/packages/aux-files/xml/docbook-xml/catalog-4.1.2.xml: New file. * Makefile.am: Register it. * gnu/packages/docbook.scm (docbook-xml-4.1.2)[arguments]: Use prebuilt catalog.xml. [native-inputs]: Add libxml2. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal 2023-04-21gnu: docbook-xml: Use XSLT to patch catalog.xml....(sxml transforms) are unsuited here due to guile-bug #20339. * gnu/packages/aux-files/xml/patch-catalog-xml.xsl: New file. * Makefile.am: Register it. * gnu/packages/docbook.scm (docbook-xml-5)[native-inputs]: Add libxslt. [arguments]: Add phase to patch catalog.xml using XSLT. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal 2023-04-14maint: Merge sanity-check-next.py into sanity-check.py....* gnu/packages/aux-files/python/sanity-check-next.py: Rename to... * gnu/packages/aux-files/python/sanity-check.py: ... this. * guix/build-system/pyproject.scm (sanity-check.py): Adjust file name. * Makefile.am (AUX_FILES): De-register sanity-check-next.py. Maxim Cournoyer 2023-03-20Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge 2023-03-06gnu: Add linux-libre 6.2....* gnu/packages/linux.scm (linux-libre-6.2-version, linux-libre-6.2-gnu-revision, deblob-scripts-6.2, linux-libre-6.2-pristine-source, linux-libre-6.2-source, linux-libre-headers-6.2, linux-libre-6.2): New variables. * gnu/packages/aux-files/linux-libre/6.2-arm.conf, gnu/packages/aux-files/linux-libre/6.2-arm64.conf, gnu/packages/aux-files/linux-libre/6.2-i686.conf, gnu/packages/aux-files/linux-libre/6.2-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-03-02Merge remote-tracking branch 'savannah/master' into core-updates...Conflicts: gnu/local.mk gnu/packages/autotools.scm gnu/packages/cmake.scm gnu/packages/gnuzilla.scm gnu/packages/haskell.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/samba.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/wxwidgets.scm Christopher Baines 2023-02-19pack: Add RPM format....* guix/rpm.scm: New file. * guix/scripts/pack.scm (rpm-archive): New procedure. (%formats): Register it. (show-formats): Add it. (guix-pack): Register supported extra-options for the rpm format. * tests/pack.scm (rpm-for-tests): New variable. ("rpm archive can be installed/uninstalled"): New test. * tests/rpm.scm: New test. * doc/guix.texi (Invoking guix pack): Document it. Maxim Cournoyer 2023-02-12build-system: Add tree-sitter-build-system....* guix/build-system/tree-sitter.scm: New module. * guix/build/tree-sitter-build-system.scm: Likewise. * Makefile.am (MODULES): Add them. * doc/guix.texi: Document it. Signed-off-by: Andrew Tropin <andrew@trop.in> Pierre Langlois 2023-01-30Merge remote-tracking branch 'origin/master' into core-updates... Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm Efraim Flashner 2023-01-13gnu: Remove linux-libre 6.0....This kernel series is no longer supported upstream. * gnu/packages/linux.scm (linux-libre-6.0-version, linux-libre-6.0-gnu-revision, deblob-scripts-6.0, linux-libre-6.0-pristine-source, linux-libre-6.0-source, linux-libre-headers-6.0, linux-libre-6.0): Remove variables. * gnu/packages/aux-files/linux-libre/6.0-arm.conf, gnu/packages/aux-files/linux-libre/6.0-arm64.conf, gnu/packages/aux-files/linux-libre/6.0-i686.conf, gnu/packages/aux-files/linux-libre/6.0-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2023-01-08gnu: Remove linux-libre 4.9....This kernel series is no longer supported upstream: https://lkml.iu.edu/hypermail/linux/kernel/2301.0/06398.html https://www.kernel.org/category/releases.html * gnu/packages/aux-files/linux-libre/4.9-i686.conf, gnu/packages/aux-files/linux-libre/4.9-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. * gnu/packages/linux.scm (linux-libre-4.9-version, linux-libre-4.9-gnu-revision, deblob-scripts-4.9, linux-libre-4.9-pristine-source, linux-libre-4.9-source, linux-libre-headers-4.9, linux-libre-4.9): Remove variables. * gnu/tests/base.scm (%test-linux-libre-4.9): Likewise. Leo Famulari 2023-01-08refresh: Add CLI tests....* guix/import/test.scm, tests/guix-refresh.sh: New files. * Makefile.am (MODULES, SH_TESTS): Add them. Ludovic Courtès 2023-01-03gnu: Add linux-libre 6.1....* gnu/packages/linux.scm (linux-libre-6.1-version, linux-libre-6.1-gnu-revision, deblob-scripts-6.1, linux-libre-6.1-source, linux-libre-headers-6.1, linux-libre-6.1): New variables. * gnu/packages/aux-files/linux-libre/6.1-arm.conf, gnu/packages/aux-files/linux-libre/6.1-arm64.conf, gnu/packages/aux-files/linux-libre/6.1-i686.conf, gnu/packages/aux-files/linux-libre/6.1-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2022-12-29maint: Add a manifest for everything related to linux-libre....* etc/kernels-manifest.scm: New file. * Makefile.am (EXTRA_DIST): Add it. Leo Famulari 2022-12-05Merge branch 'version-1.4.0'Ludovic Courtès 2022-12-03build: Add 'sanity-check-next.py' to the distribution....Reported by Vagrant Cascadian <vagrant@debian.org>. * Makefile.am (AUX_FILES): Add 'sanity-check-next.py'. Ludovic Courtès 2022-11-30maint: Adjust sed script from 'release' target....This is a followup to fdafd404325413da4d5fdd717c84e57a51c60fe2. This effect would to set 'GUIX_DISPLAYED_VERSION' to the empty string. * Makefile.am (release): Remove '/v' from sed script for GUIX_DISPLAYED_VERSION. Ludovic Courtès 2022-11-30build: Build gnu/packages/*.go in two passes....This works around <https://issues.guix.gnu.org/59717>, whereby heap usage would go beyond what's reasonable, preventing compilation of the 'guix' package on armhf-linux. This is a followup to ef82ba9dd94369926eb13325d5e7da4306d23dd7. * Makefile.am (MODULES_PACKAGES1, MODULES_PACKAGES): New variables. (MODULES_PACKAGES): Define in terms of them and use :=. (MODULES_CORE, MODULES_SYSTEM, MODULES_CLI, MODULES_PO): Define with :=. Ludovic Courtès 2022-12-01gnu: raspberry-pi: Add a bootloader-chain for the Raspberry Pi and os examples....* gnu/packages/raspberry-pi.scm (grub-efi-bootloader-chain-raspi-64): New bootloader variable, capable to boot a Raspberry Pi over network or from a local storage. * gnu/system/examples/raspberry-pi-64.tmpl: New operating-system example. * gnu/system/examples/raspberry-pi-64-nfs-root.tmpl: New operating-system example for booting over network. * Makefile.am (EXAMPLES): Register the new files. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Stefan 2022-12-01build: kconfig: Add new module to modify defconfig files....* guix/build/kconfig.scm: New file. * Makefile.am: Register it. * gnu/packages/bootloaders.scm (make-u-boot-package) (make-u-boot-sunxi64-package): Add DEFCONFIGS and CONFIGS arguments. Remove dead code. (u-boot-am335x-boneblack, u-boot-pinebook) (u-boot-novena,u-boot-rockpro64-rk3399): Simplify packages by using the new keyword arguments. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Stefan