This improves the installer's ability to detect that all requirements are
present regardless of init system. It also avoids performing the requirement
check twice (printing excessively to the console) and provides a framework for
adding new init system specific requirements if it's needed in the future.
* etc/guix-install.sh (add_init_sys_require): Create.
(SYSV_INIT_REQUIRE): Create.
(main_install): Reorder installer steps so all requirements are checked in one
pass.
Change-Id: Ic541c1b90499d504642b7ab4ae595501b1a37b0d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Add a mechanism to only require mounting a subset of file-system entries
during early Shepherd initialization. Any file-system with additional Shepherd
service requirements (e.g. networking) is not required to provision
'file-systems.
* gnu/services/base.scm (file-system-shepherd-service): Splice
file-system-requirements into the Shepherd service requirement list.
(file-system-shepherd-services): Provision 'file-system only when file system
services without additional Shepherd requirements are started.
* gnu/system/file-systems.scm (file-system): Add shepherd-requirements field
to the file-system record. This field is used for adding additional Shepherd
requirements to a file-system Shepherd service.
* doc/guix.texi: Add documentation for file-system shepherd-requirements.
Change-Id: If0392db03d48e8820aa53df1df482c12ec72e1a5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This allows users to specify NSS plugins such as LDAP via the
‘name-services’ field of <nscd-configuration>. Failing that, user code
will dlopen whatever passwd/group plugins are listed in
/etc/nsswitch.conf, which is likely to fail, typically because those are
not in $LD_LIBRARY_PATH.
* gnu/services/base.scm (%nscd-default-caches): Add ‘passwd’ and ‘group’
caches.
Change-Id: I9c03346a1de2710685f7801eccd2e08007427f5d
* guix/import/utils.scm (beautify-description): Append period to last
words which do not end with one.
* tests/crate.scm: Append period to descriptions.
* tests/elm.scm: Append period to descriptions.
* tests/gem.scm: Append period to descriptions.
* tests/hexpm.scm: Append period to descriptions.
* tests/minetest.scm: Append period to descriptions.
* tests/pypi.scm: Append period to descriptions.
* tests/import-utils.scm ("beautify-description: transform fragment into
sentence"): Likewise.
Change-Id: I0b12c4d94cb26cf62fab5b7cbf7885e66ff6c10f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/vulkan.scm (spirv-llvm-translator)[arguments]: Only run
tests when not cross-compiling and for x86_64-linux.
Change-Id: If0025060e5aa24a9d90724966887ea03f4f8c4b3
* gnu/packages/vulkan.scm (spirv-llvm-translator)[arguments]: Adjust
configure-flags to link the executable to the shared library location
and enable building the shared libraries.
Change-Id: I0f44e1562957fb7e6c2e6f7a10dceed8f32ca7ce
* guix/self.scm (translate-tmp-texi): Use po4a instead of po4a-translate.
This eliminates the po4a-translate warning; "po4a-translate is deprecated.
The unified po4a(1) program is more convenient and less error prone."
Change-Id: Id85c7478b1b237f31010994fcd2d38765993c1ad
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
* configure.ac (Documentation translation): Remove the po4a-translate command.
This command has been replaced by the po4a command and are not used from
anywhere.
* doc/local.mk ($(srcdir)/%D%/guix.%.texi, $(srcdir)/%D%/guix-cookbook.%.texi)
($(srcdir)/%D%/contributing.%.texi): Use the po4a command instead of the
po4a-translate for the translation generation. This eliminates the warning of
po4a-translate; "po4a-translate is deprecated. The unified po4a(1) program is
more convenient and less error prone."
(PO4A_PARAMS): Remove the Texinfo format option. This option is specified in
the configuration file (po/doc/po4a.cfg).
(dummy_pot): Add a variable for the temporary POT file location.
Change-Id: I542b934c3c03b8701e9f86823191224f8b0ccf81
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
* configure.ac (Documentation translation): Add the po4a program and remove
the po4a-updatepo program. The PO4A defined here can be used in
Makefiles (e.g. po/doc/local.mk below). The po4a command integrates the
functionality of po4a-updatepo and is currently recommended for use [1]. The
po4a-updatepo command has been replaced by the po4a command and are not used
from anywhere.
* po/doc/local.mk (%D%/%.pot): Use a po4a command instead of the po4a-updatepo
for the POT generation. This eliminates the warning of po4a-updatepo;
"po4a-updatepo is deprecated. The unified po4a(1) program is more convenient
and less error prone." Here, the file paths are passed using variables. This
is because the po4a command needs to be executed for each language and each
file. Dummy values are passed for those that are not needed to update the POT
file.
* po/doc/po4a.cfg: Add a po4a config file for the POT generation. The po4a
command requires a configulation file.
[1] https://po4a.org/man/man7/po4a.7.php.en#lbAS
Change-Id: Ica39a0d1f77b6a64d37c592ac2e693319443d3c5
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
* Makefile.am (AM_V_PO4A_0, AM_V_POXREF_0): Align the Automake status lines of
the po4a and the PO xref, since the common width is 10 characters.
Change-Id: Ic8c32f73294ba6e4ca71ab4aa889a558e4d7fcee
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
When replacing `guix environment' with `guix shell',
I forgot to add a `--development' argument.
Follow-up to 9c3a8a380b.
* doc/guix-cookbook.texi (Environment management)
[Guix environment via direnv]: Fix example.
Change-Id: I0a0df33b3b547bfc3ada10c4648e593be6608070
* gnu/packages/nss.scm (nsncd): New variable. Introducing Nsncd, a non-caching
alternative of Glibc Nscd.
Change-Id: I18ba7ffbb6fb59c4928829bb98a8da4e6963e587
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Commit 12d2a6e5a6 introduced a regression
whereby ./configure would error out for lack of libxdp.
* gnu/packages/dns.scm (knot)[inputs]: Replace LIBBPF with LIBBPF-0.8.
Change-Id: Ifeeacc27705d4d617ee0c58672f22d5f9de06389
This reverts commit dbeef44f3c.
Despite the more semantically correct data type, it doesn't follow the style
of the most services and also breaks user-facing API.
Change-Id: Ib4ef4e9cd2f53ac853a5b7c7c90e57c35c99a5ea
On my virtual private servers running Alpine, the install script failed to
identify the init system. The virtual server is LXC based, and OpenRC
identifies itself like this:
# openrc --version
openrc (OpenRC [LXC]) 0.52.1
The regular expression failed to match it. After relaxing the check (by
removing the trailing `)' requirement) the installation went fine and I got
functional Guix installation.
* etc/guix-install.sh (chk_init_sys): Drop trailing \) from the regular
expression.
Change-Id: I5f951226341e631fb34cc6c26cfbb87656dab77a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Adding ~/.guix-profile/share/info to the INFOPATH env var so that when a user
does `guix install [package]` that package's info pages can be found.
* etc/guix-install.sh (sys_create_init_profile): Add
$GUIX_PROFILE/share/info to INFOPATH in ‘/etc/profile.d/zzz-guix.sh’.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I8958261c388ddee5659f0f1ce1c0c9813dc0f052