summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rwxr-xr-xetc/guix-install.sh175
-rw-r--r--etc/news.scm99
-rwxr-xr-xetc/teams.scm8
3 files changed, 269 insertions, 13 deletions
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 982fb0a266..72b456ee7a 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -12,6 +12,8 @@
# Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2022 Prafulla Giri <prafulla.giri@protonmail.com>
# Copyright © 2023 Andrew Tropin <andrew@trop.in>
+# Copyright © 2020 David A. Redick <david.a.redick@gmail.com>
+# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -70,7 +72,9 @@ REQUIRE=(
"chmod"
"uname"
"groupadd"
+ "groupdel"
"useradd"
+ "userdel"
"tail"
"tr"
"xz"
@@ -191,6 +195,7 @@ chk_term()
*)
ERR="[ FAIL ] "
PAS="[ PASS ] "
+ WAR="[ WARN ] "
;;
esac
fi
@@ -377,6 +382,18 @@ sys_create_store()
_msg "${PAS}activated root profile at ${GUIX_PROFILE}"
}
+sys_delete_store()
+{
+ _msg "${INF}removing /var/guix"
+ rm -rf /var/guix
+
+ _msg "${INF}removing /gnu"
+ rm -rf /gnu
+
+ _msg "${INF}removing ${ROOT_HOME}/.config/guix"
+ rm -rf ${ROOT_HOME}/.config/guix
+}
+
sys_create_build_user()
{ # Create the group and user accounts for build users.
@@ -411,6 +428,16 @@ sys_create_build_user()
done
}
+sys_delete_build_user()
+{
+ for i in $(seq -w 1 10); do
+ userdel -f guixbuilder${i}
+ done
+
+ _msg "${INF}delete group guixbuild"
+ groupdel -f guixbuild
+}
+
sys_enable_guix_daemon()
{ # Run the daemon, and set it to automatically start on boot.
@@ -500,11 +527,70 @@ sys_enable_guix_daemon()
done
}
+sys_delete_guix_daemon()
+{ # Disabled, stop and remove the various guix daemons.
+
+ local info_path
+ local local_bin
+ local var_guix
+
+ _debug "--- [ $FUNCNAME ] ---"
+
+ info_path="/usr/local/share/info"
+ local_bin="/usr/local/bin"
+
+
+ case "$INIT_SYS" in
+ upstart)
+ _msg "${INF}stopping guix-daemon"
+ stop guix-daemon
+ _msg "${INF}removing guix-daemon"
+ rm /etc/init/guix-daemon.conf
+ ;;
+
+ systemd)
+ _msg "${INF}disabling guix-daemon"
+ systemctl disable guix-daemon
+ _msg "${INF}stopping guix-daemon"
+ systemctl stop guix-daemon
+ _msg "${INF}removing guix-daemon"
+ rm -f /etc/systemd/system/guix-daemon.service
+
+ if [ -x /etc/systemd/system/gnu-store.mount ]; then
+ _msg "${INF}disabling gnu-store.mount"
+ systemctl disable gnu-store.mount
+ _msg "${INF}stopping gnu-store.mount"
+ systemctl stop gnu-store.mount
+ _msg "${INF}removing gnu-store.mount"
+ rm -f /etc/systemd/system/gnu-store.mount
+ fi
+ systemctl daemon-reload
+ ;;
+
+ sysv-init)
+ update-rc.d guix-daemon disable
+ service guix-daemon stop
+ rm -rf /etc/init.d/guix-daemon
+ ;;
+ NA|*)
+ _msg "${ERR}unsupported init system; disable, stop and remove the daemon manually:"
+ echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
+ ;;
+ esac
+
+
+ _msg "${INF}removing $local_bin/guix"
+ rm -f "$local_bin"/guix
+
+ _msg "${INF}removing $info_path/guix*"
+ rm -f "$info_path"/guix*
+}
+
sys_authorize_build_farms()
{ # authorize the public key(s) of the build farm(s)
local hosts=(
- ci.guix.gnu.org
bordeaux.guix.gnu.org
+ ci.guix.gnu.org
)
if prompt_yes_no "Permit downloading pre-built package binaries from the \
@@ -557,6 +643,10 @@ GUIX_LOCPATH="$GUIX_PROFILE/lib/locale:${GUIX_LOCPATH:+:}$GUIX_LOCPATH"
export GUIX_LOCPATH
+# Make Guix modules available
+export GUILE_LOAD_PATH="$_GUIX_PROFILE/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
+export GUILE_LOAD_COMPILED_PATH="$_GUIX_PROFILE/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
+
EOF
}
@@ -623,8 +713,29 @@ sys_maybe_setup_selinux()
restorecon -R /gnu /var/guix
}
+sys_delete_init_profile()
+{
+ _msg "${INF}removing /etc/profile.d/guix.sh"
+ rm -f /etc/profile.d/guix.sh
+}
+
+sys_delete_user_profiles()
+{
+ _msg "${INF}removing ${ROOT_HOME}/.guix-profile"
+ rm -f ${ROOT_HOME}/.guix-profile
+ rm -rf ${ROOT_HOME}/.cache/guix
+
+ _msg "${INF}removing .guix-profile, .cache/guix and .config/guix of all /home users"
+ for user in `ls -1 /home`; do
+ rm -f /home/$user/.guix-profile
+ rm -rf /home/$user/.cache/guix
+ rm -rf /home/$user/.config/guix
+ done
+}
+
welcome()
{
+ local uninstall_flag="$1"
local char
cat<<"EOF"
░░░ ░░░
@@ -647,10 +758,17 @@ welcome()
| |__| | |\ | |__| | | |__| | |_| | |> <
\_____|_| \_|\____/ \_____|\__,_|_/_/\_\
-This script installs GNU Guix on your system
-
https://www.gnu.org/software/guix/
EOF
+
+ if [ '--uninstall' = "$uninstall_flag" ]; then
+ echo "${WARN}This script will uninstall GNU Guix from your system"
+ echo "To install, run this script with no parameters."
+ else
+ echo "This script installs GNU Guix on your system"
+ echo "To uninstall, pass in the '--uninstall' parameter."
+ fi
+
# Don't use ‘read -p’ here! It won't display when run non-interactively.
echo -n "Press return to continue..."$'\r'
if ! read -r char; then
@@ -665,7 +783,7 @@ EOF
fi
}
-main()
+main_install()
{
local tmp_path
welcome
@@ -715,4 +833,53 @@ main()
_msg "${INF}Please log out and back in to complete the installation."
}
+main_uninstall()
+{
+ welcome --uninstall
+ _msg "Starting uninstall process ($(date))"
+
+ chk_term
+ chk_require "${REQUIRE[@]}"
+ # it's ok to leave the gpg key
+ chk_init_sys
+ chk_sys_arch
+
+ _msg "${INF}system is ${ARCH_OS}"
+
+ # stop the build, package system.
+ sys_delete_guix_daemon
+ # stop people from accessing their profiles.
+ sys_delete_user_profiles
+ # kill guix off all the guts of guix
+ sys_delete_store
+ # clean up the system
+ sys_delete_init_profile
+ sys_delete_build_user
+
+ # these directories are created on the fly during usage.
+ _msg "${INF}removing /etc/guix"
+ rm -rf /etc/guix
+ _msg "${INF}removing /var/log/guix"
+ rm -rf /var/log/guix
+
+ _msg "${PAS}Guix has successfully been uninstalled!"
+}
+
+main()
+{
+ # expect no parameters
+ # or '--uninstall'
+ if [ 0 -eq $# ]; then
+ main_install
+ else
+ local uninstall_flag="$1"
+ if [ '--uninstall' = "${uninstall_flag}" ]; then
+ main_uninstall
+ else
+ echo "unsupported parameters: $@"
+ exit 1
+ fi
+ fi
+}
+
main "$@"
diff --git a/etc/news.scm b/etc/news.scm
index ab7fa4c0d5..3dbe0e0e67 100644
--- a/etc/news.scm
+++ b/etc/news.scm
@@ -9,7 +9,7 @@
;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
-;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;; Copyright © 2021–2023 Leo Famulari <leo@famulari.name>
;; Copyright © 2021 Zhu Zihao <all_but_last@163.com>
;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
@@ -20,6 +20,9 @@
;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
+;; Copyright © 2024 Hilton Chain <hako@ultrarare.space>
+;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;; Copyright © 2024 Vivien Kraus <vivien@planete-kraus.eu>
;;
;; Copying and distribution of this file, with or without modification, are
;; permitted in any medium without royalty provided the copyright notice and
@@ -28,6 +31,100 @@
(channel-news
(version 0)
+ (entry (commit "fdfd7667c66cf9ce746330f39bcd366e124460e1")
+ (title
+ (en "@code{nss-certs} is now included in @code{%base-packages}")
+ (fr "@code{nss-certs} est maintenant inclus dans @code{%base-packages}"))
+ (body
+ (en "The @code{nss-certs} package is now included in the
+@code{%base-packages}, the default value for the @code{packages} field of the
+@code{operating-system} record.")
+ (fr "Le paquet @code{nss-certs} est maintenant inclus dans
+@code{%base-packages}, la valeur par défaut du champ @code{packages} de
+l'enregistrement @code{operating-system}.")))
+
+ (entry (commit "b4aed68e960116b2b60f68ea1468d7a526149823")
+ (title
+ (en "Linux-libre LTS kernel updated to 6.6")
+ (de "Linux-libre LTS Kernel wird auf 6.6 aktualisiert"))
+ (body
+ (en "The default version of the @code{linux-libre-lts} kernel has been
+ updated to the 6.6 longterm release series.")
+ (de "Der standardmäßig verwendete @code{linux-libre-lts}-Kernel basiert
+ jetzt auf der 6.6-Versionsreihe (Langzeitunterstützung).")))
+
+ (entry (commit "523f3def65ab061a87f4fc9e6f9008e6a78fafb5")
+ (title
+ (en "GNOME updated to version 44 with a more modular desktop service")
+ (de "GNOME auf Version 44 aktualisiert mit modularem Dienst")
+ (fr "Mise à jour de GNOME en version 44 avec un service plus modulaire")
+ (zh "GNOME 44 更新,帶來更加模塊化的桌面服務"))
+ (body
+ (en "The @code{gnome-desktop-service-type} now differentiates between
+shell, utilities, and extra-packages among other fields to bring more structure
+in its configuration.
+
+With the update to GNOME 44, some shell extensions have been deprecated and
+others removed. If any @code{gnome-shell-extension-@dots{}} package causes
+an error while running your usual update routine, make sure to remove it from
+your profile.")
+ (de "Der Dienst @code{gnome-desktop-service-type} unterscheidet nun
+unter anderem zwischen den Feldern shell, utilities und extra-packages, und
+bringt so etwas mehr Struktur in die Konfiguration.
+
+Mit dem Update zu GNOME 44 wurden einige Erweiterungen als obsolet deklariert
+und andere entfernt. Falls ein Paket, dessen Name mit
+@code{gnome-shell-extension-} beginnt, zu einem Fehler während Ihrer
+Update-Routine führt, entfernen Sie es von Ihrem Profil.")
+ (fr "Le service @code{gnome-desktop-service-type} sépare
+maintenant les champs @code{shell}, @code{utilities} et @code{extra-
+packages} (entre autres) pour donner plus de structure à sa
+configuration.
+
+Pendant la mise à jour vers GNOME 44, certaines extensions du shell ont
+été dépréciées et d’autres supprimées. Si un paquet nommé
+@code{gnome-shell-extension-@dots{}} émet une erreur quand vous
+effectuez la mise à jour, vous devriez l’enlever de votre profil.")
+ (zh "@code{gnome-desktop-service-type} 設置新增 @code{shell}、
+@code{utilities}、@code{extra-packages} 等字段,使得 GNOME 桌面配置更加模塊化。
+
+隨着 GNOME 44 更新,一些 GNOME Shell 拓展已被棄用或刪除。更新中若有關於
+@code{gnome-shell-extension-@dots{}} 軟件包的錯誤,請將對應軟件包從 profile 中
+刪除。")))
+
+ (entry (commit "06d01c610e3bee61e38a177aecda5982d5b338ae")
+ (title
+ (en "The GNOME Display Manager uses Wayland by default")
+ (de "GNOME Display Manager nutzt nun Wayland als Vorgabe")
+ (fr "GDM utilise Wayland par défaut")
+ (zh "GNOME 顯示管理器(GDM)服務默認啓用 Wayland 支持"))
+ (body
+ (en "The @code{gdm-service-type} is configured to use Wayland instead
+of Xorg by default.")
+ (de "Der Dienst @code{gdm-service-type} verwendet nun Wayland
+als Vorgabe anstelle von Xorg.")
+ (fr "Le service @code{gdm-service-type} est configuré par défaut pour
+utiliser Wayland au lieu de Xorg.")
+ (zh "@code{gdm-service-type} 預設已由 Xorg 改爲 Wayland。")))
+
+ (entry (commit "498db4de1f09414adf68a3a383f0178434035179")
+ (title
+ (en "The udev service also manages hardware configuration files")
+ (de "Udev verwaltet nun auch Hardwarekonfigurationen")
+ (fr "Le service udev gère maintenant les configurations de matériel")
+ (zh "udev 服務現可管理硬件配置文件"))
+ (body
+ (en "The @code{udev-service-type} can now be configured and extended
+with eudev hardware configuration files (named @dfn{hwdb} by the eudev
+project).")
+ (de "Der Udev-Dienst kann nun mit Hardwaredatenbanken (auch als
+@dfn{hwdb} bekannt) konfiguriert und erweitert werden.")
+ (fr "Le type de service @code{udev-service-type} peut maintenant être
+configuré et étendu avec des fichiers de configuration de matériel (appelés
+@dfn{hwdb} par le projet eudev).")
+ (zh "現可使用 eudev 的硬件配置文件(@dfn{hwdb})設置及拓展
+@code{udev-service-type}。")))
+
(entry (commit "ff1251de0bc327ec478fc66a562430fbf35aef42")
(title
(en "Daemon vulnerability allowing store corruption has been fixed")
diff --git a/etc/teams.scm b/etc/teams.scm
index a01ea27254..0655a069b9 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -596,10 +596,6 @@ GLib/GIO, GTK, GStreamer and Webkit."
"me@tobias.gr")
core kernel mentors)
-(define-member (person "Björn Höfling"
- "bjoern.hoefling@bjoernhoefling.de")
- java)
-
(define-member (person "Leo Famulari"
"leo@famulari.name")
kernel)
@@ -664,10 +660,6 @@ GLib/GIO, GTK, GStreamer and Webkit."
"zimon.toutoune@gmail.com")
julia core mentors)
-(define-member (person "Raghav Gururajan"
- "rg@raghavgururajan.name")
- gnome mentors)
-
(define-member (person "宋文武"
"iyzsong@envs.net")
games localization lxqt qt xfce)