txz e packages.txt

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
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: txz e packages.txt

Messaggio da conraid »

Grazie Emanuele.
I file .meta ci sono perché non so mai se metterli o meno, ma tanto non li metterò mai mi sa.

p.s.
quasi quasi ti mando anche la parte del changelog e quella che crea la pagina in html per il sito :-)

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: txz e packages.txt

Messaggio da d4z_c0nf »

Bello Spina.
L'utilizzo dei vettori nella bash l'avevo proprio eliminato, credo perchè mi disse un mio prof che fosse una cosa non supportata da tutte le shell.
Quel "let" non lo conoscevo proprio, comodo. #-o
Spina is of another level :tongue:

rock

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: txz e packages.txt

Messaggio da targzeta »

conraid ha scritto:...quasi quasi ti mando anche la parte del changelog e quella che crea la pagina in html per il sito :-)
NOOOOOOOOOOOO!

Ha proprio ragione rock, mangi finché puoi eh :D?

Emanuele

P.S. Ho altre statistiche, aspetta, voglio vedere una cosa....
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: txz e packages.txt

Messaggio da conraid »

spina ha scritto:
conraid ha scritto:...quasi quasi ti mando anche la parte del changelog e quella che crea la pagina in html per il sito :-)
NOOOOOOOOOOOO!
un altro giorno dai ;-)
spina ha scritto: Ha proprio ragione rock, mangi finché puoi eh :D?
sono ingordo :-)
spina ha scritto: P.S. Ho altre statistiche, aspetta, voglio vedere una cosa....
ok

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: txz e packages.txt

Messaggio da targzeta »

Corrado, io tuo script sembra funzionare male, ma il mio non ho capito ancora se va bene. Una cosa alla volta, tu hai un problema in questo rigo:

Codice: Seleziona tutto

tar xfO $pkg install/slack-desc |grep -E '\w+\:'|grep -v '^#' >> $LOCATION/$METAFILE
Infatti:

Codice: Seleziona tutto

$>tar -xOf repos/d/gcc-g++-4.3.3-x86_64-4.txz install/slack-desc |grep -E '\w+\:'|grep -v '^#'

$> echo $?
1
e questo perchè nell'espressione regolare '\w' non è incluso il simbolo '+'.

Quindi io ti cosiglio di usare:

Codice: Seleziona tutto

tar xOf $pkg install/slack-desc | sed -n '/#/d;/:/p' >> $LOCATION/$METAFILE
Detto questo, stavo provando entrambi gli script sul repository di Slackware64, volevo vedere se col mio script ci guadagnavo qualcosa, ma non ho capito bene cosa è successo, sembra che il mio script appesantisca di più la macchina, forse è proprio l'assenza dei file temporanie (i metafile) e quindi tutte quelle ridirezioni su file di grosse dimensioni crea problemi.

Se puoi fai delle prove anche tu,
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: txz e packages.txt

Messaggio da targzeta »

Come non detto, ora il mio script è andato benone, infatti poi il file più grande è il MANIFEST e quello anche nel tuo script ci sono solo ridirezioni.

Sembra che il problema sorga solo quando lanciato con il comando time, ma non ho capito bene il perchè, dal grafico che mostra icewm senza time è tutto regolare, se invece uso time, allora il grafico sale in maniera irregolare e dopo un pò addirittura il PC è meno reattivo. Chi ci capisce è bravo :)

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: txz e packages.txt

Messaggio da targzeta »

Ecco la nuova versione dello script, ora però inizio a farmi pagare :):

Codice: Seleziona tutto

#!/bin/bash
set -e

TMP=/tmp
HTMLDIR=/opt/slackers/html
ROOTDIR=/opt/slackers/repos-nosource

cd $ROOTDIR

# Creo Changelog.rss
# Qui c'è una parte presa pari pari dallo script di AlienBob


###############
#
# Creo PACKAGES.TXT and MANIFEST.bz2

cd $ROOTDIR
rm -f PACKAGES.TXT CHECKSUMS.md5 MANIFEST MANIFEST.bz2 PACKAGES.TXT.gz CHECKSUMS.md5.gz
for pkg in $(find . -type f -name '*cf.t?z' -print | sort)
do
    NAME=${pkg##*/}
    LOCATION=${pkg%/*}
    PKGEXT=${pkg##*.}
    if [ $PKGEXT = "tgz" ]; then
        INFO=($(gunzip -l $pkg | tail -n1 | tr -s ' '))
        SIZE=${INFO[0]}
        USIZE=${INFO[1]}
    else
        SIZE=$(stat --format="%s" $pkg)
        USIZE=$(xz -dc $pkg | wc -c)
    fi
    let SIZE=SIZE/1024;
    let USIZE=USIZE/1024;
    echo $NAME
    DESCRIPTION=$(tar xOf $pkg install/slack-desc | sed -n '/#/d;/:/p')
    LIST=$(tar tvf $pkg)
    cat <<EOF >> $ROOTDIR/PACKAGES.TXT
PACKAGE NAME:  $NAME
PACKAGE LOCATION:  $LOCATION
PACKAGE SIZE (compressed):  $SIZE K
PACKAGE SIZE (uncompressed):  $USIZE K
PACKAGE DESCRIPTION:
$DESCRIPTION


EOF
    cat <<EOF >> $ROOTDIR/MANIFEST
++========================================
||
||   Package:  $pkg"
||
++========================================
$LIST


EOF
    md5sum $pkg >> $ROOTDIR/CHECKSUMS.md5
done

cat $ROOTDIR/PACKAGES.TXT | gzip -9 -c - > $ROOTDIR/PACKAGES.TXT.gz
cat $ROOTDIR/CHECKSUMS.md5 | gzip -9 -c - > $ROOTDIR/CHECKSUMS.md5.gz
bzip2 $ROOTDIR/MANIFEST

#
# gen_filelist
#

LISTFILE=$HTMLDIR/FILELIST.TXT

( cd ${ROOTDIR}
cat <<EOT > ${LISTFILE}
$(LC_TIME=en_US date -u)

Here is the file list for http://www.slackers.it/repository,
maintained by Corrado Franco <http://conraid.net>.

EOT
#find . | sort | xargs ls -nld >> ${LISTFILE}
find . | xargs ls -ngGd >> ${LISTFILE}
cat $LISTFILE | gzip -9 -c - > ${LISTFILE}.gz
)


# Copio i file in HTML
mv CHECKSUMS* $HTMLDIR
mv PACKAGES* $HTMLDIR
mv ChangeLog* $HTMLDIR
mv MANIFEST* $HTMLDIR
Come puoi notare ho eliminato le cose che non usi:

Codice: Seleziona tutto

...
            REQUIRED=""
            CONFLICTS=""
            SUGGESTS=""
...
            echo "PACKAGE NAME:  $NAME" > $LOCATION/$METAFILE
            echo "PACKAGE LOCATION:  $LOCATION" >> $LOCATION/$METAFILE
            echo "PACKAGE SIZE (compressed):  $SIZE K" >> $LOCATION/$METAFILE
            echo "PACKAGE SIZE (uncompressed):  $USIZE K" >> $LOCATION/$METAFILE
Testato e funzionante, anche con time, tutto va relogare come dovrebbe andare. I risultati dei test sugli 876 pacchetti della Slackware64-current:

Codice: Seleziona tutto

time sh mio_script.sh
real    9m9.952s
user    8m31.740s
sys     0m44.460s

time sh tuo_script.sh
real    12m46.636s
user    11m42.400s
sys     1m21.320s
Ovviamente il consumo di memoria è maggiore.

C'è da dire che ho anche ottenuto:

Codice: Seleziona tutto

real    8m13.874s
user    7m39.760s
sys     0m39.550s
facendo l'output dei due tar direttamente sul file, questo diminuirebbe anche il consumo di memoria, però forse i risultati sono abbastanza falsati dalla bufferizzazione che fa il sistema operativo. Voglio provare a fare uno ad ogni avvio, così da avere la stessa situazione di partenza.

Se noti c'è una piccola differenza tra i file prodotti, tu inizi con una riga vuota, io invece no.

Spina

P.S. Ora invece è stato il tuo script a mettermi in "stallo" il PC, quindi penso che il mio script precedente non c'entrava molto
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: txz e packages.txt

Messaggio da d4z_c0nf »

Hai rimesso il print:

Codice: Seleziona tutto

$(find . -type f -name '*cf.t?z' -print | sort)
per qualche motivo?
rock

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: txz e packages.txt

Messaggio da conraid »

Ora provo tutto ma... Alien mi ha modificato lo script (vedete che a rompere alla fine... ;-) )

http://www.slackware.com/~alien/tools/g ... s_files.sh

Faccio vari test e vi faccio sapere

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: txz e packages.txt

Messaggio da d4z_c0nf »

conraid ha scritto:Ora provo tutto ma... Alien mi ha modificato lo script (vedete che a rompere alla fine... ;-) )

http://www.slackware.com/~alien/tools/g ... s_files.sh

Faccio vari test e vi faccio sapere
Alla fine deve pure avere ragione...argh :x

:lol:

rock

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: txz e packages.txt

Messaggio da targzeta »

conraid ha scritto:Ora provo tutto ma... Alien mi ha modificato lo script (vedete che a rompere alla fine... ;-) )
...
Anche lui fa come Pat.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: txz e packages.txt

Messaggio da conraid »

spina ha scritto:
conraid ha scritto:Ora provo tutto ma... Alien mi ha modificato lo script (vedete che a rompere alla fine... ;-) )
...
Anche lui fa come Pat.

Emanuele
Sì ho visto in questo momento, stesso metodo...
e
tar xfO $pkg install/slack-desc |grep -E '\w+\:'|grep -v '^#' >> $LOCATION/$METAFILE
c'è sempre

ora provo il nuovo tuo

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: txz e packages.txt

Messaggio da targzeta »

conraid ha scritto:...
e
tar xfO $pkg install/slack-desc |grep -E '\w+\:'|grep -v '^#' >> $LOCATION/$METAFILE
c'è sempre
...
Tu che gli rompi tanto, dovresti segnalarglielo.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: txz e packages.txt

Messaggio da conraid »

spina ha scritto:
conraid ha scritto:...
e
tar xfO $pkg install/slack-desc |grep -E '\w+\:'|grep -v '^#' >> $LOCATION/$METAFILE
c'è sempre
...
Tu che gli rompi tanto, dovresti segnalarglielo.

Emanuele
E' la prima volta che gli scrivo, per desso gli ho detto che secondo me è meglio mettere il sort nel find in modo da avere la lista ordinata :-)
Questo problema sinceramente l'ho capito poco :-(
scrivigli tu, mi sembra molto ben disposto alle segnalazioni di questo tipo, gli avevo anche chiesto che script usa Pat (Pat's scripts are not public.) e che avevo notato un problema in unicode_start ma Pat non risponde, e lui mi ha chiesto di spiegarlo a lui.
Ho mandato un "paste" dell'errore :-)

Tanto io gli ho scritto che abbiamo discusso e trovato una "soluzione" (gliel'ho scritta) nel forum slacky.eu, quindi puoi "agganciarti"

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: txz e packages.txt

Messaggio da d4z_c0nf »

conraid ha scritto:
spina ha scritto:
conraid ha scritto:...
e
tar xfO $pkg install/slack-desc |grep -E '\w+\:'|grep -v '^#' >> $LOCATION/$METAFILE
c'è sempre
...
Tu che gli rompi tanto, dovresti segnalarglielo.

Emanuele
E' la prima volta che gli scrivo, per desso gli ho detto che secondo me è meglio mettere il sort nel find in modo da avere la lista ordinata :-)
Questo problema sinceramente l'ho capito poco :-(
scrivigli tu, mi sembra molto ben disposto alle segnalazioni di questo tipo, gli avevo anche chiesto che script usa Pat (Pat's scripts are not public.) e che avevo notato un problema in unicode_start ma Pat non risponde, e lui mi ha chiesto di spiegarlo a lui.
Ho mandato un "paste" dell'errore :-)

Tanto io gli ho scritto che abbiamo discusso e trovato una "soluzione" (gliel'ho scritta) nel forum slacky.eu, quindi puoi "agganciarti"

A sto punto digli pure il fatto di $PKG_CONFIG_PATH, tanto ormai siete amici :tongue:
rock

Rispondi