<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.slacky.eu/wikislack/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
		<id>http://www.slacky.eu/wikislack/index.php?title=Slackware_Updates_Checker&amp;feed=atom&amp;action=history</id>
		<title>Slackware Updates Checker - Cronologia</title>
		<link rel="self" type="application/atom+xml" href="http://www.slacky.eu/wikislack/index.php?title=Slackware_Updates_Checker&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Slackware_Updates_Checker&amp;action=history"/>
		<updated>2013-05-24T19:46:39Z</updated>
		<subtitle>Cronologia della pagina su questo sito</subtitle>
		<generator>MediaWiki 1.20.3</generator>

	<entry>
		<id>http://www.slacky.eu/wikislack/index.php?title=Slackware_Updates_Checker&amp;diff=6241&amp;oldid=prev</id>
		<title>Zerouno: uso di SyntaxHighlight nel wiki</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Slackware_Updates_Checker&amp;diff=6241&amp;oldid=prev"/>
				<updated>2011-04-22T08:52:53Z</updated>
		
		<summary type="html">&lt;p&gt;uso di SyntaxHighlight nel wiki&lt;/p&gt;
&lt;a href=&quot;http://www.slacky.eu/wikislack/index.php?title=Slackware_Updates_Checker&amp;amp;diff=6241&amp;amp;oldid=6090&quot;&gt;Mostra cambiamenti&lt;/a&gt;</summary>
		<author><name>Zerouno</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/wikislack/index.php?title=Slackware_Updates_Checker&amp;diff=6090&amp;oldid=prev</id>
		<title>Zerouno: 23/09/2010: Versione 1.0 rilasciata</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Slackware_Updates_Checker&amp;diff=6090&amp;oldid=prev"/>
				<updated>2010-09-23T14:11:48Z</updated>
		
		<summary type="html">&lt;p&gt;23/09/2010: Versione 1.0 rilasciata&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[categoria:Install_e_Upgrade]]&lt;br /&gt;
==Introduzione==&lt;br /&gt;
Chi vuole la propria slackware-current alla -currentissima, si trova a monitorare continuamente il ChangeLog di Slackware mettendolo come home della macchina o lanciando slackpkg ogni ora o altro.&lt;br /&gt;
&lt;br /&gt;
Io mi sono fatto uno script che si lancia come demone e notifica nella system tray di kde la presenza di nuovi aggiornamenti.&lt;br /&gt;
&lt;br /&gt;
''Nota: Lo script è studiato per kde; chi usa xfce o altro può comunque provare se funziona; in caso contrario può utilizzare il progetto ''[[Updates checker per conky]]'' che è simile però usa [http://it.wikipedia.org/wiki/Conky conky] al posto del subsystem di kde''&lt;br /&gt;
&lt;br /&gt;
v. la [http://www.slacky.eu/forum/viewtopic.php?f=1&amp;amp;t=32885 discussione sul forum]&lt;br /&gt;
&lt;br /&gt;
==Il funzionamento==&lt;br /&gt;
Lo script si starta come demone ed effettua un controllo periodico (default=1 minuto) con slackpkg per controllare se ci sono aggiornamenti.&lt;br /&gt;
&lt;br /&gt;
In caso positivo viene inviato un avviso nel sistema di notification di kde con la lista degli aggiornamenti disponibili. &lt;br /&gt;
Dopo aver notificato la cosa, lo script fermerà il check per evitare una successiva notifica ogni minuto. &lt;br /&gt;
&lt;br /&gt;
Lo script NON ESEGUE ALCUN AGGIORNAMENTO!!! L'utente dovrà autonomamente lanciare il classico '''slackpkg update'''.&lt;br /&gt;
&lt;br /&gt;
Lo script aspetterà un'ora dopodichè se questo non è stato fatto provvederà a ricordare all'utente che ci sono aggiornamenti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tutti i tempi di cui sopra sono parametrizzabili in un file di configurazione esterno.&lt;br /&gt;
==News==&lt;br /&gt;
23/09/2010: Versione 1.0 rilasciata.&lt;br /&gt;
&lt;br /&gt;
==Lo script==&lt;br /&gt;
Potete prendere lo script, salvarlo e renderlo eseguibile con chmod +x; io l'ho chiamato 'slack-updates'. Lo potete salvare nella vostra home o in /usr/bin o (consigliato) in $HOME/.kde/Autostart in modo che si avvii automaticamente.&lt;br /&gt;
&lt;br /&gt;
Per avviarlo manualmente lanciare '''./slack-updates''' senza parametri come utente (va lanciato con lo stesso utente con cui kde è running); ritornerà subito il prompt e verrà notificato dall'alerter di sistema che è stato lanciato.&lt;br /&gt;
&lt;br /&gt;
Per fermarlo digitare '''./slack-updates stop'''&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # slack-updates -&amp;gt; Controlla periodicamente la presenza di aggiornamenti slackware e avvisa tramite kde-alert&lt;br /&gt;
 &lt;br /&gt;
 # by Matteo Rossini ( zerouno @ slacky.it )&lt;br /&gt;
 #&lt;br /&gt;
 # versione 1.0&lt;br /&gt;
 #&lt;br /&gt;
 # news:&lt;br /&gt;
 #   1.0: Script rilasciato &lt;br /&gt;
 &lt;br /&gt;
 # DEFAULT VALUE. DO NOT CHANGE. USE ~/.slack-updates.rc INSTEAD&lt;br /&gt;
 &lt;br /&gt;
 PRGNAME=$(basename $0)&lt;br /&gt;
 RC=.slack-updates.rc&lt;br /&gt;
 PIDFILE=/tmp/slack-updates.pid&lt;br /&gt;
 MIN_INTERVAL=60&lt;br /&gt;
 MAX_INTERVAL=3600&lt;br /&gt;
 RETRY_INTERVAL=60&lt;br /&gt;
 REPEATUPDATES=0&lt;br /&gt;
 &lt;br /&gt;
 ACT=&amp;quot;start&amp;quot;&lt;br /&gt;
 if [ $# -gt 0 ];then&lt;br /&gt;
   for P in $*;do&lt;br /&gt;
     case $1 in&lt;br /&gt;
       &amp;quot;--proxy&amp;quot;) shift; export PROXY=$1; shift;;&lt;br /&gt;
       &amp;quot;start&amp;quot;) ACT=&amp;quot;start&amp;quot;;;&lt;br /&gt;
       &amp;quot;stop&amp;quot;) ACT=&amp;quot;stop&amp;quot;;;&lt;br /&gt;
       *) usage; exit 1;;&lt;br /&gt;
     esac&lt;br /&gt;
   done&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ -e ~/$RC ];then&lt;br /&gt;
   . ~/$RC&lt;br /&gt;
 fi&lt;br /&gt;
 if [ ! -z &amp;quot;$PROXY&amp;quot; ];then&lt;br /&gt;
   export http_proxy=$PROXY&lt;br /&gt;
   export https_proxy=$PROXY&lt;br /&gt;
   export ftp_proxy=$PROXY&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 function message(){&lt;br /&gt;
   TIME=0&lt;br /&gt;
   if [ &amp;quot;$1&amp;quot; == &amp;quot;-t&amp;quot; ];then&lt;br /&gt;
     TIME=$2&lt;br /&gt;
     shift 2&lt;br /&gt;
   fi&lt;br /&gt;
   if tty 2&amp;gt;/dev/null|grep -q dev;then&lt;br /&gt;
     echo &amp;quot;$*&amp;quot;&lt;br /&gt;
   else&lt;br /&gt;
     kdialog --passivepopup &amp;quot;$*&amp;quot; $TIME&lt;br /&gt;
   fi&lt;br /&gt;
   sleep $[$TIME+1]&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 do_start() {&lt;br /&gt;
 &lt;br /&gt;
   if [ -e $PIDFILE ];then&lt;br /&gt;
     if ps $(cat $PIDFILE) 2&amp;gt;/dev/null|grep -q $PRGNAME;then&lt;br /&gt;
       echo &amp;quot;Demone già avviato.&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
     else&lt;br /&gt;
       rm $PIDFILE&lt;br /&gt;
     fi&lt;br /&gt;
   fi&lt;br /&gt;
   LAUNCHDAEMON=$$ &lt;br /&gt;
   export LAUNCHDAEMON&lt;br /&gt;
   $0 &amp;amp;&lt;br /&gt;
   echo &amp;quot;$!&amp;quot; &amp;gt; $PIDFILE&lt;br /&gt;
   exit&lt;br /&gt;
 }&lt;br /&gt;
 do_stop(){&lt;br /&gt;
   if [ ! -e $PIDFILE ];then&lt;br /&gt;
     echo &amp;quot;Demone non avviato&amp;quot;&lt;br /&gt;
     exit&lt;br /&gt;
   fi&lt;br /&gt;
   kill `cat $PIDFILE` 2&amp;gt;/dev/null&lt;br /&gt;
   rm $PIDFILE&lt;br /&gt;
   exit&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 usage(){&lt;br /&gt;
   echo &amp;quot;Usage: $0 { start | stop }&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 if [ -z &amp;quot;$LAUNCHDAEMON&amp;quot; ];then&lt;br /&gt;
   ## LAUNCHER&lt;br /&gt;
 &lt;br /&gt;
   if [ &amp;quot;$ACT&amp;quot; == &amp;quot;start&amp;quot; ];then do_start&lt;br /&gt;
   elif [ &amp;quot;$ACT&amp;quot; == &amp;quot;stop&amp;quot; ];then do_stop&lt;br /&gt;
   else usage&lt;br /&gt;
   fi&lt;br /&gt;
   exit&lt;br /&gt;
 &lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ## DEMONE VERO E PROPRIO&lt;br /&gt;
 &lt;br /&gt;
 if [ ! -z &amp;quot;$LAUNCHDAEMON&amp;quot; ];then&lt;br /&gt;
   INTERVAL=$MIN_INTERVAL&lt;br /&gt;
 &lt;br /&gt;
   MSG=&amp;quot;Check Update started. &amp;quot;&lt;br /&gt;
   if [ ! -z &amp;quot;$http_proxy&amp;quot; ];then&lt;br /&gt;
     MSG=&amp;quot;$MSG Using proxy $http_proxy.&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
   message -t 2 &amp;quot;$MSG&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   NEWUPDATE=0&lt;br /&gt;
 &lt;br /&gt;
   while true;do&lt;br /&gt;
     PID=$(ls /var/lock/slackpkg.* 2&amp;gt;/dev/null|sed 's/^.*\.\([0-9]*\)$/\1/'|head -1)&lt;br /&gt;
     if [ ! -z &amp;quot;$PID&amp;quot; ];then&lt;br /&gt;
       if ps $PID 2&amp;gt;/dev/null|grep -q slackpkg ;then&lt;br /&gt;
        sleep $RETRY_INTERVAL&lt;br /&gt;
        continue&lt;br /&gt;
       else&lt;br /&gt;
        rm -f /var/lock/slackpkg.* &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        rm -f /tmp/slackpkg.* &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        sleep $RETRY_INTERVAL&lt;br /&gt;
        continue&lt;br /&gt;
       fi&lt;br /&gt;
     fi&lt;br /&gt;
     U=$(slackpkg check-updates)&lt;br /&gt;
     if [ $? -ne 0 ];then&lt;br /&gt;
       sleep $RETRY_INTERVAL&lt;br /&gt;
       continue&lt;br /&gt;
     fi&lt;br /&gt;
     echo $U|grep -q &amp;quot;News on ChangeLog.txt&amp;quot;&lt;br /&gt;
     NEWS=$?&lt;br /&gt;
 &lt;br /&gt;
     DATE=&amp;quot;$(date '+%a %H:%M')&amp;quot;&lt;br /&gt;
     if [ $NEWS -eq 0 ];then&lt;br /&gt;
       if [ $NEWUPDATE -ne 0 ];then&lt;br /&gt;
        message -t 3 &amp;quot;$DATE: Sono stati trovati aggiornamenti per slackware&amp;quot;&lt;br /&gt;
       else&lt;br /&gt;
        message -t 7 &amp;quot;$DATE: Trovati nuovi aggiornamenti per slackware:&lt;br /&gt;
 &lt;br /&gt;
 $(wget -q -O - $(grep -v \# /etc/slackpkg/mirrors)/ChangeLog.txt 2&amp;gt;/dev/null| diff - /var/lib/slackpkg/ChangeLog.txt|grep '^&amp;lt;'|cut -c3-|grep ^[a-z])&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
       fi&lt;br /&gt;
       INTERVAL=$MAX_INTERVAL&lt;br /&gt;
       NEWUPDATE=$[1-$REPEATUPDATES]&lt;br /&gt;
     else&lt;br /&gt;
       NEWUPDATE=0&lt;br /&gt;
       INTERVAL=$MIN_INTERVAL&lt;br /&gt;
     fi&lt;br /&gt;
 &lt;br /&gt;
     sleep $INTERVAL&lt;br /&gt;
   done&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
==Configurazione==&lt;br /&gt;
Questo script consente la personalizzazione di alcuni parametri con un file di configurazione '''.slack-update.rc''' da inserire nella propria home.&lt;br /&gt;
 ## Il path del pidfile.&lt;br /&gt;
 #default /tmp/slack-updates.pid&lt;br /&gt;
 #PIDFILE=/tmp/slack-updates.pid&lt;br /&gt;
 &lt;br /&gt;
 ## il tempo tra un controllo e l'altro.&lt;br /&gt;
 #default 60 secondi&lt;br /&gt;
 #MIN_INTERVAL=60&lt;br /&gt;
 &lt;br /&gt;
 ## se ci sono nuovi aggiornamenti ricordamelo più tardi.&lt;br /&gt;
 #default 3600 secondi&lt;br /&gt;
 #MAX_INTERVAL=3600&lt;br /&gt;
 &lt;br /&gt;
 ## se fallisce il check riprova dopo.&lt;br /&gt;
 #default 60 secondi&lt;br /&gt;
 #RETRY_INTERVAL=60 &lt;br /&gt;
 &lt;br /&gt;
 ## usa il proxy. se vuoto usa le variabili di ambiente http_proxy e ftp_proxy&lt;br /&gt;
 #default vuoto&lt;br /&gt;
 #PROXY=&lt;br /&gt;
 &lt;br /&gt;
 ## negli avvisi di update trovati ripeti la lista dei pacchetti&lt;br /&gt;
 #default 0 (no)&lt;br /&gt;
 REPEATUPDATES=1&lt;br /&gt;
&lt;br /&gt;
'''PIDFILE''': Il pidfile del processo; default /tmp/slack-updates&lt;br /&gt;
&lt;br /&gt;
'''MIN_INTERVAL''': Il tempo tra un controllo e un altro; default 60 secondi&lt;br /&gt;
&lt;br /&gt;
'''MAX_INTERVAL''': Il tempo di &amp;quot;ricordamelo più tardi&amp;quot;; default 3600 secondi&lt;br /&gt;
&lt;br /&gt;
'''PROXY''': Specifica il proxy da usare; se non specificato usa le variabili di ambiente http_proxy/ftp_proxy; se non settate non usa il proxy; default vuoto&lt;br /&gt;
&lt;br /&gt;
'''REPEATUPDATES''': Quando lo script ti ricorda che ci sono aggiornamenti, di default non ti dice quali. Settando ad 1, oltre alla segnalazione ti ripete anche la lista; default 0 (non ripetere)&lt;/div&gt;</summary>
		<author><name>Zerouno</name></author>	</entry>

	</feed>