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
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 »

Eh sì USIZE come Spina insegna, adesso succhia un sacco.
Offtopic: Ah una cosa sempre su xz, ma è possibile che non ci sia la pagina del manuale?
Poi xarchiver non lo riconosce :x

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 »

Mario Vanoni ha scritto: xargs ls fa quello che gli vien detto di fare,
senza sort prima zzz, poi rock ed alla fine aaa

Ragione per cui copio dirs sempre con
find | sort | cpio -pdm destinazione
e le inode della destinazione sono in ordine alfabetico.

Codice: Seleziona tutto

# find . | sort | xargs ls -ngGd > /tmp/prova
# find . | xargs ls -ngGd > /tmp/prova2
# diff /tmp/prova /tmp/prova2
produce lo stesso risultato
rock ha detto di non usare sort con ls, non sempre
Mario Vanoni ha scritto: Alien e` una vecchia volpe UNIX!
Anche se usa /lib64? ;-)

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: txz e packages.txt

Messaggio da Mario Vanoni »

d4z_c0nf ha scritto: Offtopic: Ah una cosa sempre su xz, ma è possibile che non ci sia la pagina del manuale?
Poi xarchiver non lo riconosce :x

rock
xz -H | less

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 »

d4z_c0nf ha scritto:Eh sì USIZE come Spina insegna, adesso succhia un sacco.
Offtopic: Ah una cosa sempre su xz, ma è possibile che non ci sia la pagina del manuale?
Poi xarchiver non lo riconosce :x

rock
è nuovo, molti tool non lo riconosco, per alcuni hanno fatto una versione personalizzata quelli del team

il man non c'è nemmeno in git :-(

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 »

Mario Vanoni ha scritto:
d4z_c0nf ha scritto: Scusa Mario ma tutto l'output (a lotto) di find viene dato in pasto ad ls o sbaglio?
rock
Si, ma
se la inode 1 si riferisce alla dir zzz
la inode 2 alla dir rock
la inode 3 alla dir aaa
create prima dei files,
i files avranno inodes metti 100...9999,
a seconda della data di creazione.

senza sort ls li sortisce nella dir,
ma non sortisce le dirs, quindi un "disordine" stile
zzz/aa
zzz/bb
rock/rock
rock/xxx
aaa/rock
aaa/zebra

xargs ls fa quello che gli vien detto di fare,
senza sort prima zzz, poi rock ed alla fine aaa

Ragione per cui copio dirs sempre con
find | sort | cpio -pdm destinazione
e le inode della destinazione sono in ordine alfabetico.

Alien e` una vecchia volpe UNIX!
Se ho capito bene Mario tu dici che find (ordinando per inode) se restituisce qualcosa tipo:

Codice: Seleziona tutto

zzz/bb
zzz/aa
rock/rock
rock/xxx
aaa/zebra
aaa/rock
allora l'ls in pipe fatto in quel modo, restituirebbe:

Codice: Seleziona tutto

zzz/aa
zzz/bb
rock/rock
rock/xxx
aaa/rock
aaa/zebra
Non capisco perchè non dovrebbe ordinare le dirs ma solo il contenuto.
Empiricamente su un mio repository ottengo lo stesso risultato.
rock
Ultima modifica di d4z_c0nf il mer 27 mag 2009, 17:14, modificato 1 volta in totale.

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 »

Mario Vanoni ha scritto:
d4z_c0nf ha scritto: Offtopic: Ah una cosa sempre su xz, ma è possibile che non ci sia la pagina del manuale?
Poi xarchiver non lo riconosce :x

rock
xz -H | less
Sì l'ho visto l'help esteso, ma mi riferivo proprio alla pagina del man.
Grazie.
rock

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: txz e packages.txt

Messaggio da Mario Vanoni »

conraid ha scritto:
Mario Vanoni ha scritto: xargs ls fa quello che gli vien detto di fare,
senza sort prima zzz, poi rock ed alla fine aaa

Ragione per cui copio dirs sempre con
find | sort | cpio -pdm destinazione
e le inode della destinazione sono in ordine alfabetico.

Codice: Seleziona tutto

# find . | sort | xargs ls -ngGd > /tmp/prova
# find . | xargs ls -ngGd > /tmp/prova2
# diff /tmp/prova /tmp/prova2
produce lo stesso risultato
rock ha detto di non usare sort con ls, non sempre
Scusa Corrado,
facendo su una dir di 1.3GB
# find . | sort | xargs ls -ngGd | less
dirs e files ordinati
# find . | xargs ls -ngGd | less
solo nelle dirs i files sono ordinato
l'ordine delle dirs segue le inode,
disordinate in senso alfabetico

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 »

Mario Vanoni ha scritto: Scusa Corrado,
facendo su una dir di 1.3GB
# find . | sort | xargs ls -ngGd | less
dirs e files ordinati
# find . | xargs ls -ngGd | less
solo nelle dirs i files sono ordinato
l'ordine delle dirs segue le inode,
disordinate in senso alfabetico
a me risultano ordinate anche le dir, mentre find e basta non lo fa
boh

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 »

Mario Vanoni ha scritto:
conraid ha scritto:
Mario Vanoni ha scritto: xargs ls fa quello che gli vien detto di fare,
senza sort prima zzz, poi rock ed alla fine aaa

Ragione per cui copio dirs sempre con
find | sort | cpio -pdm destinazione
e le inode della destinazione sono in ordine alfabetico.

Codice: Seleziona tutto

# find . | sort | xargs ls -ngGd > /tmp/prova
# find . | xargs ls -ngGd > /tmp/prova2
# diff /tmp/prova /tmp/prova2
produce lo stesso risultato
rock ha detto di non usare sort con ls, non sempre
Scusa Corrado,
facendo su una dir di 1.3GB
# find . | sort | xargs ls -ngGd | less
dirs e files ordinati
# find . | xargs ls -ngGd | less
solo nelle dirs i files sono ordinato
l'ordine delle dirs segue le inode,
disordinate in senso alfabetico
Perciò non capivo Mario, abbiamo due risultati diversi, è strano questo fatto.

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 »

Alien mi ha risposto che ha molti script da fare, ed a quelli per il repository ci penserà con calma, tanto per adesso usa i tgz
Gli ho mostrato la nostra soluzione e chiesto se sa come Pat crea il packages.txt (sempre se nel mio inglese mi sono fatto capire :-) )

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:Alien mi ha risposto che ha molti script da fare, ed a quelli per il repository ci penserà con calma, tanto per adesso usa i tgz
Gli ho mostrato la nostra soluzione e chiesto se sa come Pat crea il packages.txt (sempre se nel mio inglese mi sono fatto capire :-) )
E vabbè Corrado, poi dici che non ti risponde più Pat, se ti rispondono te ne approfitti incrementalmente :tongue:
rock

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: txz e packages.txt

Messaggio da Mario Vanoni »

d4z_c0nf ha scritto: Perciò non capivo Mario, abbiamo due risultati diversi, è strano questo fatto.
Sempre la stessa dir di 1.3GB, faccio

# find . | sort | xargs ls -i | less
dirs ordinati ed inode ordinate nei dirs
# find . | xargs ls -i | less
inode ordinate, ma dirs disordinati

test supplementare
# find . | xargs ls -i | grep '^\.\/' | less
e vedi il disordine dei dirs sul disco rigido

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 »

d4z_c0nf ha scritto:
conraid ha scritto:Alien mi ha risposto che ha molti script da fare, ed a quelli per il repository ci penserà con calma, tanto per adesso usa i tgz
Gli ho mostrato la nostra soluzione e chiesto se sa come Pat crea il packages.txt (sempre se nel mio inglese mi sono fatto capire :-) )
E vabbè Corrado, poi dici che non ti risponde più Pat, se ti rispondono te ne approfitti incrementalmente :tongue:
rock
hai ragione :-)

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 »

Ti propongo questo:

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
echo '' > PACKAGES.TXT
echo '' > CHECKSUMS.md5
echo '' > MANIFEST
for pkg in $(find . -type f -name '*cf.t?z' -print | sort)
do
    NAME=$(basename $pkg)
    LOCATION=$(dirname $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;
    REQUIRED=""
    CONFLICTS=""
    SUGGESTS=""
    echo "PACKAGE NAME:  $NAME" >> $ROOTDIR/PACKAGES.TXT
    echo "PACKAGE LOCATION:  $LOCATION" >> $ROOTDIR/PACKAGES.TXT
    echo "PACKAGE SIZE (compressed):  $SIZE K" >> $ROOTDIR/PACKAGES.TXT
    echo "PACKAGE SIZE (uncompressed):  $USIZE K" >> $ROOTDIR/PACKAGES.TXT
    #echo "PACKAGE REQUIRED:  $REQUIRED" >> $ROOTDIR/PACKAGES.TXT
    #echo "PACKAGE CONFLICTS:  $CONFLICTS" >> $ROOTDIR/PACKAGES.TXT
    #echo "PACKAGE SUGGESTS:  $SUGGESTS" >> $ROOTDIR/PACKAGES.TXT
    echo "PACKAGE DESCRIPTION:" >> $ROOTDIR/PACKAGES.TXT
    echo $NAME
    tar xOf $pkg install/slack-desc | sed -n '/#/d;/:/p' >> $ROOTDIR/PACKAGES.TXT
    echo "" >> $ROOTDIR/PACKAGES.TXT
    echo "" >> $ROOTDIR/PACKAGES.TXT
    echo "++========================================" >> $ROOTDIR/MANIFEST
    echo "||" >> $ROOTDIR/MANIFEST
    echo "||   Package:  $pkg" >> $ROOTDIR/MANIFEST
    echo "||" >> $ROOTDIR/MANIFEST
    echo "++========================================" >> $ROOTDIR/MANIFEST
    tar tvf $pkg >> $ROOTDIR/MANIFEST
    echo >> $ROOTDIR/MANIFEST
    echo >> $ROOTDIR/MANIFEST
    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
Ho fatto qualche modifica ed eliminato i metafile, tanto a che ti servono scusa? Ho avuto un pò una delusione, su 11 pacchetti tra cui un txz:

Codice: Seleziona tutto

time sh mio_script.sh
real    0m10.440s
user    0m8.740s
sys     0m0.970s

time sh tuo_script.sh
real    0m11.222s
user    0m9.210s
sys     0m1.050s
Ma sono convinto che tu sei fortunato solo perchè c'è la cache in memoria, e quindi fare 3 o 5 find alla fino non porta sostanziale differenza di tempo. Se per ogni find dovessi andare a riesaminare la directory, secondo me ci metteresti molto di più.

Emanuele
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 »

Mario Vanoni ha scritto:
d4z_c0nf ha scritto: Perciò non capivo Mario, abbiamo due risultati diversi, è strano questo fatto.
Sempre la stessa dir di 1.3GB, faccio

# find . | sort | xargs ls -i | less
dirs ordinati ed inode ordinate nei dirs
Io ho tutto in ordine alfabetico quindi inode disordinati
ti do un estratto:

Codice: Seleziona tutto

5537861 ./mpd/doinst.sh
5537865 ./mpd/mpd-0.14.2.tar.bz2
5537862 ./mpd/mpd.SlackBuild
5537863 ./mpd/rc.mpd.new
5537864 ./mpd/slack-desc
5554225 ./oo/builder.tar.gz
5554229 ./oo/doinst.sh.gz
5554224 ./oo/openoffice-autobuilder-multilang.SlackBuild
5554226 ./oo/slack-desc
5554227 ./oo/slack-required
3670017 ./pippo
3670018 ./pippo1
Mario Vanoni ha scritto: # find . | xargs ls -i | less
inode ordinate, ma dirs disordinati
Stesso risultato della prova precedente,dirs ordinate, inode no, infatti:

Codice: Seleziona tutto

root@localhost:/Repository/src$ find . | sort | xargs ls -i > find_w_sort
root@localhost:/Repository/src$ find . | xargs ls -i > find_wo_sort
root@localhost:/Repository/src$ diff find_wo_sort find_w_sort       
root@localhost:/Repository/src$ 
Mario Vanoni ha scritto: test supplementare
# find . | xargs ls -i | grep '^\.\/' | less
e vedi il disordine dei dirs sul disco rigido
Sempre nella stessa dir

Codice: Seleziona tutto

root@localhost:/Repository/src$ find . | sort | xargs ls -i | grep '^\.\/' > find_sort_grep
root@localhost:/Repository/src$ find . | xargs ls -i | grep '^\.\/' > find_wo_sort_grep
root@localhost:/Repository/src$ diff find_sort_grep find_wo_sort_grep 
root@localhost:/Repository/src$ 
Non so che dirti.
rock

Rispondi