> nextime@nexlab.it 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://casa@casa.nexlab.it 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 -----------------------------------
Attachment:
signature.asc
Description: PGP signature