Slint 15.0 est disponible

Les nouvelles du monde Slackware ainsi que les grosses annonces concernant le site seront postées ici
Seb
Messages : 188
Inscription : 22 février 2017, 19:07

Re: Slint 15.0 est disponible

Message par Seb »

Je n'essayais pas de faire exploser ta TODO, rassure-toi. :)

Cependant, c'est plutôt un simple système de tagfiles qui fait défaut que la gestion des dépendances à proprement parler. Certes, j'ai installé Slack la première fois en full install, mais je n'aurais jamais n'y sentir chez moi 17 ans sans les tagfiles.

Note que ce n'est rien d'insurmontable. Les paquets ayant tous un nom unique, la gestion par dossier-catégorie est en fait pure coquetterie. Il suffit donc de supporter un fichier, une liste de paquets que l'utilisateur autorise à s'installer. Vu ta maîtrise du shell, c'est vraiment un filtre trivial à faire. Mais bon, c'est vraiment juste une amicale suggestion, ça reste bien entendu toi le capitaine, avec ton bateau et ta feuille de route, pas de lézard. ;)
Didier Spaier
Messages : 135
Inscription : 29 janvier 2017, 21:07

Re: Slint 15.0 est disponible

Message par Didier Spaier »

Seb a écrit : 03 décembre 2022, 18:55Note que ce n'est rien d'insurmontable. Les paquets ayant tous un nom unique, la gestion par dossier-catégorie est en fait pure coquetterie. Il suffit donc de supporter un fichier, une liste de paquets que l'utilisateur autorise à s'installer. Vu ta maîtrise du shell, c'est vraiment un filtre trivial à faire. Mais bon, c'est vraiment juste une amicale suggestion, ça reste bien entendu toi le capitaine, avec ton bateau et ta feuille de route, pas de lézard. ;)
C'est d'accord si on se partage le travail. Ta mission est d'ajouter une fonction install_mini au script functions. En gros elle fera la même chose que la fonction installfromiso, restreinte à l'installation des paquets listés dans le fichier texte minislint que je me charge d'écrire et qui sera disponible dans le répertoire /usr/doc de l'initrd, avec un nom de paquet par ligne. Pour en discuter plus avant tu peux écrire une issue ici et quand tu seras prêt une pull request . Pour info, le fichier qui source le script functions puis effectue l'installation est start .

À te lire,
Didier
Seb
Messages : 188
Inscription : 22 février 2017, 19:07

Re: Slint 15.0 est disponible

Message par Seb »

Facétieux. :mrgreen:

Mais après tout c'est de bonne guerre, alors soyons joueur. Je pense qu'il est inutile de faire un mode dédié tant qu'il n'y a pas une vraie demande, aussi je propose d'amender discrètement installfromiso:

Code : Tout sélectionner

--- functions.orig
+++ functions
@@ -56,6 +56,9 @@
 ISO="/ISO"
 # INSTALL is the directory where this script will store its temporary files.
 INSTALL="/INSTALLER"
+# EXPERT is the package list the user allows to install.
+# One package name per line, comments allowed beginning with '#'.
+EXPERT=/expert
 # MINPARTSIZE is the minimum number of megabytes for an added partition
 # in auto partitioning mode
 # current size of the file system for which we allow to shrink it.
@@ -2700,6 +2703,16 @@
 		fi
 	fi
 }
+expertmode() {
+    if [ ! -f "$EXPERT" ]; then
+        # no filter, we just pass the list.
+        cat
+        return $?
+    fi
+    awk '(FNR == NR){ sub(/ *#.*/,""); if (NF) ALLOW[$1]; next }
+         { pkg=$0; gsub(/^.*\/|-[^-]*-[^-]*-[^-]*$/, "", pkg) }
+         (pkg in ALLOW) { print }' "$EXPERT" -
+}
 installfromiso() {
 	if [ ! "$FAILED" ]; then
 		echo "no need to install from ISO" >>$INSTALL/log
@@ -2711,7 +2724,7 @@
 	ls $SLINT/var/lib/pkgtools/packages|while read i; do
 		echo "$(basename $i|sed "s/-[^-]*-[^-]*-[^-]*$//")" >> $PKGLISTS/installed;
 	done
-	ls -1 $ISO/slint/*txz|while read PKG; do
+	ls -1 $ISO/slint/*txz| expertmode | while read PKG; do
 		[ "$DISPLAYNAME" ] && displaydescription $ISO/slint $PKG
 		echo "installing $PKG" >>$PKGLISTS/loginstall
 		spkg --root=$SLINT -qq --no-gtk-update-icon-cache --no-ldconfig -i --install-new --reinstall $PKG 1>>$PKGLISTS/loginstall 2>$PKGLISTS/spkgerror
@@ -2729,7 +2742,7 @@
 			exit
 		fi
 	done
-	PKG=$(find $ISO/slint/locales -name "libreoffice-l10n-${lo}-*t?z")
+	PKG=$(find $ISO/slint/locales -name "libreoffice-l10n-${lo}-*t?z" | expertmode)
 	if [ "$PKG" ]; then
 		SHORT=$(basename $PKG|sed "s/-[^-]*-[^-]*-[^-]*$//")
 		if ! grep -q "^${SHORT}$" $PKGLISTS/installed; then
@@ -2746,7 +2759,7 @@
 			fi
 		fi
 	fi
-	PKG=$(find $ISO/slint/locales -name "libreoffice-help-${lo}-*t?z")
+	PKG=$(find $ISO/slint/locales -name "libreoffice-help-${lo}-*t?z" | expertmode)
 	if [ "$PKG" ]; then
 		SHORT=$(basename $PKG|sed "s/-[^-]*-[^-]*-[^-]*$//")
 		if ! grep -q "^${SHORT}$" $PKGLISTS/installed; then
@@ -2763,7 +2776,7 @@
 			fi
 		fi
 	fi
-	PKG=$(find $ISO/slint/locales -name "aspell-${asp}-*t?z")
+	PKG=$(find $ISO/slint/locales -name "aspell-${asp}-*t?z" | expertmode)
 	if [ "$PKG" ]; then
 		SHORT=$(basename $PKG|sed "s/-[^-]*-[^-]*-[^-]*$//")
 		if ! grep -q "^${SHORT}$" $PKGLISTS/installed; then
Pour l'intégration, un message comme quoi $EXPERT a été trouvé devrait suffire.
Répondre