> [EMAIL PROTECTED] ha scritto: > > svn-autoreleasedeb? > grazie nextime, > > sembra proprio quello che stavo cercando! Tuttavia, a parte leggere il > man non ho trovato altre guide che spiegano bene come si usa... > > Qualcuno ha qualche idea? > -- MEGASNIP --
Allora, non so quanto possa essere adattabile alla tua situazione, ma io
lo uso in questo modo:
Tengo un mio repository ( non locale, su web ) dei miei pacchi.
Ho un svn ( dietro https ) su cui metto tutto.
Ho una macchina di sviluppo con un utente "autorepository" che uso per
tutte le modifiche cazzi mazzi e antani che faccio ai pacchetti.
A quel punto faccio cosi':
-----------------------------------------
danex:~$ crontab -l
# m h dom mon dow command
*/10 * * * * /home/autorepository/bin/aggiorna >>
/var/log/autorepository/autorepository.log 2>&1
----------------------------------------------
danex:~$ cat /home/autorepository/bin/aggiorna
#!/bin/bash
h=$HOME
for i in `ls ~/dists` ; do
export HOME=$h/dists/$i
svn-autoreleasedeb
done
export HOME=$h
/home/web/sites/packages.medianix.net/scripts/aggiornarepo
dentro la directory ~/dists ho:
danex:~/dists$ ls -l
drwxr-xr-x 4 autorepository autorepository 4096 2007-02-27 22:59 mdxdev
drwxr-xr-x 4 autorepository autorepository 4096 2007-02-27 23:15 mercury
e dentro ognuna di esse:
danex:~/dists/mdxdev$ ls -la
total 16
drwxr-xr-x 4 autorepository autorepository 4096 2007-02-27 22:59 .
drwxr-xr-x 4 autorepository autorepository 4096 2007-02-21 00:21 ..
drwxr-xr-x 2 autorepository autorepository 4096 2007-02-27 22:59 .fontconfig
lrwxrwxrwx 1 autorepository autorepository 27 2007-02-21 00:21 .gnupg ->
/home/autorepository/.gnupg
lrwxrwxrwx 1 autorepository autorepository 32 2007-02-21 00:21 .subversion ->
/home/autorepository/.subversion
drwxr-xr-x 4 autorepository autorepository 4096 2007-06-01 20:00
.svn-autoreleasedeb
poi ho una directory ~/configs dove tengo:
danex:~/configs$ ls
mdxdev.conf mdxdev.conf~ mercury.conf mercury.conf~
che altro non sono che i file di configurazione di autoreleasedeb, ad
esempio ( uno stralcio )
<server name="medianix-mdxdev-astronomy">
<package name="qastrocam" svnserver="https://svn.nexlab.it/"
prefix="medianix/packages/astronomy" tag="trunk"/>
<package name="xephem-mdx" svnserver="https://svn.nexlab.it/"
prefix="medianix/packages/astronomy" tag="trunk"/>
</server>
etc etc.
Ora lo script nel cron in pratica esegue autoreleasedeb su quelle config, in
base alle mie varie
versioni ( in pratica sono la mia stable e la mia unstable ), e quando ha
finito mi richiama un altro script,
/home/web/sites/packages.medianix.net/scripts/aggiornarepo.
questo script e' cosi' fatto:
#!/bin/bash
echo `date`
DISTROS="mdxdev mercury"
COMPONENTS="main astronomy telephony mdxmodcommon"
INCOMING="/home/web/sites/packages.medianix.net/incoming"
REPOSITORY="/home/web/sites/packages.medianix.net/medianix/"
repreprocmd="reprepro --ignore=wrongdistribution -Vb ${REPOSITORY}"
#svn-autoreleasedeb
for DISTRO in ${DISTROS}
do
for COMPONENT in ${COMPONENTS}
do
cd ${INCOMING}/${DISTRO}/${COMPONENT}
found=0
doit="YES"
for package in *.changes
do
if [ -e ${package} ] ; then
found=`expr ${found} + 1`
fi
done
if [ ! "${found}" -lt 1 ] ; then
for package in *.changes ; do
${repreprocmd} -C ${COMPONENT} include
${DISTRO} ${package}
sed '1,/Files:/d' ${package} | sed '/BEGIN PGP
SIGNATURE/,$d' \
| while read MD SIZE SECTION PRIORITY NAME ; do
if [ -z ${NAME} ] ; then
continue
fi
if [ -f
${INCOMING}/${DISTRO}/${COMPONENT}/${NAME} ] ; then
rm
${INCOMING}/${DISTRO}/${COMPONENT}/${NAME}
fi
done
rm ${INCOMING}/${DISTRO}/${COMPONENT}/${package}
done
fi
cd ${INCOMING}
done
done
con tutto sto casino, piu difficile da spiegare che da fare sinceramente, in
poche parole
io piglio il mio pacco, faccio quel che devo fare, faccio il commit nell'svn, e
entro 10
minuti il pacchetto e' rebuildato e messo nel repository.
Spero che possa servirti come spunto, anche se forse e' poco comprensibile
spiegato in questo modo.
--
Franco (nextime) Lanza
Busto Arsizio - Italy
SIP://[EMAIL PROTECTED]
NO TCPA: http://www.no1984.org
you can download my public key at:
http://danex.nexlab.it/nextime.asc || Key Servers
Key ID = D6132D50
Key fingerprint = 66ED 5211 9D59 DA53 1DF7 4189 DFED F580 D613 2D50
-----------------------------------
echo
16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D212153574F444E49572045535520454D20454B414D204F54204847554F4E452059415020544F4E4E4143205345544147204C4C4942snlbxq
| dc
-----------------------------------
signature.asc
Description: PGP signature

