guix: Check for a sane services database
On bare systems, it is possible to be lacking a services database. Check for basic entries before attempting a build. See the error message in the diff for more context.
This commit is contained in:
1 parent
4129134e84
commit
263220a85c
1 file changed
+24
-1
+24
-1
@@ -18,7 +18,7 @@ source "$(dirname "${BASH_SOURCE[0]}")/libexec/prelude.bash"
|
|||||||
# Required non-builtin commands should be invocable
|
# Required non-builtin commands should be invocable
|
||||||
################
|
################
|
||||||
|
|
||||||
check_tools cat mkdir make git guix
|
check_tools cat mkdir make getent git guix
|
||||||
|
|
||||||
################
|
################
|
||||||
# GUIX_BUILD_OPTIONS should be empty
|
# GUIX_BUILD_OPTIONS should be empty
|
||||||
@@ -186,6 +186,29 @@ fi
|
|||||||
#
|
#
|
||||||
# However, the internal API is likely to change more than the CLI invocation
|
# However, the internal API is likely to change more than the CLI invocation
|
||||||
|
|
||||||
|
################
|
||||||
|
# Services database must have basic entries
|
||||||
|
################
|
||||||
|
|
||||||
|
if ! getent services http https ftp; then
|
||||||
|
cat << EOF
|
||||||
|
ERR: Your system's C library can not find service database entries for at least
|
||||||
|
one of the following services: http, https, ftp.
|
||||||
|
|
||||||
|
Hint: Most likely, /etc/services does not exist yet (common for docker images
|
||||||
|
and minimal distros), or you don't have permissions to access it.
|
||||||
|
|
||||||
|
If /etc/services does not exist yet, you may want to install the
|
||||||
|
appropriate package for your distro which provides it.
|
||||||
|
|
||||||
|
On Debian/Ubuntu: netbase
|
||||||
|
On Arch Linux: iana-etc
|
||||||
|
|
||||||
|
For more information, see: getent(1), services(5)
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# SETUP #
|
# SETUP #
|
||||||
|
|||||||
Reference in new issue
Block a user