@ponce fix lxc template per slackware 15

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5306
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

@ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

Ciao.

slackware 15 è in avvicinamento.

Al momento lxc non funziona correttamente con slackpkg della -current e tantomeno con quello beta. Cioè, consente di creare correttamente un container il rootfs ma i path vengono sballati in quanto $ROOT è riferito sia a $TEMP che $WORKDIR e qualcos'altro, quindi la cache non è riciclabile per più container, e in current rimane uno step interattivo.
Slackpkg+ invece ha $ROOT non funzionante.

rworkman sta rivedendo slackpkg e io conseguentemente slackpkg+ visto che prima di slackware 15 saranno da rilasciare stabili.

Al momento c'è qualche dubbio relativamente alla blacklist
Al momento visto che ho poche esperienze d'uso di slackpkg con $ROOT e tantomento con blacklist, mi è venuto in mente lxc.

slackpkg ha un bug riguardo blacklist & $ROOT che non è chiaro che direzione prendere per fixarlo.


Tu hai già pensato qualcosa per fixare lxc-slackware per farlo funzionare su 15.0?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2758
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.7.10
Desktop: lxde
Località: Pisa
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ponce »

Ho già da tempo pronti degli update di lxc alla 3.x con dei fix al template per current, ma credo proprio che sia stato introdotto un errore in slackpkg nella gestione della variabile $ROOT, magari per correggere un altro bug, perché durante l'installazione del template alcuni file, come hai notato, vengono cercati in percorsi che non dovrebbero essere quelli.
È un po' che non lo riprendo in mano, provo a farlo appena ho un po' di tempo libero.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5306
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

È cambiata la gestione di $ROOT.
Ora tutto, tranne $CONF mi pare, è relativo a $ROOT, Q
quindi /var/lib/slackpkg, /var/cache/packages, ecc vanno sotto $ROOT.
Questo è voluto pare.
c'è invece un bug su blacklist quindi se ne va un pezzo da una parte e un pezzo dall'altra.
Slackpkg 2.84 è ancora in beta quindi tutto si può fare.
https://www.linuxquestions.org/question ... ?p=6092069
Ho suggerito come esempio/target di $ROOT proprio lxc perché al momento non conosco altri casi d'uso noti.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2758
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.7.10
Desktop: lxde
Località: Pisa
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ponce »

allora, avevo sistemato tutto l'estate scorsa rivedendo il template e funzionava fino a slackpkg-2.84.0_beta6, confermo che la slackpkg-2.84.0_beta7 non lo fa piu' funzionare.

http://ponce.cc/slackware/testing/new_lxc/

per quel che mi riguarda slackpkg-2.84.0_beta6 non aveva nessun bug con la gestione della variabile $ROOT (l'ho ritestato adesso), sembra invece che sia stato introdotto con modifiche fatte tra la beta6 e la beta7: sai quali modifiche sono state fatte e perche'?
qual'e' il bug specifico che viene corretto con quelle modifiche?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5306
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

Non ha aggiornato git, quindi non mi ero accorto della nuova versione, ma dalla diff ha aggiunto $ROOT ai $CONF/blacklist mancanti.

Codice: Seleziona tutto

diff -urb slackpkg-2.84.0_beta6-noarch-1_rlw/install/doinst.sh slackpkg-2.84.0_beta7-noarch-1_rlw/install/doinst.sh
--- slackpkg-2.84.0_beta6-noarch-1_rlw/install/doinst.sh        2019-07-15 22:32:47.000000000 +0200
+++ slackpkg-2.84.0_beta7-noarch-1_rlw/install/doinst.sh        2020-02-20 03:39:04.000000000 +0100
@@ -29,7 +29,7 @@
       SRCMIRROR=mirrors-x86.sample
     ;;
   esac
-  cp usr/doc/slackpkg-2.84.0_beta6/$SRCMIRROR etc/slackpkg/mirrors.new
+  cp usr/doc/slackpkg-2.84.0_beta7/$SRCMIRROR etc/slackpkg/mirrors.new
 }
 
 copy_mirror_file
Only in slackpkg-2.84.0_beta6-noarch-1_rlw/usr/doc: slackpkg-2.84.0_beta6
Only in slackpkg-2.84.0_beta7-noarch-1_rlw/usr/doc: slackpkg-2.84.0_beta7
diff -urb slackpkg-2.84.0_beta6-noarch-1_rlw/usr/libexec/slackpkg/core-functions.sh slackpkg-2.84.0_beta7-noarch-1_rlw/usr/libexec/slackpkg/core-functions.sh
--- slackpkg-2.84.0_beta6-noarch-1_rlw/usr/libexec/slackpkg/core-functions.sh   2019-07-15 22:15:33.000000000 +0200
+++ slackpkg-2.84.0_beta7-noarch-1_rlw/usr/libexec/slackpkg/core-functions.sh   2020-02-20 03:34:20.000000000 +0100
@@ -151,12 +151,12 @@
                fi
        done
 
-       TEMPLATEDIR=$CONF/templates
+       TEMPLATEDIR=${ROOT}/$CONF/templates
        if [ ! -d $TEMPLATEDIR ]; then
          mkdir $TEMPLATEDIR
        fi
 
-       SLACKCFVERSION=$(grep "# v[0-9.]\+" $CONF/slackpkg.conf | cut -f2 -dv)
+       SLACKCFVERSION=$(grep "# v[0-9.]\+" ${ROOT}/$CONF/slackpkg.conf | cut -f2 -dv)
        CHECKSUMSFILE=${ROOT}/${WORKDIR}/CHECKSUMS.md5
        KERNELMD5=$(md5sum /boot/vmlinuz 2>/dev/null)
        DIALOG_MAXARGS=${DIALOG_MAXARGS:-19500}
@@ -644,7 +644,7 @@
                        for ARGUMENT in $(echo $INPUTLIST); do
                                for i in $(cat ${TMPDIR}/pkglist ${TMPDIR}/tmplist | \
                                                grep -w -- "${ARGUMENT}" | cut -f2 -d\  | sort -u); do
-                                       grep -qx "${i}" ${CONF}/blacklist || LIST="$LIST $i"
+                                       grep -qx "${i}" ${ROOT}/${CONF}/blacklist || LIST="$LIST $i"
                                done
                        done
                ;;
@@ -1232,7 +1232,7 @@
        FILES="$(diff $TMPDIR/list1 $TMPDIR/list2 | grep '<' | cut -f2 -d\ )"
        if [ "$FILES" != "" ]; then
                for i in $FILES ; do
-                       grep -qx "${i}" ${CONF}/blacklist && continue
+                       grep -qx "${i}" ${ROOT}/${CONF}/blacklist && continue
                        DOUBLEFILES="$DOUBLEFILES $i"
                done
                unset FILES
diff -urb slackpkg-2.84.0_beta6-noarch-1_rlw/usr/sbin/slackpkg slackpkg-2.84.0_beta7-noarch-1_rlw/usr/sbin/slackpkg
--- slackpkg-2.84.0_beta6-noarch-1_rlw/usr/sbin/slackpkg        2019-07-15 22:32:47.000000000 +0200
+++ slackpkg-2.84.0_beta7-noarch-1_rlw/usr/sbin/slackpkg        2020-02-20 03:39:04.000000000 +0100
@@ -49,7 +49,7 @@
 # CONF = configuration directory
 # SOURCE = A mirror of Slackware. Source can be set by editing $CONF/mirrors
 #
-VERSION=2.84.0_beta6
+VERSION=2.84.0_beta7
 PATH=/bin:/usr/bin:/sbin:/usr/sbin
 SLACKWARE_VERSION=$(cat /etc/slackware-version | cut -f2 -d\ )
 CONF=${CONF:-/etc/slackpkg}
@@ -66,8 +66,8 @@
        \@^cdrom://@p
        \@^local://@p
        \@^https\{0,1\}://@p
-       \@^ftps\{0,1\}://@p' $CONF/mirrors)
-. $CONF/slackpkg.conf
+       \@^ftps\{0,1\}://@p' ${ROOT}/$CONF/mirrors)
+. ${ROOT}/$CONF/slackpkg.conf
 ERROR=""
 
 # Set temporary directory
@@ -466,7 +466,7 @@
                # all blacklisted packages
                if [ "$INPUTLIST" = "" ]; then
                        echo -e "Packages in blacklist:\n"
-                       grep -e "^\([a-z]\)" $CONF/blacklist | $MORECMD
+                       grep -e "^\([a-z]\)" ${ROOT}/$CONF/blacklist | $MORECMD
                        cleanup
                fi
 
non ho ancora visto il nuovo template.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2758
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.7.10
Desktop: lxde
Località: Pisa
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ponce »

si, vedo le modifiche, ma continuo a non capire il perche' delle aggiunte se prima gia' andava regolarmente... boh?
c'era qualcosa che non funzionava prima di quelle aggiunte?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5306
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

stavo rivedendo il template.
Quello vecchio in effetti funzionava ma
WORKDIR=$cache/slackpkg-$release-$arch
andava a puntare come risultato finale a
/var/cache/lxc/slackware/rootfs-current-x86_64/var/cache/lxc/slackware/slackpkg-current-x86_64
mentre avrebbe avuto problemi con la blacklist (solo lì il dubbio) e FORSE con slackpkg in generale quando viene lanciato dal sistema guest.

In questa beta7 invece mi pare che l'impatto maggiore sia
+ TEMPLATEDIR=${ROOT}/$CONF/templates

così se tu scrivi
cat <<EOF > $CONF/templates/minimal-lxc.template
slackpkg install-template non lo trova perchè lo cerca in $ROOT/$CONF/templates
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5306
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

credo che l'idea della nuova gestione di $ROOT sia che NIENTE di slackpkg - al di fuori dei binari - si debba trovare nel sistema ospitante ma solo dentro quello guest.
il che ha il suo senso in verità.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2758
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.7.10
Desktop: lxde
Località: Pisa
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ponce »

ma in realta' secondo me non ha senso che si punti sempre al sistema dentro $ROOT: come era prima era possibile specificare una $CONF personalizzata che non doveva puntare al sistema del container ma in una locazione temporanea di lavoro, era fatto apposta per avere un posto "usa e getta" dove mettere il template del container, un mirror e una blacklist per la sua creazione.
forzando la presenza di $CONF sotto $ROOT il template non puo' funzionare.
Ultima modifica di ponce il mar 25 feb 2020, 19:21, modificato 1 volta in totale.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5306
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

Si, infatti dicevo che col nuovo $ROOT non è possibile riciclare la cache. Però giocando di link simbolici dovresti poterlo fare.
lxc è il caso d'uso che mi è venuto in mente. In realtà c'è anche che monto un sistema che ha problemi e installo roba con slackpkg e $ROOT o anche una guest di lxc terminata ed in erogazione.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2758
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.7.10
Desktop: lxde
Località: Pisa
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ponce »

ZeroUno ha scritto:
mar 25 feb 2020, 19:19
Si, infatti dicevo che col nuovo $ROOT non è possibile riciclare la cache. Però giocando di link simbolici dovresti poterlo fare.
lxc è il caso d'uso che mi è venuto in mente. In realtà c'è anche che monto un sistema che ha problemi e installo roba con slackpkg e $ROOT o anche una guest di lxc terminata ed in erogazione.
ma in questo caso che descrivi non serve forzare $CONF sotto $ROOT, basta mettere $CONF con la nuova locazione, poi ci pensano i pkgtool a rispettare $ROOT.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5306
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

Se è un sistema esistente - magari montato da CD o su chiavetta usb - se punti
CONF=/mnt/etc/slackpkg
e dentro slackpkg.conf c'è scritto /var/lib/slackpkg, con slackpkg di 14.2 verrebbe inteso come /quello del sistema madre indipendente che specifichi o meno ROOT
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2758
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.7.10
Desktop: lxde
Località: Pisa
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ponce »

ZeroUno ha scritto:
mar 25 feb 2020, 19:27
Se è un sistema esistente - magari montato da CD o su chiavetta usb - se punti
CONF=/mnt/etc/slackpkg
e dentro slackpkg.conf c'è scritto /var/lib/slackpkg, con slackpkg di 14.2 verrebbe inteso come /quello del sistema madre indipendente che specifichi o meno ROOT
non dovrebbe essere un problema, tanto il contenuto di /var/lib/slackpkg viene aggiornato di continuo: anche se viene sovrascritto con un altro all'aggiornamento successivo puo' tranquillamente ricambiare tutto.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5306
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

In effetti credo che l'idea è l'allineamento di $ROOT di pkgtools.
ROOT=/mnt installpkg
usa sia /var/lib/pkgtools che altro da /mnt, file temporanei inclusi.

P.S. Non sto dicendo che è meglio come l'ha pensata rwalkman, ma solo che non sono mai stati espressamente definiti casi d'uso per cui si possa dire è meglio questo o quello. Per lxc indubbiamente era meglio slackpkg 2.82.2
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2758
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.7.10
Desktop: lxde
Località: Pisa
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ponce »

ZeroUno ha scritto:
mar 25 feb 2020, 19:33
P.S. Non sto dicendo che è meglio come l'ha pensata rwalkman, ma solo che non sono mai stati espressamente definiti casi d'uso per cui si possa dire è meglio questo o quello. Per lxc indubbiamente era meglio slackpkg 2.82.2
ribadisco, secondo me per lxc era ok fino alla 2.84.0_beta6, a un livello pratico basterebbe fare il revert delle ultime modifiche: tuttora non capisco per quale caso effettivo di malfunzionamento siano state fatte, ma a questo punto credo nessuno.

Rispondi