poi sono io che esagero :Pd4z_c0nf ha scritto:
A sto punto digli pure il fatto di $PKG_CONFIG_PATH, tanto ormai siete amici
rock
txz e packages.txt
Moderatore: Staff
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.
- conraid
- 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
- d4z_c0nf
- 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
Ehehe, no dai non glielo dire altrimenti mette il thanks to a Corrado Franco, e mi scocciaconraid ha scritto:poi sono io che esagero :Pd4z_c0nf ha scritto:
A sto punto digli pure il fatto di $PKG_CONFIG_PATH, tanto ormai siete amici
rock
rock
- conraid
- 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
Codice: Seleziona tutto
#!/bin/bash
set -e
TMP=/tmp
HTMLDIR=/opt/slackers/html
ROOTDIR=/opt/slackers/repos-nosource
HTMLFILE=${HTMLDIR}/packages.inc
SEDFILE=$(pwd)/newline.sed
make_rss() {
# Creo Changelog.rss
cd $ROOTDIR
# Creo Changelog.rss
REPOSOWNER=${REPOSOWNER:-"Corrado Franco <http://conraid.net>"}
# Under what URL is the repository accessible:
# DL_URL=${DL_URL:-"http://www.slackers.it/repository"}
# The title of the generated RSS feed:
RSS_TITLE=${RSS_TITLE:-"Conraid's Slackware packages"}
# The URL linked to when clicking on the logo:
RSS_LINK=${RSS_LINK:-"http://www.slackers.it/repository"}
# URL to the full changelog.txt:
RSS_CLURL=${RSS_CLURL:-"http://www.slackers.it/repository/ChangeLog.txt"}
# The descriptive text for the RSS feed:
RSS_DESCRIPTION=${RSS_DESCRIPTION:-"Corrado Franco (Conraid) Slackware package repository. The package directories include the SlackBuild script."}
# Maximum number of RSS feed entries to display:
RSS_FEEDMAX=${RSS_FEEDMAX:-15}
# The RSS generator must use a unique feed identifier.
# Generate one for your feed by using the string returned by "uuidgen -t":
RSS_UUID=${RSS_UUID:-""}
INFILE=${ROOTDIR}/ChangeLog.txt
RSSFILE=${ROOTDIR}/ChangeLog.rss
# These values are all set in the beginning (can be user-overridden):
TITLE="$RSS_TITLE"
LINK="$RSS_LINK"
CLURL="$RSS_CLURL"
DESCRIPTION="$RSS_DESCRIPTION"
FEEDMAX=$RSS_FEEDMAX
UUID="$RSS_UUID"
PUBDATE=""
LASTBUILDDATE=$(LC_TIME=en_US TZ=UTC date -u +"%a, %e %b %Y %H:%M:%S UTC")
# The 'date -R' RFC-2822 compliant string
# does not work for Thunderbird!
counter=0
elines=0
# Parse the input file
cat ${INFILE} | while IFS= read cline ; do
if [ "$PUBDATE" == "" ]; then
# PUBDATE is empty, means we're reading the first line of input.
# The first line contains the most recent pubdate.
# For backward compatibility, if the file starts with
# "+--------------------------+" then we just skip that.
[ "$cline" == "+--------------------------+" ] && read cline
PUBDATE=$(LC_TIME=en_US TZ=UTC date -u +"%a, %e %b %Y %H:%M:%S UTC" -d "$cline")
cat <<-_EOT_ > ${RSSFILE}
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title>${TITLE}</title>
<link>${LINK}</link>
<description>${DESCRIPTION}</description>
<language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:${UUID}</id>
<pubDate>${PUBDATE}</pubDate>
<lastBuildDate>${LASTBUILDDATE}</lastBuildDate>
<generator>${BASENAME} v ${REV}</generator>
_EOT_
elif [ "$cline" == "+--------------------------+" ]; then
# Start of a new entry; dump the previous one
cat <<-_EOT_ >> ${RSSFILE}
<item>
<title>${PUBDATE}</title>
<link>${CLURL}</link>
<description>
<![CDATA[<pre>
_EOT_
for i in `seq 0 $elines`; do
[ "${ENTRY[$i]}" != "" ] && echo "${ENTRY[$i]}" >> ${RSSFILE}
done
cat <<-_EOT_ >> ${RSSFILE}
</pre>]]>
</description>
<pubDate>${PUBDATE}</pubDate>
<guid isPermaLink="false">$(LC_TIME=en_US date -d "${PUBDATE}" +%Y%m%d%H%M%S)</guid>
</item>
_EOT_
# Next line is the pubdate
read PUBDATE
#PUBDATE=$(TZ=GMT date +"%a, %e %b %Y %H:%M:%S GMT" -d "$PUBDATE")
PUBDATE=$(LC_TIME=en_US TZ=UTC date -u +"%a, %e %b %Y %H:%M:%S UTC" -d "$PUBDATE")
unset ENTRY
elines=0
counter=$(( ${counter}+1 ))
# Only dump a certain amount of recent entries.
[ $counter -gt $FEEDMAX ] && break
else
# Add a line of description
ENTRY[$elines]="$cline"
elines=$(( ${elines}+1 ))
fi
done
if [ ${elines} -ne 0 ]; then
# We have a last entry in store (means we have less than FEEDMAX)
cat <<-_EOT_ >> ${RSSFILE}
<item>
<title>${PUBDATE}</title>
<link>${CLURL}</link>
<description>
<![CDATA[<pre>
_EOT_
for i in `seq 0 $elines`; do
[ "${ENTRY[$i]}" != "" ] && echo " ${ENTRY[$i]}" >> ${RSSFILE}
done
cat <<-_EOT_ >> ${RSSFILE}
</pre>]]>
</description>
<pubDate>${PUBDATE}</pubDate>
</item>
_EOT_
fi
# Close the XML output:
cat <<-_EOT_ >> ${RSSFILE}
</channel>
</rss>
_EOT_
}
make_repo() {
cd $ROOTDIR
###############
#
# Creo PACKAGES.TXT and MANIFEST.bz2
cd $ROOTDIR
rm -f PACKAGES.TXT CHECKSUMS.md5 MANIFEST MANIFEST.bz2 PACKAGES.TXT.gz CHECKSUMS.md5.gz
echo "PACKAGES.TXT; $(date -u)" > $ROOTDIR/PACKAGES.TXT
echo "" >> $ROOTDIR/PACKAGES.TXT
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 . | xargs ls -ngGd >> ${LISTFILE}
cat $LISTFILE | gzip -9 -c - > ${LISTFILE}.gz
)
}
make_html() {
cd $ROOTDIR
# Creo packges.inc
echo "" > $HTMLFILE
for DIR in $(find . -type d -name 'src' -print | sort); do
cd $ROOTDIR/$DIR
if [ -e slack-desc ]; then
echo "<h3 class=\"pkg\"><a href=\"http://www.slackers.it/repository/$DIR\">$DIR</a></h3>" >> $HTMLFILE
echo '<p class="pkg-desc">' >> $HTMLFILE
cat ./slack-desc | grep -v "^#" | grep -v handy-ruler | grep -v "conraid" | \
cut -f 2- -d : | cut -b2- | sed -r 's%^(Home.*: (http|ftp|https):)%\n\1%g' | \
sed -f $SEDFILE | sed "s%^$%\<br\ \/\>%g" | sed 1,3d | \
sed -r "/^Home/s%((http|ftp|https)://.*)%<a href=\"\1\" rel=\"external nofollow\" title=\"[link esterno] Vai al sito del software $DIR\">\1</a>%g" \
>> $HTMLFILE
echo "</p>" >> $HTMLFILE
echo '<p class="pkg-link">' >> $HTMLFILE
echo -n "<a href=\"http://www.slackers.it/repository/$DIR/pkg\" rel=\"nofollow\" title=\"Download Package\">Package</a>" >> $HTMLFILE
echo -n " :: " >> $HTMLFILE
echo "<a href=\"http://www.slackers.it/repository/$DIR/src\" rel=\"nofollow\" title=\"Download SlackBuild\">SlackBuild</a>" >> $HTMLFILE
echo "</p>" >> $HTMLFILE
fi
done
}
make_rss
make_repo
make_html
# Copio i file in HTML
mv $ROOTDIR/CHECKSUMS* $HTMLDIR
mv $ROOTDIR/PACKAGES* $HTMLDIR
mv $ROOTDIR/ChangeLog* $HTMLDIR
mv $ROOTDIR/MANIFEST* $HTMLDIR
echo ""
echo "Finish!"
make_html() fa una pagina html, purtroppo volevo crearla diversa a partire da file .info dove mettere una lista banale, siccome all'inizio c'erano pochi pacchetti ho fatto quello script che prendeva le info da slack-desc, ma ora inizia ad essere troppo grande.
Quindi non l'ho mai ottimizzato, e non so se vale la pena perderci tempo, visto che vorrei cambiare
Anche se immagino che Spina rabbrividisca di fronte a quelle pipe
newline.sed
Codice: Seleziona tutto
/^$/{
N
/^\n$/D
}
- targzeta
- 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
Codice: Seleziona tutto
$COMPEXE -cd $PKG | tar xfO - install/slack-desc |grep -v '^#' > $LOCATION/$TXTFILECodice: Seleziona tutto
tar xOf $pkg install/slack-desc | sed -n '/^#/d;/:/p' >> $LOCATION/$METAFILEForse mi sono spiegato malissimo
Emanuele
- targzeta
- 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
Ho decisamente evitato di guardare il codiceconraid ha scritto:...
Anche se immagino che Spina rabbrividisca di fronte a quelle pipe
...
Emanuele
- d4z_c0nf
- 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
A occhio, questo pezzoconraid ha scritto:Questo è lo script definitivo, alla fine prende un po' di tempo, ma non blocca la macchina nemmeno per un istante
Codice: Seleziona tutto
cat ./slack-desc | grep -v "^#" | grep -v handy-ruler | grep -v "conraid" | \ cut -f 2- -d : | cut -b2- | sed -r 's%^(Home.*: (http|ftp|https):)%\n\1%g' | \
"cat ./slack-desc | grep -v "^#" | grep -v handy-ruler" è uguale a quello postato da spina:
Codice: Seleziona tutto
cat slack-desc | sed -n '/^#/d;/:/p'
e '/:/p'
printa solo le stringhe contenti i ":" (l'opzione -n dice a sed di non stampare niente, e p obbliga a stampare le stringe che corrispondono al pattern)
P.S.
se ci dai un esempio di slack-desc tuo possiamo ottimizzare quelle 300 pipe
rock
- conraid
- 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
\w non è tutte le lettere tranne il bordo di parola?spina ha scritto: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:Infatti:Codice: Seleziona tutto
tar xfO $pkg install/slack-desc |grep -E '\w+\:'|grep -v '^#' >> $LOCATION/$METAFILEe questo perchè nell'espressione regolare '\w' non è incluso il simbolo '+'.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
ho trovato anche altri esempi in rete che la usano con grep e le regex estese, comunque:
Codice: Seleziona tutto
# tar -xOf abook-0.6.0pre2-i686-4cf.txz install/slack-desc |grep -E '\w+\:'|grep -v '^#'
abook: abook
abook:
abook: Abook is a text-based addressbook program designed to use with mutt
abook: mail client. Abook runs on Linux, FreeBSD and some other UNIXes.
abook:
abook: Home: http://abook.sourceforge.net/
abook:
abook:
abook:
abook:
abook: Packaged by Corrado Franco <http://conraid.net>
# echo $?
0
#- conraid
- 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
Non ho capito.spina ha scritto:Ho scritto ad Alien Bob, tra l'altro ho notato che usa:nota il '^#'. Non so come mi sia sfiggito, lo stavo cercando appostaCodice: Seleziona tutto
$COMPEXE -cd $PKG | tar xfO - install/slack-desc |grep -v '^#' > $LOCATION/$TXTFILE. La traduzione esatta con sed sarebbe:
Quindi dovresti modificare il tuo script. Non so se mi sono spiegato c'è un '^#' invece di '#', questo perchè anche nella descrizione ci potrebbe essere un '#' e senza il '^' davanti viene eliminato il rigo dalla descrizione.Codice: Seleziona tutto
tar xOf $pkg install/slack-desc | sed -n '/^#/d;/:/p' >> $LOCATION/$METAFILE
Forse mi sono spiegato malissimo,
Emanuele
A parte che a me non da errore \w+, ma se metto # mi toglie appunto ogni parte dove compare #, ^# mi toglie solamente le righe commentate, a me sembra di aver usato ^#
Gli slack-desc sono "sempre"
Codice: Seleziona tutto
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
nome: nome
nome:
nome:
nome:
nome:
nome:
nome:
nome:
nome:
nome:forse sarebbe meglio togliere N righe e facciamo prima, non so
- conraid
- 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
lo vedi dagli output dei comandi, comunque èd4z_c0nf ha scritto:A occhio, questo pezzoconraid ha scritto:Questo è lo script definitivo, alla fine prende un po' di tempo, ma non blocca la macchina nemmeno per un istante
Codice: Seleziona tutto
cat ./slack-desc | grep -v "^#" | grep -v handy-ruler | grep -v "conraid" | \ cut -f 2- -d : | cut -b2- | sed -r 's%^(Home.*: (http|ftp|https):)%\n\1%g' | \
"cat ./slack-desc | grep -v "^#" | grep -v handy-ruler" è uguale a quello postato da spina:Praticamente '/^#/d' toglie la parte commentataCodice: Seleziona tutto
cat slack-desc | sed -n '/^#/d;/:/p'
e '/:/p'
printa solo le stringhe contenti i ":" (l'opzione -n dice a sed di non stampare niente, e p obbliga a stampare le stringe che corrispondono al pattern)
P.S.
se ci dai un esempio di slack-desc tuo possiamo ottimizzare quelle 300 pipe
rock
Codice: Seleziona tutto
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
abook: abook
abook:
abook: Abook is a text-based addressbook program designed to use with mutt
abook: mail client. Abook runs on Linux, FreeBSD and some other UNIXes.
abook:
abook: Home: http://abook.sourceforge.net/
abook:
abook:
abook:
abook:
abook: Packaged by Corrado Franco <http://conraid.net>- d4z_c0nf
- 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
Codice: Seleziona tutto
's%^(Home.*: (http|ftp|https):)%\n\1%g'rock
- conraid
- 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
sono degli /d4z_c0nf ha scritto:Ma ste percentuali sono un errore o che?Sono degli "/" in realtàCodice: Seleziona tutto
's%^(Home.*: (http|ftp|https):)%\n\1%g'
rock
siccome c'è http:// ho usato un altro simbolo per dividere le parole, in sed puoi usare qualsiasi carattere
comunque seguendo il tuo consiglio la prima parte
Codice: Seleziona tutto
cat ./slack-desc | grep -v "^#" | grep -v handy-ruler | grep -v "conraid" | \Codice: Seleziona tutto
cat slack-desc | sed -n '/^#/d;/conraid/d;/:/p' | \- conraid
- 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
- targzeta
- 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
Nel tuo script, questo:conraid ha scritto:...
Non ho capito.
A parte che a me non da errore \w+, ma se metto # mi toglie appunto ogni parte dove compare #, ^# mi toglie solamente le righe commentate, a me sembra di aver usato ^#
Codice: Seleziona tutto
DESCRIPTION=$(tar xOf $pkg install/slack-desc | sed -n '/#/d;/:/p')Codice: Seleziona tutto
DESCRIPTION=$(tar xOf $pkg install/slack-desc | sed -n '/^#/d;/:/p')L'errore con '\w+' lo da solo nei pacchetti come ad esempio gcc-g++... guarda:
Codice: Seleziona tutto
xz -cd gcc-g++-4.3.3-x86_64-4.txz |tar -xOf - install/slack-desc | grep -E '\w+\:'|grep -v '^#'
Codice: Seleziona tutto
xz -cd gcc-g++-4.3.3-x86_64-4.txz |tar -xOf - install/slack-desc | sed -n '/^#/d;/:/p'
gcc-g++: gcc-g++ (C++ for GCC)
gcc-g++:
gcc-g++: C++ support for the GNU Compiler Collection.
gcc-g++:
gcc-g++: This package contains those parts of the compiler collection needed to
gcc-g++: compile C++ code. The base gcc package is also required.
gcc-g++:
gcc-g++:
gcc-g++:
gcc-g++:
gcc-g++:Emanuele
- targzeta
- 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
Ma potrebbero non essere solo N righe e ci potrebbero essere righe vuote alla fine. Forse si potrebbero prendere solo le 11 righe finali, visto checonraid ha scritto:...
Con sed poi aumenta il "time"
forse sarebbe meglio togliere N righe e facciamo prima, non so
Ma anche qui potrebbero esserci righe vuote alla fine del file, penso che sed sia più opportuno.# ... You must make
# exactly 11 lines for the formatting to be correct.
Emanuele
- conraid
- 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
il # mi deve essere sfuggito, visto che in tutti gli script avevo ^#
Ora ho capito
mi hai proposto uno script e c'era
Codice: Seleziona tutto
tar xOf $pkg install/slack-desc | sed -n '/#/d;/:/p' >> $ROOTDIR/PACKAGES.TXTIo mi sono fidato senza controllare