Commit Graph
622 Commits
Author SHA1 Message Date
Maxim Cournoyer bddb1ece34 maint: Replace remaining usages of isc-dhcp with dhcpcd.
isc-dhcp has been unmaintained since 2022.  This is a follow-up to commit
3e713ae41c.

* doc/guix.texi (Keyboard Layout and Networking and Partitioning): Adjust
example.
* etc/manifests/cross-compile.scm (%system-packages)
* etc/manifests/release-desktop.scm (%desktop-packages)
* etc/manifests/release-minimal.scm (%system-packages): Replace "isc-dhcp"
with "dhcpcd".
* gnu/system.scm (%base-packages-networking): Likewise.
* gnu/tests/install.scm (%simple-installation-script)
(%extlinux-gpt-installation-script)
(%simple-installation-script-for-/dev/vda)
(%separate-store-installation-script)
(%extra-encrypted-packages): Likewise.
2026-08-26 13:30:40 +09:00
Vagrant Cascadian 15bfd05d89 gnu: tests: Add %test-linux-libre-6.18.
* gnu/tests/base.scm (%test-linux-libre-6.18): New variable.
(run-basic-test): Add %test-linux-libre-6.18.
2026-08-21 19:06:09 -07:00
Vagrant Cascadian 5bbcd6843a gnu: linux-libre 5.15: Drop support.
* gnu/packages/linux.scm (linux-libre-5.15): Remove variable.
* gnu/tests/base.scm (%test-linux-libre-5.15): Remove variable.
* gnu/packages/aux-files/linux-libre/5.15-arm.conf: Remove file.
* gnu/packages/aux-files/linux-libre/5.15-arm64.conf: Remove file.
* gnu/packages/aux-files/linux-libre/5.15-i686.conf: Remove file.
* gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Remove file.
* Makefile.am (AUX_FILES): Deregister files.
2026-08-21 19:04:29 -07:00
Vagrant Cascadian f8e875d2c0 gnu: linux-libre 5.10: Drop support.
* gnu/packages/linux.scm (linux-libre-5.10-version,
linux-libre-5.10-gnu-revision, deblob-scripts-5.10,
linux-libre-5.10-pristine-source, linux-libre-5.10-source,
linux-libre-headers-5.10, linux-libre-arm-generic-5.10,
linux-libre-arm64-generic-5.10): Remove variables.
* gnu/tests/base.scm (%test-linux-libre-5.10): Remove variable.
* gnu/packages/aux-files/linux-libre/5.10-arm.conf: Remove file.
* gnu/packages/aux-files/linux-libre/5.10-arm64.conf: Remove file.
* gnu/packages/aux-files/linux-libre/5.10-i686.conf: Remove file.
* gnu/packages/aux-files/linux-libre/5.10-x86_64.conf: Remove file.
* Makefile.am (AUX_FILES): Deregister files.
2026-08-21 18:59:21 -07:00
Sergio Pastor Pérez 4cf2792768 tests: Actually test LTS kernels.
Until now these variables were not exported and thus the corresponding tests
were not run by ‘make check’ nor by continuous integration.

* gnu/tests/base.scm: (%test-linux-libre-6.12, %test-linux-libre-6.6, %test-linux-libre-6.1):
Export.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #10642
2026-08-21 16:00:22 +02:00
Yelninei e388dbdb2c tests: Fix nfs system test.
The socket position changed from /var/run to /run
in libtirpc 1.3.7, commit 2f9ce0ca4e0e21f5286e75fab32202f3913d9725
("Move rpcbind.sock to /run").

* gnu/tests/nfs.scm (%test-nfs): Change rpcbind socket to /run.

Merges: https://codeberg.org/guix/guix/pulls/10487
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-08-12 10:20:27 +09:00
wrobell 0257734a40 services: rabbitmq: Depend on epmd.
* gnu/services/high-availability.scm (rabbitmq-shepherd-service):
  Change requirement to epmd service.
* doc/gnu.texi (High Availability Services): Document it.
* gnu/tests/high-availability.scm (%rabbitmq-os): Add epmd service.

Merges: https://codeberg.org/guix/guix/pulls/9607
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-07-26 15:25:57 +09:00
wrobell ce8df30021 services: Add epmd-service-type.
Add Erlang Port Mapper Daemon (epmd) service.
Run the service on localhost by default.

* gnu/services/high-availability.scm (<epmd-configuration>): New record.
  (epmd-service-type): New variable.
* gnu/tests/high-availability.scm (run-epmd-test): New procedure.
  (%epmd-os, %tests-epmd): New variables.
* doc/gnu.texi (High Availability Services): Document it.

Merges: https://codeberg.org/guix/guix/pulls/9607
References: https://www.rabbitmq.com/blog/2024/12/18/epmd-public-exposure
References: https://erlef.org/blog/eef/epmd-public-exposure
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-07-26 15:23:19 +09:00
Anderson Torres 8c473f5fad gnu: tests: Change (gnu packages wm) to (gnu packages window-management).
* gnu/tests/install.scm: Change (gnu packages wm) to (gnu packages window-management).

Change-Id: I3469150a0ca645c71a1ac2dc7bbabb514ef6fcfe
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-07-14 19:00:39 +02:00
Thanos ApolloandNguyễn Gia Phong ee71b7003d services: git-http-nginx-location-configuration: Enable configuration of the root URI path /.
* gnu/services/version-control.scm
  (git-http-nginx-location-configuration): Handle the case
  where uri-path is "/" by not adding an extra slash prefix.
* gnu/tests/version-control.scm (git-nginx-root-configuration):
  Generalize from %git-nginx-root-configuration
  to take uri-path as an argument from...
  (git-http-os): ...this new procedure generalized from %git-http-os
  to take uri-path as an argument from...
  (git-http-test): ...this new procedure generalized
  from run-git-http-test to return a system test
  instead of just its store value.  Additionally
  take name, description, and uri-path arguments.
  (%test-git-http): Adjust accordingly.
  (%test-git-http-root-path): Duplicate %test-git-http
  with "/" instead of "/git/" as uri-path.

Merges: https://codeberg.org/guix/guix/pulls/6140
Co-authored-by: Nguyễn Gia Phong <cnx@loang.net>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-07-03 16:09:28 +09:00
wrobell bfb35abf16 services: Update rabbitmq service
Update RabbitMQ default configuration to use localhost interface by
default and avoid listening on public interfaces.

Change the default configuration file to set inter-node communication
listener to localhost network interface (see also
https://www.rabbitmq.com/docs/networking#distribution). This requires
setting RabbitMQ node name to `rabbit@localhost`, so introduce
`node-name` RabbitMQ configuration field with such default value.

Path to the RabbitMQ environment configuration file was hardcoded.
Remove the hardcoding and allow to create such file with env-config-file
RabbitMQ configuration field.

Add new RabbitMQ service tests to check RabbitMQ broker startup and
status after the service is started.

* gnu/services/high-availability.scm (<rabbitmq-configuration>)
  [<node-name>, <env-config-file>]: New fields.
  (rabbitmq-shepherd-service): Use them.
  (%default-rabbitmq-config-file): Update.
* gnu/tests/high-availability.scm (run-rabbitmq-test): Add new tests.
* doc/gnu.texi (High Availability Services): Document new fields and
  provide information about local interfaces.

Merges: guix/guix!9360
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-06-28 23:38:21 +01:00
Giacomo Leidi 518129e113 linux-container: Remount / recursively as MS_PRIVATE, immediately after entering the new mount namespace.
Apply the same workaround that runc, crun, and buildah apply
unconditionally: immediately after entering the new mount namespace,
remount / recursively as MS_PRIVATE. Concretely, the call we will
make in Guile mirrors the verbatim C call already present in crun at
https://github.com/containers/crun/blob/99a8512ef50c5af1b8cfff28eacddf870220ca9f/src/libcrun/linux.c#L4677:

    ret = mount (NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL);

and the Go equivalents in:

- runc (defaults to MS_SLAVE for reasons documented in its pivotRoot):
https://github.com/opencontainers/runc/blob/a7e766484c38be1f0cf9b7d960c9324316cb7204/libcontainer/rootfs_linux.go#L1106

- buildah (expands to mount("", "/", "none", MS_REC|MS_PRIVATE, "")):
https://github.com/podman-container-tools/buildah/blob/769d311d739dd4bbde496a9480879ce6aadaa1e0/bind/mount.go#L41

Our implementation:

1. Detaches the container's mount namespace from the host's propagation
peer group, so subsequent mount/umount events inside the container
do not propagate to the host.
2. Makes the kernel's pivot_root(2) preconditions satisfied: both
new_root (the tmpfs we then create) and its parent (/) have propagation
type MS_PRIVATE.
3. Should have no effect on processes outside the new mount namespace. The
host's / retains whatever propagation type it had.

mount-file-systems is only invoked from run-container when both
'mnt namespace is requested and root != "/", so we are
guaranteed to be inside a fresh mount namespace at this point and that
the remount only affects this namespace. The remount must happen before
the tmpfs is created. Once the tmpfs exists as a child of the (shared)
host /, fixing only the host / does not retroactively change the
propagation type the tmpfs already inherited. Doing the remount first
means every subsequent mount this function performs inherits MS_PRIVATE
from its parent.

* guix/build/syscalls.scm (MS_PRIVATE): New variable.
* gnu/build/linux-container.scm (mount-file-systems): Remount / recursively as MS_PRIVATE, immediately after entering the new mount namespace.
* gnu/services/containers.scm (%miniflux-create-admin-credentials,
%rootless-podman-os-with-least-authority-wrapper,
run-rootless-podman-test-with-least-authority-wrapper): New bindings.
(%test-rootless-podman-with-least-authority-wrapper): New regression
test making sure the rootless-podman-service-type does not break again
least-authority-wrapper bases services.

Fixes: https://codeberg.org/guix/guix/issues/3233
Merges: https://codeberg.org/guix/guix/pulls/9140
2026-06-15 11:38:46 +02:00
Nguyễn Gia Phong 734f01c468 tests: prosody: Enable admin_shell module.
* gnu/tests/messaging.scm (%test-prosody)[config]<modules-enabled>:
  Add "admin_shell".

Change-Id: Iec53c70241249ca1f944475467742d01f025abcb
2026-06-07 23:07:41 +09:00
Maxim Cournoyer 2aa2bbc5fe services: nginx: Use a fixed location for the nginx configuration file.
The motivation is twofold:

 1. We can ensure the presence of the nginx default configuration fragments in
    the configuration file directory;
 2. 'herd reload nginx' can now be used to reload an updated configuration
    file.

Before this change, 'include fastcgi_params;', for example, would fail with
error:

  nginx: [emerg] open() "/gnu/store/fastcgi_params" failed
  (2: No such file or directory) in /gnu/store/...-nginx.conf:50

* gnu/services/web.scm (%nginx-configuration-file): New variable.
(nginx-activation): Delay configuration file check to...
(nginx-shepherd-service): ... a new one-shot 'nginx-init' service.  Adjust to
use the %nginx-configuration-file variable for the configuration file.
<actions>: Add a new 'configuration' action.
(nginx-conf-files, nginx-etc-directory): New procedures.
(nginx-service-type): Extend etc-service-type with nginx-service-type.
* gnu/tests/web.scm (%nginx-servers): Add an include directive to test config
to ensure it now works.

Merges: !8811
Change-Id: I26882ab01288ec4dd374e9f282e95ffa33dfa3cc
2026-06-03 13:52:35 +09:00
Maxim Cournoyer adbee8d605 Revert "services: Add forgejo-service-type."
This reverts commit e8ac9c3c3a, pushed by mistake.
2026-06-01 15:46:21 +09:00
Maxim Cournoyer e8ac9c3c3a services: Add forgejo-service-type.
* gnu/services/forgejo.scm: New file.
* gnu/tests/forgejo.scm: Likewise.
* doc/guix.texi (Forge Services): Document it.

Change-Id: I2c4e7b570d137b8d2fb7c02a29cb9aaf5366b9e1
2026-06-01 15:44:59 +09:00
Angus Gibson 1cd22486b8 gnu: tests: Add network-manager tests.
* gnu/tests/networking.scm (run-network-manager-test): New variable.
(run-network-manager-dnsmasq-test): New variable.

Change-Id: I8f957e11ba27ed15fe8d6136b934e0dd8b92a4d6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-31 08:30:10 +02:00
Sören Tempel 9609336829 services: web: Add system tests for gunicorn.
* gnu/tests/web.scm (%gunicorn-os): New variable.
(run-gunicorn-test): New variable.
(%test-gunicorn): New variable.

Change-Id: I1ee3fd4c29c7c44aa9c271c6775f953790ca60c3
2026-05-26 18:43:22 +02:00
Rutherther d79791dcd9 tests: install: Increase memory for installation of desktops.
The memory requirements seem to have increased, the test now consistently
fails with 1.2 GB.

Change-Id: I766cbe75fa6f09e513157f6f9e954dd2502d8c7a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #6248
2026-04-29 13:09:26 +02:00
Rutherther 43476286a4 tests: install: Add missing font packages to install tests.
The desktop install tests are currently failing due to lack of packages in
their store. These packages have been added in b01968f654.

* gnu/tests/install.scm
(%extra-packages): Renamed to %extra-encrypted-packages.
(%extra-encrypted-packages): New variable.
(%extra-desktop-packages): New variable.
(%extra-mandb-packages): New variable.
(installation-os-for-gui-tests): Use them in packages.

Change-Id: Ib49fd65651e94bfd05215773eef5046064d7815a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-04-29 13:09:25 +02:00
Danny Milosavljevic b90597b98d guix: Ask LUKS password only once on boot when using GRUB.
* gnu/bootloader/grub.scm (make-grub-configuration): Modify.
* gnu/system/mapped-devices.scm (open-luks-device): Modify.
* gnu/tests/install.scm (%encrypted-root-installation-script): Modify.
(%encrypted-root-os): Make debugging possible.
* doc/guix.texi (Mapped Devices): Cross-reference automatic LUKS master key
passing.
(BootloaderConfiguration): Document automatic LUKS master key passing via
GRUB's (proc)/luks_script.  Update extra-initrd documentation.

Change-Id: I5be74a524de04232d156e750109707fe7e50c28a
2026-04-09 19:55:05 +02:00
Nguyễn Gia Phong c973e81521 tests: miniflux: Use the default PostgreSQL version.
* gnu/tests/web.scm (miniflux-base-system)[postgresql-service-type]:
  Replace postgresql-13 with postgresql.

Change-Id: Iee411b6045ced64592937ed3dfda39c900ec52e7
2026-04-07 23:23:33 +09:00
Nguyễn Gia Phong 9d4a2622a8 tests: timescaledb: Fix postgresql package in profile.
* gnu/tests/databases.scm (%timescaledb-os)[services]<postgresql>:
  Use the postgresql package from timescaledb's inputs.
  (run-timescaledb-test): Use the psql binary installed in the profile.

Change-Id: Ib9a0efd3534f2f0731e3d58ac4f8f59301fc8592
2026-04-07 23:23:33 +09:00
Sören Tempel 3f3cec8993 services: web: Add sogogi service.
* gnu/services/web.scm (sogogi-service-type): New services.
(sogogi-serialize-section, sogogi-serialize-field)
(sogogi-serialize-string, sogogi-serialize-list-of-strings)
(sogogi-serialize-sogogi-user, sogogi-serialize-sogogi-location)
(sogogi-serialize-list-of-sogogi-user): New procedures.
(sogogi-user, sogogi-location)
(sogogi-configuration): New record types.
(sogogi-account-service): New variable.
(sogogi-config-file, sogogi-shepherd-service): New procedures.
* gnu/tests/web.scm (%test-sogogi): Add tests for the service.
* doc/guix.texi (Web Services): Document it.

Change-Id: I5cc6dd84d6c7c8d5d13b685853b19c5d433ed7e5
2026-03-29 14:12:56 +02:00
Ludovic Courtès 72e724cef4 services, tests: Refer to inherited field values where applicable.
* gnu/machine/hetzner.scm (operating-system-authorize): Refer to ‘services’
instead of calling ‘operating-system-user-services’.
* gnu/services/virtualization.scm (secret-service-operating-system): Likewise.
* gnu/tests.scm (operating-system-with-console-syslog): Likewise.
* gnu/tests/avahi.scm (%avahi-os): Likewise.
* gnu/tests/base.scm (%test-guix-daemon-unprivileged): Likewise.
* gnu/tests/nfs.scm (%nfs-os): Likewise.
(run-nfs-full-test): Likewise.
* gnu/system/vm.scm (virtualized-operating-system): Refer to ‘initrd-modules’
instead of calling ‘operating-system-initrd-modules’.

Change-Id: I00c5f5c1e171b174bf0ca709b2dbd13a2fe161b5
2026-03-20 13:27:16 +01:00
Nguyễn Gia Phong 3433fb987b services: Add fossil-service-type.
* gnu/services/version-control.scm
  (fossil-service-type, fossil-configuration): New public variables.
* gnu/tests/version-control.scm (%test-fossil): Add system tests.
* doc/guix.texi (Version Control Services): Add Fossil documentation.

Change-Id: I84e09fe8c11e161ed7c4bdba42b0ae38ef4c2096
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-11 18:27:46 +01:00
Efraim Flashner 06c6c3ede5 tests: debian-install: Refresh test inputs.
* gnu/tests/foreign.scm (debian-13-qcow2, debian-uidmap-deb-file):
Replace with newer versions.

Change-Id: Ic3a3972a4a210ae95e5dad8a80e91f19353b4554
2026-03-10 12:05:52 +02:00
Giacomo Leidi 520785e315 gnu: Add soju-service-type.
* gnu/services/messaging.scm (%default-soju-shepherd-requirement): New
variable.
(soju-ssl-certificate): New configuration record.
(soju-database): New configuration record.
(soju-configuration): New configuration record.
(serialize-soju-configuration,soju-activation,soju-accounts,
soju-shepherd-services): New procedures.
(soju-service-type): New service.
(serialize-ngircd-configuration): Reformat.
(pounce-configuration): Reformat.
* doc/guix.texi: Document the new soju service.
* gnu/tests/messaging.scm: Test the new soju service.

Change-Id: I6223ecac1aaaab76bd75461851ffe4cec0678118
2026-03-09 23:17:24 +01:00
Yelninei d4ee8de214 system: hurd: Remove %hurd64-default-* variants.
Since 8f852885de these are aliases.

* gnu/system/hurd.scm (%hurd64-default-operating-system,
%hurd64-default-operating-system-kernel): Delete variables.

* gnu/system/images/hurd.scm (hurd64-barebones-os): Replace
%hurd64-default-operating-system with %hurd-default-operating-system
* gnu/system/examples/bare-hurd64.tmpl (%hurd64-os): Same.
* gnu/tests/virtualization.scm (%childhurd64-os): Remove usage of
%hurd64-default-operating-system-kernel.

Merges: #5544.

Change-Id: Ie7345cd99dc37712e7a0f7683ad738c194c70fa7
2026-03-09 13:01:10 +01:00
Giacomo Leidi fbe8f6d765 tests: Add tuned-service-type tests.
* gnu/tests/linux.scm (%test-tuned): New system test.
* gnu/local.mk: Add it.

Change-Id: Ia257dd5f33c8f9a1eea395b462aee28e16b5e316
2026-03-07 22:28:01 +01:00
Vagrant Cascadian 2126b510ce gnu: Remove linux-libre 5.4.
gnu/packages/linux.scm (linux-libre-5.4-version, linux-libre-5.4-gnu-revision,
deblob-scripts-5.4, linux-libre-5.4-pristine-source, linux-libre-5.4-source,
linux-libre-headers-5.4, linux-libre-5.4, linux-libre-headers-5.4,
linux-libre-arm-generic-5.4, linux-libre-arm64-generic-5.4): Remove variables.
* gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch: Delete
file.
* gnu/local.mk [dist_patch_DATA]: Deregister patch.
* gnu/packages/aux-files/linux-libre/5.4-arm.conf,
gnu/packages/aux-files/linux-libre/5.4-arm64.conf,
gnu/packages/aux-files/linux-libre/5.4-i686.conf,
gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Delete files.
* Makefile.am [AUX_FILES]: Deregister them.
* gnu/packages/android.scm (adb)[native-inputs]: Use linux-libre-headers-5.15.
* gnu/packages/vpn.scm (wireguard-linux-compat): Remove variable.
* gnu/tests/base.scm (%test-linux-libre-5.4): Remove variable.
2026-03-05 14:59:55 -08:00
Giacomo Leidi a375202ad3 gnu: libvirt: Configure default libvirt network.
* gnu/services/virtualization.scm (%libvirt-activation): Activate
default libvirt network configuration file.
* gnu/tests/virtualization.scm (run-libvirt-test): Drop network
definition test and replace it with a test checking that the default
network is inactive by default.

Change-Id: I03b6314a390c6d93ebf886d7033867ff5cacad74
2026-03-04 20:18:02 +01:00
Giacomo Leidi cbbf6b1d57 tests: Test lowering of file-like objects values for oci-image.
This patch is supposed to introduce a test case to ensure use cases like
the one of https://codeberg.org/guix/guix/issues/3818 are working.

* gnu/tests/containers.scm (%guile-oci-image): New variable.
(%guile-bash-oci-image): New variable.
(%oci-rootless-podman-os)[fist-container]: Use %guile-oci-image.
[second-container]: Use file-like object as oci-image value.
(%oci-docker-os): Ditto.

Change-Id: I0052243dba2d901d497e1c0976a5aa1ebe9864a0
Reviewed-by: Owen T. Heisler <writer@owenh.net>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-02-25 22:17:41 +00:00
Rodion Goritskov 396a9451d4 services: Add configuration action to miniflux-service-type.
* gnu/services/web.scm (miniflux-shepherd-service): Add configuration action.
* gnu/tests/web.scm (run-miniflux-test): Add configuration action check.

Change-Id: I515653070cc0c39fcbe31fef19d8745a1a8d47cb
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-02-23 23:58:25 +00:00
Rutherther e3d8fc1147 file-systems: mount-file-system: Guard against missing devices.
When a device with a UUID is missing, canonicalize-device-spec will throw an
error. This error is not handled for mount-may-fail? devices. That means
that if you use UUID device and it isn't available, the boot will hang on
the user-file-systems not being started. All user services depend on that
service.

Also added a test for this behavior.

* gnu/build/file-systems.scm
(mount-file-system): Guard canonicalize-device-spec call.
(canonicalize-device-spec): Throw &partition-lookup-error on missing
partition.
(&partition-lookup-error): New variable.
* gnu/tests/base.scm (%test-missing-file-system): New variable.

Change-Id: I3b8d652251cef421cff6d2fdafb8d9d7d1fc74b5
Reported-By: renbus, on IRC
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2026-02-23 11:46:09 +09:00
Sughosha 4b8cfa7f69 services: readymedia: Run with a pid file.
* gnu/services/upnp.scm (%readymedia-default-pid-directory): New variable.
(%readymedia-pid-file): New procedure.
(readymedia-shepherd-service)[start]: Start with the pid file.
(readymedia-activation): Create the pid directory.
* gnu/tests/upnp.scm (run-readymedia-test): Test the pid directory and file.

Merges: https://codeberg.org/guix/guix/pulls/1007
Change-Id: I454a89d25afe0e9bb0414645b1e4594afdf89058
Signed-off-by: Giacomo Leidi <therewasa@fishinthecalculator.me>
2026-02-22 17:15:19 +01:00
Sughosha f19ddd6dfe services: readymedia: Fix configurations.
* gnu/services/upnp.scm (%readymedia-default-log-directory): Remove variable.
(%readymedia-default-log-file): New procedure.
(%readymedia-default-cache-directory): Turn it into a procedure.
(<readymedia-configuration>)[log-directory]: Remove field.
[log-file]: New field.
[cache-directory]: Set to %readymedia-default-cache-directory.
(readymedia-configuration->config-file): Remove "user" and "log_dir" fields.
(readymedia-shepherd-service)[modules]: Add (shepherd support).
[start]: Do not map the log-directory. For home services, do not wrap the
program with least-authority-wrapper.
(readymedia-activation): Do not create the log-directory.
* gnu/home/services/upnp.scm (%readymedia-cache-file, %readymedia-cache-path,
%readymedia-log-path): Remove variables.
(run-readymedia-test): Use the procedures properly. Do not test the
log directory. Test the log file.
* doc/guix.texi (Miscellaneous Services)[DLNA/UPnP Services]: Update doc.

Change-Id: I97d84b5287c374ddb26a495f20a36f986b0c142d
Signed-off-by: Giacomo Leidi <therewasa@fishinthecalculator.me>
2026-02-22 17:15:16 +01:00
Sören Tempel 64622248cd services: web: Add go-webdav.
* gnu/services/web.scm (go-webdav-service-type): New service.
(go-webdav-account-service): New variable.
(go-webdav-shepherd-service): New procedures.
* gnu/tests/web.scm (%test-go-webdav): Add tests for the service.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-02-08 23:53:58 +01:00
Cayetano Santos 22db59d243 gnu: easyeffects: Update dependency on tbb.
* gnu/packages/audio.scm (easyeffects)[inputs]: Remove tbb; add
onetbb.

Change-Id: Icfbb4c4dca2d9c4277499392b46b4e2b1bf365f8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-25 21:24:56 +01:00
Noé Lopez 1d455fb8bf tests: install: Fix timezone check.
The default timezone is set to Europe/Zaghreb, however the new check
introduced in 0a9eb3f3e2 was checking for the
one in the operating-system definition, which is Europe/Paris.

* gnu/tests/install.scm (gui-test-program): Explicitely set timezone to
Europe/Paris.

Change-Id: I7b5d327f13760632c9fbc0c1223a6a9bbc624f4d
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4977
2026-01-15 20:26:28 +01:00
Rodion Goritskov b73427bf6b tests: mail: Add Radicale test.
* gnu/tests/mail.scm
(%radicale-os): New variable.
(run-radicale-test): New function with basic tests.
(%test-radicale): New variable.

Change-Id: I4a4e093ca7ac2a20a575bcf38b6ff763edf67652
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5361
2026-01-09 15:22:45 +01:00
Nguyễn Gia Phong 211ee32c95 tests: %test-nss-mdns: Fix test order.
Before this, the test failed because Avahi CLI utilities
exit with a non-zero status in case of a cache miss
(instead of blocking?).

* gnu/tests/avahi.scm (run-nss-mdns-test): Move the Avahi CLI tests
  after other name resolution tests.

Change-Id: I88ab03abf39cf24ee2ce763c719444ac65504cc2
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4955
2026-01-09 15:22:45 +01:00
Danny Milosavljevic ac92638bce services: Add opensnitch-service.
* gnu/services/opensnitch.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add reference to it.
* doc/guix.texi (Miscellaneous Services, Security): Document it.
* gnu/tests/security.scm (%test-opensnitch): New variable.

Change-Id: I63d1b6636b3aaecf399664ec97383d82ff1391d1
2026-01-08 01:53:57 +01:00
Maxim Cournoyer 47af617b5c services: Add luanti-service-type.
* gnu/services/games.scm (luanti-configuration): New variable.
(%luanti-account): Likewise.
(luanti-activation): New procedure.
(luanti-shepherd-service): Likewise.
(luanti-service-type): New variable.
* gnu/tests/games.scm: New file.

Change-Id: I65a1dcf832fa8add9c9d278d82bab91ca3eef086
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-01-06 22:00:50 +09:00
Rodion Goritskov 65432c00fc tests: Add Fedora foreign distribution test.
* gnu/tests/foreign.scm (qcow-image-with-marionette):
  - Create .autorelabel file to make copied Guile work
    on SELinux-enabled systems.
(resize-lvm-xfs-partition): New variable.
(run-foreign-install-test): Increase RAM for VM to 1024
  as 512 is not sufficient to run Guix installation
  on Fedora.
(fedora-qcow2): New variable.
(%test-fedora-install): New variable.

Change-Id: Ib247a174dfea8630d830763410391077516a8c16
Merges: #5007
2025-12-28 12:38:29 +01:00
Rutherther f1c1fb9340 tests: foreign: Add Ubuntu test.
This one is a bit more complicated than the other ones, because the qcow2
image is too small to hold the tarball contents.  So I have decided to add in
logic to resize the qemu img, the partition and the filesystem.

* gnu/tests/foreign.scm
(ubuntu-qcow2): New variable.
(ubuntu-uidmap-deb-file): New variable.
(ubuntu-libsuid4-deb-file): New variable.
(%test-ubuntu-install): New variable.

Change-Id: Ib705cfe0aeab5e6ede284b8eff06483aea617349e
Signed-off-by: Rutherther <rutherther@ditigal.xyz>

Merges: #4997
Change-Id: I17472d160665fa4965d1c1ee00d671746bd5fb74
2025-12-28 12:38:28 +01:00
Rutherther 0c74e5835e tests: foreign: Add utilities for resizing foreign images.
* gnu/tests/foreign.scm
(qcow-image-with-marionette): Add resize-image and
resize-proc to resize the image, the partition and the file system.
(resize-ext4-partition): New variable.
(run-foreign-install-test): Add resize-image and resize-proc; Pass them to
qcow-image-with-marionette.

Change-Id: I92dbe0cdcafb5ff0a0b6c3e9b96205b4ad9d10e8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-28 12:38:27 +01:00
Rutherther e51032b257 tests: foreign: Add test restarting guix-daemon.
* gnu/tests/foreign.scm (run-foreign-install-test): Restart the
daemon, build and gc afterwards.

Followup of 9a78e76076.

Change-Id: Ia2304d6b9c83b5b8f410426ce00e078c2f004198
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-25 13:18:48 +01:00
Ludovic Courtès 3e2bd2e30b services: nscd: Cause PID 1 to drop nscd database mappings on shutdown.
Partly fixes guix/guix#4269.

Fixes a bug whereby shepherd (PID 1) could retain memory mappings for
/var/run/nscd/dbXXX, which are created by glibc’s NSS from database file
descriptors sent by nscd.  Those mappings could then prevent
‘root-file-system’ from re-mounting the root file system as read-write.
This change causes PID 1 to drop these mappings.

PID 1 typically calls libc database functions such as ‘getgr’ when dealing
with AF_UNIX endpoints for socket-activated services, to look up the socket’s
owner and group.  This is where the bug would manifest.

The regression may have been introduced by
85ac164c41, which caused nscd to handle the
password and group databases.

* gnu/services/base.scm (nscd-shepherd-service): In ‘stop’ procedure, call
‘getpw’, ‘getgr’, and ‘getaddrinfo’.
* gnu/tests/base.scm (run-root-unmount-test) <"open libc NSS database">: New
test.
(%test-root-unmount): Add #:imported-modules.

Change-Id: I197cc8c82165c631f857415898137412ce9bd439
Reported-by: Rutherther <rutherther@ditigal.xyz>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4828
2025-12-19 00:05:43 +01:00
Giacomo Leidi c425bac93d Update Giacomo's email address.
The change was automated via:

git grep -l goodoldpaul@autistici.org |
    xargs sed -i 's/goodoldpaul@autistici.org/therewasa@fishinthecalculator.me/g'

* .mailmap: New entry.

Change-Id: I1629388334695d221647afe6a14faf61af5fe0d6
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-12-03 14:38:09 +09:00