UFFICIALE L'OT di Linux e altri OS

Pubblicità
Si parlava di Lavoro = Windows?
E che significa? Vuol dire che per quello che devono fare Ubuntu/Gnu/Linux é meglio. Giustamente però avete così tanti complessi di inferiorità che ogni scusa è buona per tirare acqua al proprio mulino(o alla propria ragione di vita in alcuni casi ;) ).

Divertente quanto ogni persona come te dia principalmente ragione a Theo de Raadt:
"Linux people do what they do because they hate Microsoft. We do what we do because we love Unix".
Alla fine per quanto facciate tanto i saputelli, la questione si riduce ad un banale "Io ce l'ho più lungo del tuo e devo dimostrarlo sempre e comunque" o anche "la mia ragione di vita/religione é più giusta della tua". Per voi estremisti é uno sforzo mentale troppo arduo realizzare che ogni persona é un caso a parte e che, chi non ha lo gnu stampato pure sullo scroto, sceglie ciò che per lui/lei é più utile in quel momento.
Ora continua pure con il tuo googlare/copia-incollare selvaggio. Buona giornata.

P.S Ah, nessuno ha detto che Desktop=Windows. Casomai chi l'ha detto ha specificato che per il proprio uso personale è meglio Windows. Vedi che il googlare selvaggio fa male alla vista?
 
Ultima modifica da un moderatore:
E che significa? Vuol dire che per quello che devono fare Ubuntu/Gnu/Linux é meglio. Giustamente però avete così tanti complessi di inferiorità che ogni scusa è buona per tirare acqua al proprio mulino(o alla propria ragione di vita in alcuni casi ;) ).

Divertente quanto ogni persona come te dia principalmente ragione a Theo de Raadt:
"Linux people do what they do because they hate Microsoft. We do what we do because we love Unix".
Alla fine per quanto facciate tanto i saputelli, la questione si riduce ad un banale "Io ce l'ho più lungo del tuo e devo dimostrarlo sempre e comunque" o anche "la mia ragione di vita/religione é più giusta della tua". Per voi estremisti é uno sforzo mentale troppo arduo realizzare che ogni persona é un caso a parte e che, chi non ha lo gnu stampato pure sullo scroto, sceglie ciò che per lui/lei é più utile in quel momento.
Ora continua pure con il tuo googlare/copia-incollare selvaggio. Buona giornata.

P.S Ah, nessuno ha detto che Desktop=Windows. Casomai chi l'ha detto ha specificato che per il proprio uso personale è meglio Windows. Vedi che il googlare selvaggio fa male alla vista?
Mi sa che questa mattina ti sei alzato male. "l'estremismo" ce l'hai tu in testa...!
Ho semplicemente incollato una testimonianza (e non un mio parere personale) che GNU/Linux desktop è molto usato in ambito lavorativo, non solo sui server. Lavorare su desktop non è solo photoshop!!
I complessi li hanno molti utenti Windows (forse anche tu) che trovandosi una GUI/UI diversa e non avendo i ".exe" va in confusione...
PS: per farti capire che io avendo bisogno di Windows, sul portatile ho il dual boot, lo uso solo per il software per programmare le centraline d'allarme, quindi Windows lo uso!
 
Mi sa che questa mattina ti sei alzato male. "l'estremismo" ce l'hai tu in testa...!
Ho semplicemente incollato una testimonianza (e non un mio parere personale) che GNU/Linux desktop è molto usato in ambito lavorativo, non solo sui server. Lavorare su desktop non è solo photoshop!!
I complessi li hanno molti utenti Windows (forse anche tu) che trovandosi una GUI/UI diversa e non avendo i ".exe" va in confusione...
PS: per farti capire che io avendo bisogno di Windows, sul portatile ho il dual boot, lo uso solo per il software per programmare le centraline d'allarme, quindi Windows lo uso!
No, caro, non hai solo postato una testimonianza, hai semplicemente capito quel che volevi capire. Nessuno ha mai detto che sia impossibile lavorare con Gnu/Linux, per ragioni note non é indicatissimo, ma o per comodità, o per determinati utilizzi, o semplicemente perché a parità di bisogni si preferisce la piattaforma libera, uno lo può utilizzare ed amen. Curioso, perché gli anni passano, ma il commento tipico non muore mai: "Linugs é superiore!!1!!"(perché giustamente chi commenta é sempre un ingegnere informatico che valuta obbiettivamente a 360°). Poi che ci siano persone che non riescono a cambiare e che per questo buttino fango, é un altro discorso, ma questa gente non va nemmeno considerata.
Non penso di dover commentare il fatto che decisamente sia io stesso ad andare a cercare la gui diversa :asd: .
 
No, caro, non hai solo postato una testimonianza, hai semplicemente capito quel che volevi capire. Nessuno ha mai detto che sia impossibile lavorare con Gnu/Linux, per ragioni note non é indicatissimo, ma o per comodità, o per determinati utilizzi, o semplicemente perché a parità di bisogni si preferisce la piattaforma libera, uno lo può utilizzare ed amen. Curioso, perché gli anni passano, ma il commento tipico non muore mai: "Linugs é superiore!!1!!"(perché giustamente chi commenta é sempre un ingegnere informatico che valuta obbiettivamente a 360°). Poi che ci siano persone che non riescono a cambiare e che per questo buttino fango, é un altro discorso, ma questa gente non va nemmeno considerata.
Non penso di dover commentare il fatto che decisamente sia io stesso ad andare a cercare la gui diversa :asd: .
E quali sono "le ragioni note"? Se io ho tutto il software per lavorare su GNU/Linux, quali sono queste "ragioni note" per non usarlo? se non l'ignoranza di non conoscerlo o non saperlo usare?
Ci sono studi di architetti che lavorano solo su piattaforma Linux, mi sono girato molti forum, per la curiosità di sapere, e non venirmi a dire che capisco quel che voglio capire. A modo tuo vuoi fare l'esperto della situazione, come se ogni utente abbia le tue stesse ragioni e vedute.
"Linugs é superiore!!1!!"
Basta sapere l'ABC dell'informatica, capire il FS di Linux e Windows, poi 1 + 1 è facile sapere il risultato.
Se fosse cosi superiore, Windows, non lo vieterebbero su Google per usare macOS o Ubuntu... (google è tuo amico).

Some new work (attached) to share; At OpenStudio arkitekter we are designing a small library building in the city of Malmö, where we are combining a library together with rental apartments on the upper floors.

Drawing work and building modeling is made with BricsCAD for Linux.

For this illustration our standard work flow is used:
Building model: BricsCAD for Linux
File exported from BricsCAD to collada (.dae) and converted in Accutrans 3D (running in wine) to wavefront (.obj)
Rendering: Thea Render
Vector post processing: Inkscape
Raster post processing: Gimp

Could be interesting to mention we also use BricsCAD to do modeling for MakerBot 3D-print-outs at our studio (maybe I should attach a sample foto of a printed model some time).

Regards
Mikael
 
E quali sono "le ragioni note"? Se io ho tutto il software per lavorare su GNU/Linux, quali sono queste "ragioni note" per non usarlo? se non l'ignoranza di non conoscerlo o non saperlo usare?
Ci sono studi di architetti che lavorano solo su piattaforma Linux, mi sono girato molti forum, per la curiosità di sapere, e non venirmi a dire che capisco quel che voglio capire. A modo tuo vuoi fare l'esperto della situazione, come se ogni utente abbia le tue stesse ragioni e vedute.
"Linugs é superiore!!1!!"
Basta sapere l'ABC dell'informatica, capire il FS di Linux e Windows, poi 1 + 1 è facile sapere il risultato.
Se fosse cosi superiore, Windows, non lo vieterebbero su Google per usare macOS o Ubuntu... (google è tuo amico).
Ed eccolo lì, a cambiare le cose che ho scritto....menomale che é tutto registrato lol.
Ho scritto più indicato, non che non si possa usare Gnu/Linux :). Per la legge dei grandi numeri sono sicuro che ci siano persone che utilizzano software opensource...e quindi? Ritorniamo al discorso di prima: ogni persona é un caso a parte. Se poi vogliamo prendere un caso per dimostrare che le alternative al software proprietario esistono....di che stiamo parlando? Non cambia di una virgola il panorama. Oppure quello che hai recepito é: "E' impossibile lavorare con qualsiasi software libero"?
Tu mi dici che sia io quello di non larghe vedute, quando sei tu che non accetti il fatto che chi usa Windows o MacOS ha i suoi motivi per farlo.
Basta fare 1+1 per capire che Linux é superiore? Complimenti sig. Ingegnere, a quanto pare i tuoi anni di esperienza e la tua comprensione dell'ingegneria del software ti rendono più che qualificato per giudicare un sistema operativo nella sua interezza :). Ah, già, tu leggi qualche post qui, qualcuno là, hai scoperto btrfs e questo ti dà le competenze per poter giudicare un OS.
Giustamente poi é solo Samael che parla per presa di posizione personale, e che si sente più preparato in materia degli ingegneri che lavorano sui progetti che lui critica :).....coerenza portami via....
 
Ultima modifica da un moderatore:
Giustamente poi é solo Samael che parla per presa di posizione personale, e che si sente più preparato in materia degli ingegneri che lavorano sui progetti che lui critica :).....coerenza portami via....
Almeno io leggo, anche se qui o la, io lo faccio, tu che fai? rispondi a un post per far credere alla gente che sei l'esperto, il superiore di turno? Per capire l'organizzazione della struttura del file system di un OS, ci vogliono 10 minuti di Google, non studiare ingegneria, che l'organizzazione della struttura dei sistemi unix, unix* e parenti e amici lo sanno tutti che è migliore di Windows, forse solo tu non lo sai.
In quel post non ho criticato Windows, non avevo alzato la critica sul fatto che GNU/Linux fosse migliore di Windows, avevo solo postato una testimonianza del fatto che si può lavorare con GNU/Linux, lo faccio spesso per ricordare che GNU/Linux non è solo server.
Poi sei arrivato tu a fare delle critiche senza senso e inesistenti, a fare il superiore, a modo tuo...

"Giustamente poi é solo Samael che parla per presa di posizione personale, e che si sente più preparato in materia degli ingegneri che lavorano sui progetti che lui critica :).....coerenza portami via...."
La differenza è che lui diceva che Btrfs è un progetto "nato male" e "morto", adesso non ricordo le parole esatte, senza seguire il progetto, fatte domande non sapeva molti fix e risoluzioni di problemi recenti su Btrfs, io non ho detto che Windows è un progetto morto, che ha codice obsoleto etc etc
Quindi cerca di essere più intelligente e capire quello che scrivo, se vuoi la prossima volta posto i disegnini, magari ti saranno più chiari, o proprio ignori i miei post.
 
Ultima modifica:
Almeno io leggo, anche se qui o la, io lo faccio, tu che fai? rispondi a un post per far credere alla gente che sei l'esperto, il superiore di turno? Per capire l'organizzazionetua della struttura del file system di un OS, ci vogliono 10 minuti di Google, non studiare ingegneria, che l'organizzazione della struttura dei sistemi unix, unix* e parenti e amici lo sanno tutti che è migliore di Windows, forse solo tu non lo sai.
In quel post non ho criticato Windows, non avevo alzato la critica sul fatto che GNU/Linux fosse migliore di Windows, avevo solo postato una testimonianza del fatto che si può lavorare con GNU/Linux, lo faccio spesso per ricordare che GNU/Linux non è solo server.
Poi sei arrivato tu a fare delle critiche senza senso e inesistenti, a fare il superiore, a modo tuo...

"Giustamente poi é solo Samael che parla per presa di posizione personale, e che si sente più preparato in materia degli ingegneri che lavorano sui progetti che lui critica :).....coerenza portami via...."
La differenza è che lui diceva che Btrfs è un progetto "nato male" e "morto", adesso non ricordo le parole esatte, senza seguire il progetto, fatte domande non sapeva molti fix e risoluzioni di problemi recenti su Btrfs, io non ho detto che Windows è un progetto morto, che ha codice obsoleto etc etc
Quindi cerca di essere più intelligente e capire quello che scrivo, se vuoi la prossima volta posto i disegnini, magari ti saranno più chiari, o proprio ignori i miei post.
Io leggo e non prendo alcuna posizione dal momento che SO che ci sono n-mila variabili da contare in base al contesto, e questa é una cosa che una ricerca su Google non ti permette di capire a pieno se non sei davvero del settore; più volte inoltre ho detto che ogni os ha pro e contro oggettivi in base al contesto in cui dev'essere utilizzato, di certo non me ne sono uscito con:
In realtà ha ragione, nel senso che GNU/Linux è un Os superiore
Ti ho risposto in un certo modo giusto per ricordarti che, a parte gli stupidi, nessuno dá etichette a niente se quella cosa é lo strumento più adatto/che piace di più, in quel momento. Il fatto che tu abbia recepito "Windows=Lavoro" e "Linux=server" é una tua interpretazione totalmente sballata dal momento che si é parlato di esperienze personali nei precedenti messaggi.
La struttura Unix è superiore? Forse, ma bisogna contestualizzare, e dal momento che né io né te siamo sysadmin/tecnici esperti, ci possiamo solo limitare a ciò che é palpabile e poco più per poter seriamente mettere bocca in qualcosa senza cadere nella "disonestá intellettuale".
Comunque....Samael ti ha scritto almeno 20 righe argomentando il perchè btrfs non fosse all'altezza di ZFS, e tu sei addirittura arrivato a dirgli che non era informato, o che, avendo MacOs e Slackware, non era aggiornato su btrfs :asd:.
Semplicemente tutto ció che é nel tuo orticello é ok, quello che non lo é ti manda il cervello in pappa, e, non riuscendo a reggere un livello di stress così alto, devi per forza denigrare ciò che non ti aggrada con del malsano Googlare selvaggio :asd:(googlare selvaggio aka arrampicata sugli specchi di fronte ad un nemico più pro)
Non ho mai detto di essere un esperto, e non me ne può sbattere di meno dell'opinione altrui su internet, per cui cerca di capire meglio il contenuto dei miei messaggi.
P.S Ah, poi ricordiamoci il rispondere ad un tecnico esperto con il post di un tizio a caso su reddit :asd:
Che poi tecnicamente Linux ha spopolato nell'ambito domestico...su smartphone e tablet.
 
Ultima modifica da un moderatore:
Io leggo e non prendo alcuna posizione dal momento che SO che ci sono n-mila variabili da contare in base al contesto, e questa é una cosa che una ricerca su Google non ti permette di capire a pieno se non sei davvero del settore; più volte inoltre ho detto che ogni os ha pro e contro oggettivi in base al contesto in cui dev'essere utilizzato, di certo non me ne sono uscito con:

Ti ho risposto in un certo modo giusto per ricordarti che, a parte gli stupidi, nessuno dá etichette a niente se quella cosa é lo strumento più adatto/che piace di più, in quel momento. Il fatto che tu abbia recepito "Windows=Lavoro" e "Linux=server" é una tua interpretazione totalmente sballata dal momento che si é parlato di esperienze personali nei precedenti messaggi.
La struttura Unix è superiore? Forse, ma bisogna contestualizzare, e dal momento che né io né te siamo sysadmin/tecnici esperti, ci possiamo solo limitare a ciò che é palpabile e poco più per poter seriamente mettere bocca in qualcosa senza cadere nella "disonestá intellettuale".
Comunque....Samael ti ha scritto almeno 20 righe argomentando il perchè btrfs non fosse all'altezza di ZFS, e tu sei addirittura arrivato a dirgli che non era informato, o che, avendo MacOs e Slackware, non era aggiornato su btrfs :asd:.
Semplicemente tutto ció che é nel tuo orticello é ok, quello che non lo é ti manda il cervello in pappa, e, non riuscendo a reggere un livello di stress così alto, devi per forza denigrare ciò che non ti aggrada con del malsano Googlare selvaggio :asd:(googlare selvaggio aka arrampicata sugli specchi di fronte ad un nemico più pro)
Non ho mai detto di essere un esperto, e non me ne può sbattere di meno dell'opinione altrui su internet, per cui cerca di capire meglio il contenuto dei miei messaggi.
P.S Ah, poi ricordiamoci il rispondere ad un tecnico esperto con il post di un tizio a caso su reddit :asd:
Che poi tecnicamente Linux ha spopolato nell'ambito domestico...su smartphone e tablet.
Il problema è che tu sei andato completamente OT sul mio post, io ho semplicemente postato una testimonianza, come faccio sempre qui, e su molti altri gruppi, per far capire alla gente che legge questi post che GNU/Linux non è ostico o solo server.

"Comunque....Samael ti ha scritto almeno 20 righe argomentando il perchè btrfs non fosse all'altezza di ZFS, e tu sei addirittura arrivato a dirgli che non era informato, o che, avendo MacOs e Slackware, non era aggiornato su btrfs "
Può essere tecnico, ma nei fatti era poco aggiornato, mi parlava di feature ancora non implementate su Btrfs o feature che hanno avuto fix, e che lui non sapeva, quindi di che parliamo? (Che poi che cavolo c'entra con il mio post!!???)

"P.S Ah, poi ricordiamoci il rispondere ad un tecnico esperto con il post di un tizio a caso su reddit :asd:"
Anche lui per me era un tizio a caso... Cosa cambia? "Il tecnico esperto" che butta m*** su un lavoro in cui ci sono ingegneri da: "

Developer(s)
Facebook, Fujitsu, Fusion-IO, Intel, Linux Foundation, Netgear, Oracle Corporation, Red Hat, STRATO AG, and SUSE[1]
Arriva il "tecnico esperto" e da sentenza :asd::asd::asd::asd:
Ma vai a farti un giro va...
 
Ultima modifica:
Il problema è che tu sei andato completamente OT sul mio post, io ho semplicemente postato una testimonianza, come faccio sempre qui, e su molti altri gruppi, per far capire alla gente che legge questi post che GNU/Linux non è ostico o solo server.

"Comunque....Samael ti ha scritto almeno 20 righe argomentando il perchè btrfs non fosse all'altezza di ZFS, e tu sei addirittura arrivato a dirgli che non era informato, o che, avendo MacOs e Slackware, non era aggiornato su btrfs "
Può essere tecnico, ma nei fatti era poco aggiornato, mi parlava di feature ancora non implementate su Btrfs o feature che hanno avuto fix, e che lui non sapeva, quindi di che parliamo? (Che poi che cavolo c'entra con il mio post!!???)

"P.S Ah, poi ricordiamoci il rispondere ad un tecnico esperto con il post di un tizio a caso su reddit :asd:"
Anche lui per me era un tizio a caso... Cosa cambia? "Il tecnico esperto" che butta m*** su un lavoro in cui ci sono ingegneri da: "

Developer(s)
Facebook, Fujitsu, Fusion-IO, Intel, Linux Foundation, Netgear, Oracle Corporation, Red Hat, STRATO AG, and SUSE[1]
Arriva il "tecnico esperto" e da sentenza :asd::asd::asd::asd:
Ma vai a farti un giro va...
No, caro, sei tu che siccome c'é stata una leggera allussione al Windows più adatto sui client, come al solito hai capito quel che volevi capire.
Ti ha semplicemente spiegato perchè btrfs non sia ancora valido quanto ZFS, that's it.
Peccato che quello abbia postato 5-6 feature in croce, mentre Samael almeno 30 messaggi, rofl. Il "broken by design" non l'ha "battezzato" lui.....
Per Redhat non saprei dal momento che ad agosto l'aveva abbandonato. L'hanno ripreso?
Comunque....sì, può essere stato un po' brusco nei toni, ma ha spiegato i motivi a)in base alla sua esperienza personale b)in base al panorama che ha visto da spettatore cosciente....(tra l'altro ha spiegato pure che viene utilizzato in contesti controllati, ma non mi soffermerò più di tanto su questo punto).
Riguardo al perché l'ho citato: ti ho voluto far notare la tua incoerenza, tutto qui :).
Tu vatti a disintossicare che ne hai bisogno.
 
@e_ale92 versione 5.3:
Codice:
#!/bin/bash
####################################################################################################################
# Gestione AUR v5.3
# Script di aggiornamento/inserimento/rimozione pacchetti installati da AUR, by rebellion
#
# Da lanciare SOLO tramite terminale per visualizzare messaggi di dialogo con lo script
#
# Per il manuale d'uso digitare: (sh )/path/to/file -h
# Gli aggiornamenti sono organizzati in ~/.cache/AUR/$nomepacchetto dove sono presenti PKGBUILD, pkg compilato
#  e lo snapshot scaricato .tar.gz
# Licenza GPL
####################################################################################################################
controllo_dipendenze () {
   check_dip_aur="ok" ; a="\"Depends\"" ; aa="\",\""
   dipendenze=$(curl -s "https://aur.archlinux.org/rpc.php?v=5&type=info&arg=$package_name")
   make_dip=${dipendenze##*MakeDepends} ; if [ "$make_dip" = "$dipendenze" ] ; then make_dip="nessuna" ; else make_dip=${make_dip%%]*} ; make_dip=${make_dip:4} ; make_dip=${make_dip:0: -1} ; make_dip=${make_dip//$aa/ } ; fi
   main_dip=${dipendenze##*$a} ; if [ "$main_dip" = "$dipendenze" ] ; then main_dip="nessuna" ; else main_dip=${main_dip%%]*} ; main_dip=${main_dip:3} ; main_dip=${main_dip:0: -1} ; main_dip=${main_dip//$aa/ } ; fi
   opt_dip=${dipendenze##*OptDepends} ; if [ "$opt_dip" = "$dipendenze" ] ; then opt_dip="nessuna" ; else opt_dip=${opt_dip%%]*} ; opt_dip=${opt_dip:4} ; opt_dip=${opt_dip:0: -1} ; opt_dip=${opt_dip//$aa/ } ; fi
   echo "DIPENDENZE:"
   if [ "$main_dip" != "nessuna" ] ; then
      numero_dipendenze=$(($(grep -o " " <<<"$main_dip" | wc -l)+1))
      for ((ii=1;ii<=$numero_dipendenze;ii++)) ; do dip=$(echo $main_dip | awk -v xx=$ii '{print$xx}') ; dip=${dip%%>*} ; dip=${dip%%<*} ; dip=${dip%%=*} ; if pacman -Qs $dip &>/dev/null ; then dips="${LIGHT_WHITE}"$dip"${NC}-----> ${LIGHT_GREEN}installata${NC}" ; else dips="${LIGHT_WHITE}"$dip"${NC}-----> ${LIGHT_RED}non installata${NC}" ; check_aur_dip="no" ; fi
         if pacman -Ss $dip &>/dev/null ; then dips=$dips"(${LIGHT_WHITE}community${NC})" ; else dips=$dips"(${LIGHT_WHITE}AUR${NC})" ; fi
         echo -e $dips
      done
   else echo -e "${LIGHT_WHITE}NESSUNA dipendenza richiesta.${NC}"
   fi
   echo -e "\nDIPENDENZE OPZIONALI:"
   if [ "$opt_dip" != "nessuna" ] ; then
      numero_dipendenze=$(($(grep -o " " <<<"$opt_dip" | wc -l)+1))
      for ((ii=1;ii<=$numero_dipendenze;ii++)) ; do dip=$(echo $opt_dip | awk -v xx=$ii '{print$xx}') ; dip=${dip%%>*} ; dip=${dip%%<*} ; dip=${dip%%=*} ; if pacman -Qs $dip &>/dev/null ; then dips="${LIGHT_WHITE}"$dip"${NC}-----> ${LIGHT_GREEN}installata${NC}" ; else dips="${LIGHT_WHITE}"$dip"${NC}-----> ${LIGHT_RED}non installata${NC}" ; fi
         if pacman -Ss $dip &>/dev/null ; then dips=$dips"(${LIGHT_WHITE}community)" ; else dips=$dips"(${LIGHT_WHITE}AUR${NC})" ; fi
         echo -e $dips
      done
   else echo -e "${LIGHT_WHITE}NESSUNA dipendenza opzionale richiesta.${NC}"
   fi
   echo -e "\nDIPENDENZE PER LA COMPILAZIONE (MAKE):"
   if [ "$make_dip" != "nessuna" ] ; then
      numero_dipendenze=$(($(grep -o " " <<<"$make_dip" | wc -l)+1))
      for ((ii=1;ii<=$numero_dipendenze;ii++)) ; do dip=$(echo $make_dip | awk -v xx=$ii '{print$xx}') ; dip=${dip%%>*} ; dip=${dip%%<*} ; dip=${dip%%=*} ; if pacman -Qs $dip &>/dev/null ; then dips="${LIGHT_WHITE}"$dip"${NC}-----> ${LIGHT_GREEN}installata${NC}" ; else dips="${LIGHT_WHITE}"$dip"${NC}-----> ${LIGHT_RED}non installata${NC}" ; check_aur_dip="no" ; fi
         if pacman -Ss $dip &>/dev/null ; then dips=$dips"(${LIGHT_WHITE}community${NC})" ; else dips=$dips"(${LIGHT_WHITE}AUR${NC})" ; fi
         echo -e $dips
      done
   else echo -e "${LIGHT_WHITE}NESSUNA dipendenza per la compilazione richiesta.${NC}"
   fi
}
updating () {
      risultato=""
      for ((i=1;i<=$numero;i++)) ; do
         clear
         echo -n "Controllo connessione internet..."
         if ping -q -c 1 -W 1 8.8.8.8 >/dev/null || ping -q -c 1 -W 1 google.com >/dev/null ; then
            echo -e "${LIGHT_WHITE}Connessione ok${NC}"
            package_name=$(echo $update | awk -v x=$i '{print$x}')
            echo -e "Installazione ${LIGHT_WHITE}$package_name${NC}:"
            package_name_tar=$package_name".tar.gz" ; echo -en "ricerca ${LIGHT_WHITE}$package_name_tar${NC}..."
            package_name_tar_old=$package_name_tar".old"
            package_dir="/home/$USER/.cache/AUR" ; [[ -d "$package_dir" ]] || mkdir /home/$USER/.cache/AUR
            package_path="/home/$USER/.cache/AUR/$package_name_tar" ; package_path_old=$package_path".old"
            package_dir_name="/home/$USER/.cache/AUR/$package_name"
            package_dir_name_old=$package_dir_name"_old"
            echo "fatto." ; echo -n "Ricerca versioni..."
            versione_new=$(curl -s "https://aur.archlinux.org/rpc.php?v=5&type=info&arg=$package_name" | grep "Version") ; outofdate=$(echo $versione_new | grep "OutOfDate\":null") ; [[ "$outofdate" = "" ]] && outofdate="(OutOfDate)" || outofdate=""
            versione_new=${versione_new//,/ } ; versione_new=$(echo $versione_new | awk '{print$8}') ; versione_new=${versione_new:11} ; versione_new=${versione_new:0: -1}$outofdate
            versione_old=$(pacman -Qi $package_name | grep "Versione" | awk '{print$3}')
            echo "fatto." ; echo -e "Versione installata: ${LIGHT_WHITE}$versione_old${NC}\nVersione da installare: ${LIGHT_WHITE}$versione_new${NC}"
            echo -e "\nControllo dipendenze del pacchetto ${LIGHT_WHITE}$package_name${NC}:\n"
            controllo_dipendenze
            pkg="n"
            if [ -f "$package_dir/$package_name/PKGBUILD" ] ; then
               echo ; read -p "Vuoi consultare il PKGBUILD in locale di $package_name prima di aggiornare? [s/n]" pkg
               if [ "$pkg" = "s" ] ; then clear ; echo -e "${LIGHT_WHITE}$package_dir/$package_name/PKGBUILD${NC}\n" ; cat $package_dir/$package_name/PKGBUILD ; premi_invio ; fi
            else
               echo ; echo -e "${LIGHT_WHITE}PKGBUILD${NC} in $package_dir/$package_name ${LIGHT_WHITE}assente${NC}." ; premi_invio
            fi
            if [ "$check_dip_aur" = "ok" ] && dialog --title "pacchetto $package_name" --backtitle "Gestore AUR" --yesno "Verranno installate eventuali dipendenze mancanti presenti in community. Confermi l'aggiornamento?" 7 60 ; then clear
               [[ -d "$package_dir_name" ]] && mv $package_dir_name $package_dir_name_old
               echo -e "Aggiornamento ${LIGHT_WHITE}"$package_name"${NC} in corso, non spengere il pc o la connessione.\nbackup ${LIGHT_WHITE}"$package_dir_name"${NC}---> fatto\nbackup ${LIGHT_WHITE}"$package_name_tar"${NC}---> fatto"
               if wget -P $package_dir https://aur.archlinux.org/cgit/aur.git/snapshot/$package_name_tar ; then
                  tar -xvzf $package_dir/$package_name_tar -C $package_dir
                  read -p "Vuoi consultare il PKGBUILD scaricato? [s/n]" pkg
                  case $pkg in
                     "s")
                        if [ -e "/usr/bin/nano" ] ; then nano /home/$USER/.cache/AUR/$package_name/PKGBUILD ; else echo -e "Editor ${LIGHT_WHITE}nano${NC} non installato.\nVuoi installarlo adesso?" ; read -p "[s=si/n=no]" nan ; [[ "$nan" = "s" ]] && echo "${LIGHT_WHITE}sudo pacman -S nano..." && sudo pacman -S nano && nano /home/$USER/.cache/AUR/$package_name/PKGBUILD ; fi
                     ;;
                  esac
                  echo ; read -p "Confermi l'aggiornamento? [s/n]" pkg
                  if [ "$pkg" = "s" ] ; then
                     echo "Compilazione (makepkg) in corso..." ; export package_name_makepkg=$package_name
                     gnome-terminal --geometry 75x25 --hide-menubar --title="MAKEPKG ==> $package_name_makepkg" -e 'sh -c "cd /home/$USER/.cache/AUR/$package_name_makepkg ; if makepkg -s ; then echo ok > /home/$USER/.cache/AUR/$package_name_makepkg/makepkg_check ; fi ; read -sp \"[ premi invio per continuare ]\""' 2>/dev/null
                     gt_mc="ok" ; while [ "$gt_mc" != "" ] ; do gt_mc=$(ps aux | grep "[m]akepkg -s") ; done
                     if [ -f /home/$USER/.cache/AUR/$package_name/makepkg_check ] ; then
                        tput cuu 1 ; echo "Compilazione (makepkg) terminata con successo."
                        echo -e "Disinstallazione ${LIGHT_WHITE}$package_name${NC}" ; sudo pacman -R $package_name
                        echo -e "Installazione ${LIGHT_WHITE}$package_name${NC} scaricato" ; sudo pacman -U *.pkg.tar.xz --noconfirm
                        [[ -f "$package_dir_name_old"/"$package_name_tar" ]] && mv "$package_dir_name_old"/"$package_name_tar" /home/$USER/.cache/AUR/$package_name_tar".old"
                        [[ -d "$package_dir_name_old" ]] && echo -en "Rimozione ${LIGHT_WHITE}$package_dir_name_old${NC} di backup..." && rm -r $package_dir_name_old && echo "fatto."
                        echo -en "Pulizia cartella di compilazione ${LIGHT_WHITE}$package_dir_name${NC}..."
                        package_pkg=$(find /home/$USER/.cache/AUR/$package_name -type f -name "$package_name*" | grep "pkg.tar.xz") ; mv $package_pkg $package_dir
                        pkgbuildnew="PKGBUILDnew" ; mv /home/$USER/.cache/AUR/$package_name/PKGBUILD $package_dir/$pkgbuildnew
                        rm -rf $package_dir_name ; mkdir $package_dir/$package_name
                        package_pkg=$(find /home/$USER/.cache/AUR -type f -name "$package_name*" | grep "pkg.tar.xz") ; mv $package_pkg $package_dir_name
                        mv /home/$USER/.cache/AUR/$pkgbuildnew $package_dir_name/PKGBUILD
                        package_targz=$(find /home/$USER/.cache/AUR -type f -name "$package_name*" | grep ".tar.gz") ; mv $package_targz $package_dir_name
                        [[ -f /home/$USER/.cache/AUR/$package_name_tar_old ]] && mv /home/$USER/.cache/AUR/$package_name_tar_old /home/$USER/.cache/AUR/$package_name
                        echo -e "${LIGHT_WHITE}fatto${NC}" ; sleep 1
                        dialog --title "pacchetto $package_name" --backtitle "Gestore AUR" --msgbox "Aggiornamento eseguito!" 7 60 ; clear ; risultato=$risultato" "${LIGHT_WHITE}$package_name${NC}"-->${LIGHT_GREEN}installato${NC}\n"
                     else
                        tput cuu 1 ; echo "Compilazione (makepkg) abortita.   "
                        echo "Aggiornamento fallito."
                        echo -en "Rimozione cartella ${LIGHT_WHITE}$package_dir_name${NC} (cartella scompattata ${LIGHT_WHITE}$package_name_tar${NC} scaricato) e ripristino backup..."
                        rm -rf $package_dir/$package_name
                        [[ -f "$package_dir"/"$package_name_tar" ]] && rm $package_dir/$package_name_tar
                        [[ -d "$package_dir_name_old" ]] && mv $package_dir_name_old $package_dir_name
                        echo "fatto."
                        premi_invio
                        risultato=$risultato" "${LIGHT_WHITE}$package_name${NC}"-->${LIGHT_RED}non_installato_compilazione_interrotta(make)${NC}\n"
                     fi
                  else
                     risultato=$risultato" "${LIGHT_WHITE}$package_name${NC}"-->${LIGHT_RED}non_installato_per_scelta_utente${NC}\n"
                     echo -en "Rimozione cartella ${LIGHT_WHITE}$package_dir_name${NC} (cartella scompattata ${LIGHT_WHITE}$package_name_tar${NC} scaricato) e ripristino backup..."
                     rm -r $package_dir/$package_name
                     [[ -f "$package_dir"/"$package_name_tar" ]] && rm $package_dir/$package_name_tar
                     [[ -d "$package_dir_name_old" ]] && mv $package_dir_name_old $package_dir_name
                     echo "fatto." ; sleep 1
                  fi
               else
                  [[ -d "$package_dir_name_old" ]] && mv $package_dir_name_old $package_dir_name
                  [[ -f "$package_dir"/"$package_name_tar" ]] && rm $package_dir/$package_name_tar
                  dialog --title "pacchetto $package_name" --backtitle "Gestore AUR" --msgbox "Aggiornamento fallito, sembra che AUR non contenga il pacchetto da aggiornare. Ripristinato il backup del pacchetto." 7 60 ; clear
                  risultato=$risultato" "${LIGHT_WHITE}$package_name${NC}"-->${LIGHT_RED}non_installato_non_presente_in_AUR${NC}\n"
               fi
            else
               [[ "$check_dip_aur" = "ok" ]] && risultato=$risultato" "${LIGHT_WHITE}$package_name${NC}"-->${LIGHT_RED}non_installato_per_scelta_utente${NC}\n" || risultato=$risultato" "${LIGHT_WHITE}$package_name${NC}"-->${LIGHT_RED}non installato per mancanza dipendenze AUR${NC}\n"
            fi
         else
            dialog --title "Controllo connessione internet" --backtitle "Gestore AUR" --msgbox "Connessione assente, aggiornamento fallito. $package_name ripristinato all'ultima versione." 7 60 ; clear
            risultato=$risultato" "${LIGHT_WHITE}$package_name${NC}"-->${LIGHT_RED}non_installato_per_assenza_connessione_internet${NC}\n"
         fi
      done
      clear ; echo "Riassunto aggiornamento:" ; echo -e "\n$risultato" ; premi_invio_gnome_term
}
installer () {
  echo -en "\n Controllo connessione internet..."
  if ping -q -c 1 -W 1 8.8.8.8 >/dev/null || ping -q -c 1 -W 1 google.com >/dev/null ; then
   echo -e "${LIGHT_WHITE}connesso a internet.${NC}\n"
   PACK_locale=$(pacman -Q $PACK 2>/dev/null)
   PACK_aur=$(curl -s "https://aur.archlinux.org/rpc.php?v=5&type=info&arg=$PACK")
   PACK_aur_check=${PACK_aur##*resultcount} ; PACK_aur_check=${PACK_aur_check:2:1}
   if [ "$PACK_locale" != "" ] ; then pacman -Qi $PACK ; premi_invio_gnome_term
   else
      case $PACK_aur_check in
         "0")
            echo -e "${LIGHT_WHITE}$PACK${LIGHT_RED} non presente in AUR.${NC}" ; premi_invio_gnome_term ;;
         * )
            aaaa="\"" ; stampa=$(echo $PACK_aur | grep Name) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*Name} && stampa=${stampa%%,*} && stampa=${stampa:3} && stampa=${stampa:0: -1} ; echo -e "\nNome                    : ${LIGHT_WHITE}$stampa${NC}"
             stampa=$(echo $PACK_aur | grep Version) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*Version} && stampa=${stampa%%,*} && stampa=${stampa:3} && stampa=${stampa:0: -1} ; echo -e "Versione                : ${LIGHT_WHITE}$stampa${NC}"
            stampa=$(echo $PACK_aur | grep Description) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*Description} ; stampa=${stampa%%,*} ; stampa=${stampa:3} ; stampa=${stampa:0: -2} ; echo -e "Descrizione             : ${LIGHT_WHITE}$stampa${NC}"
            aaa="\"URL\"" ; stampa=$(echo $PACK_aur | grep "$aaa") ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*$aaa} ; stampa=${stampa%%,*} ; stampa=${stampa:2} ; stampa=${stampa:0: -1} && stampa=${stampa//\\/} ; echo -e "URL                     : ${LIGHT_WHITE}${stampa// /}${NC}"
            aaa="\"Depends\"" ; stampa=$(echo $PACK_aur | grep "$aaa") ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*$aaa} && stampa=${stampa%%]*} && stampa=${stampa:2} && stampa=${stampa//,/ } ; echo -e "Dipendenze              : ${LIGHT_WHITE}${stampa//$aaaa/}${NC}"
            stampa=$(echo $PACK_aur | grep OptDepends) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*OptDepends} && stampa=${stampa%%]*} && stampa=${stampa:3} && stampa=${stampa//,/ } ; echo -e "Dipendenze Opzionali    : ${LIGHT_WHITE}${stampa//$aaaa/}${NC}"
            stampa=$(echo $PACK_aur | grep MakeDepends) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*MakeDepends} && stampa=${stampa%%]*} && stampa=${stampa:3} && stampa=${stampa//,/ } ; echo -e "Dipendenze Compilazione : ${LIGHT_WHITE}${stampa//$aaaa/}${NC}"
            stampa=$(echo $PACK_aur | grep OutOfDate) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*OutOfDate} && stampa=${stampa%%,*} && stampa=${stampa:2} ; echo -e "Flag                    : ${LIGHT_WHITE}$stampa${NC}"
            stampa=$(echo $PACK_aur | grep Maintainer) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*Maintainer} && stampa=${stampa%%,*} && stampa=${stampa:3} && stampa=${stampa:0: -1} ; echo -e "Mainteiner              : ${LIGHT_WHITE}$stampa${NC}"
            stampa=$(echo $PACK_aur | grep Conflicts) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*Conflicts} && stampa=${stampa%%]*} && stampa=${stampa:3} && stampa=${stampa//,/ } ; echo -e "Confligge               : ${LIGHT_WHITE}${stampa//$aaaa/}${NC}"
            stampa=$(echo $PACK_aur | grep Provides) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*Provides} && stampa=${stampa%%]*} && stampa=${stampa:3} && stampa=${stampa//,/ } ; echo -e "Fornisce                : ${LIGHT_WHITE}${stampa//$aaaa/}${NC}"
            stampa=$(echo $PACK_aur | grep Replaces) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*Replaces} && stampa=${stampa%%]*} && stampa=${stampa:3} && stampa=${stampa//,/ } ; echo -e "Rimpiazza               : ${LIGHT_WHITE}${stampa//$aaaa/}${NC}"
            stampa=$(echo $PACK_aur | grep License) ; [[ "$stampa" != "" ]] && stampa=${PACK_aur##*License} && stampa=${stampa%%,*} && stampa=${stampa:3} && stampa=${stampa:0: -1} ; echo -e "Licenze                 : ${LIGHT_WHITE}${stampa//$aaaa}${NC}\n"
            package_name=$PACK ; controllo_dipendenze
            if [ "$check_dip_aur" = "ok" ] ; then              
               read -n 1 -p "Vuoi installarlo (assieme a eventuali dipedenze non opzionali mancanti)? [s=si/n=no]" ins
               if [ "$ins" = "s" ] ; then
                check=$(ps aux | grep "[s]udo pacman")
                if [ "$check" = "" ] ; then
                  echo -e "\nInstallazione ${LIGHT_WHITE}$PACK${NC}:"
                  [[ ! -d "/home/$USER/.cache/AUR" ]] && echo -en "Creazione cartella ${LIGHT_WHITE}/home/$USER/.cache/AUR${NC}..." && mkdir /home/$USER/.cache/AUR && echo "fatto."
                  echo -en "Creazione cartella ${LIGHT_WHITE}/home/$USER/.cache/AUR/$PACK${NC}..." && mkdir /home/$USER/.cache/AUR/$PACK && echo "fatto."
                  wget -P /home/$USER/.cache/AUR https://aur.archlinux.org/cgit/aur.git/snapshot/$PACK".tar.gz"
                  tar -xvzf /home/$USER/.cache/AUR/$PACK".tar.gz" -C /home/$USER/.cache/AUR
                  echo ; read -p "Vuoi consultare il PKGBUILD scaricato? [s/n]" pkg
                  case $pkg in
                     "s")
                        if [ -e "/usr/bin/nano" ] ; then nano /home/$USER/.cache/AUR/$PACK/PKGBUILD ; else echo -e "Editor ${LIGHT_WHITE}nano${NC} non installato.\nVuoi installarlo adesso?" ; read -p "[s=si/n=no]" nan ; [[ "$nan" = "s" ]] && echo "${LIGHT_WHITE}sudo pacman -S nano..." && sudo pacman -S nano && nano /home/$USER/.cache/AUR/$PACK/PKGBUILD ; fi
                     ;;
                  esac
                  echo ; read -p "Confermi l'installazione? [s/n]" pkg
                  if [ "$pkg" = "s" ] ; then
                     echo "Compilazione (makepkg) in corso.."
                     export package_name_makepkg=$PACK
                     gnome-terminal --geometry 75x25 --hide-menubar --title="MAKEPKG ==> $package_name_makepkg" -e 'sh -c "cd /home/$USER/.cache/AUR/$package_name_makepkg ; if makepkg -s ; then echo ok > /home/$USER/.cache/AUR/$package_name_makepkg/makepkg_check ; fi ; read -sp \"[ premi invio per continuare ]\""' 2>/dev/null
                     gt_mc="ok" ; while [ "$gt_mc" != "" ] ; do gt_mc=$(ps aux | grep "[m]akepkg -s") ; done
                     if [ -f /home/$USER/.cache/AUR/$PACK/makepkg_check ] ; then
                        tput cuu 1 ; echo "Compilazione (makepkg) terminata con successo."
                        package=$(find /home/$USER/.cache/AUR/$PACK -maxdepth 1 -type f -name "*.pkg.tar.xz" | grep "$PACK") ; package=${package##*/}
                        if sudo pacman -U /home/$USER/.cache/AUR/$PACK/$package ; then
                           echo -en "Pulizia cartella ${LIGHT_WHITE}/home/$USER/.cache/AUR/$PACK${NC}..."
                           mv /home/$USER/.cache/AUR/$PACK/$package /home/$USER/.cache/AUR
                           mv /home/$USER/.cache/AUR/$PACK/PKGBUILD /home/$USER/.cache/AUR
                           mv /home/$USER/.cache/AUR/$PACK/$package_tar /home/$USER/.cache/AUR
                           rm -rf /home/$USER/.cache/AUR/$PACK && mkdir /home/$USER/.cache/AUR/$PACK
                           mv /home/$USER/.cache/AUR/$package /home/$USER/.cache/AUR/$PACK
                           mv /home/$USER/.cache/AUR/PKGBUILD /home/$USER/.cache/AUR/$PACK
                           mv /home/$USER/.cache/AUR/$PACK".tar.gz" /home/$USER/.cache/AUR/$PACK
                           echo "fatto." ; echo "Installazione terminata." ; premi_invio_gnome_term
                        else
                           echo -n "Rimozione cartella di compilazione e snapshot scaricato..."
                           rm -rf /home/$USER/.cache/AUR/$PACK && rm /home/$USER/.cache/AUR/$PACK".tar.gz" ; echo "fatto." ; premi_invio_gnome_term
                        fi
                     else tput cuu 1 ; echo "Compilazione (makepkg) abortita.  "
                        echo "Installazione fallita."
                        echo -ne "Rimozione cartella ${LIGHT_WHITE}/home/$USER/.cache/AUR/$PACK${NC} e ${LIGHT_WHITE}$PACK.tar.gz${NC} scaricato.." && rm -rf /home/$USER/.cache/AUR/$PACK && rm /home/$USER/.cache/AUR/$PACK".tar.gz" && echo "fatto." ; premi_invio_gnome_term
                     fi
                  else echo -ne "Rimozione cartella ${LIGHT_WHITE}/home/$USER/.cache/AUR/$PACK${NC} e $PACK.tar.gz scaricato.." && rm -rf /home/$USER/.cache/AUR/$PACK && rm /home/$USER/.cache/AUR/$PACK".tar.gz" && echo "fatto."
                  fi
                else dialog --title "Controllo gestione pacchetti (PACMAN)" --backtitle "Gestore AUR" --msgbox "C'è già in esecuzione il gestore pacchetti, attenderne la fine." 7 60
                fi
               fi
            else echo -e "\nMancano alcune dipendenze installabili da AUR.\n" ; premi_invio_gnome_term
            fi
         ;;
      esac
   fi
  else dialog --title "Controllo connessione internet" --backtitle "Gestore AUR" --msgbox "Sembra che manchi la connessione, impossibile proseguire." 7 60
  fi
}
remover () {
   if sudo pacman -R $AUR ; then
      echo -en "\nRimozione cartella ${LIGHT_WHITE}/home/$USER/.cache/AUR/$AUR${NC}..."
      rm -r /home/$USER/.cache/AUR/$AUR
      echo "fatto" ; sleep 1
   fi
   premi_invio_gnome_term
}
controllo_pacchetto () {
   quit=0 ; for i in $(pacman -Qqm) ; do if [ "$i" = "$AUR" ] ; then quit=1 ; fi ; done
   [[ $quit -eq 0 ]] && echo -e "$name: pacchetto '${LIGHT_WHITE}$AUR${NC}' non installato." && premi_invio_gnome_term && exit 0
}
premi_invio () {
   echo ; read -sp "[ premi invio per continuare ]"
}
premi_invio_gnome_term () {
   if [ "$PARENT_COMMAND" = "gnome-terminal-" ] ; then premi_invio ; fi
}
PARENT_COMMAND="$(ps -o comm= $PPID)"
[[ -t 1 ]] && TERMINAL="term" || TERMINAL="no-term"
if [ "$PARENT_COMMAND" != "bash" ] && [ "$PARENT_COMMAND" != "gnome-terminal-" ] ; then notify-send "ERRORE: avvia il Gestore AUR da terminale." ; exit 0 ; fi
name=$0 ; name=${name##*/}
LIGHT_RED='\033[1;31m' ; LIGHT_GREEN='\033[1;32m' ; LIGHT_WHITE='\033[1;37m' ; NC='\033[0m'
if pacman -Q dialog &>/dev/null ; then
   if [ "$#" -lt 3 ] ; then
      if [ "$1" = "-p" ] && [ "$2" = "" ] ; then clear ; read -p "Inserisci il pacchetto da aggiornare> " AUR ; numero_AUR=1 ; controllo_pacchetto
      elif [ "$1" != "-p" ] && [ "$1" != "-i" ] && [ "$1" != "-h" ] && [ "$1" != "" ] && [ "$1" != "-r" ] ; then echo -e "$name: opzione '${LIGHT_WHITE}$1${NC}' non valida.\n$name: prova '${LIGHT_WHITE}-h${NC}' per help e info." ; premi_invio_gnome_term ; exit 0
      elif [ "$1" = "-p" ] && [ "$2" != "" ] ; then AUR=$2 ; numero_AUR=1 ; controllo_pacchetto
      elif [ "$1" = "" ] ; then
         AUR=$(pacman -Qqm)
         numero_AUR=$(pacman -Qqm | wc -l)
      elif [ "$1" = "-i" ] ; then [[ "$2" = "" ]] && read -p "Inserisci il pacchetto AUR da installare> " PACK || PACK=$2 ; installer ; echo -e "\n${LIGHT_GREEN}*****$name terminato*****${NC}" && sleep 2 ; exit 0
      elif [ "$1" = "-r" ] ; then [[ "$2" = "" ]] && read -p "Inserisci il pacchetto da rimuovere> " AUR || AUR="$2" ; controllo_pacchetto ; remover ; exit 0
      elif [ "$1" = "-h" ] ; then clear ; echo -e "MANUALE $name:\n\n${LIGHT_WHITE}NOME E DESCRIZIONE${NC}\n   $name - utility aggiornamento/installazione pacchetti AUR\n\n${LIGHT_WHITE}SINOSSI${NC}\n   ${LIGHT_WHITE}Uso${NC}\n      $name [OPZIONI] [nomepacchetto]\n\n${LIGHT_WHITE}OPZIONI\n   -p,\n${NC}      aggiornamento con richiesta del nomepacchetto\n\n${LIGHT_WHITE}   -p NOMEPACCHETTO,\n${NC}      aggiornamento NOMEPACCHETTO\n\n${LIGHT_WHITE}   -i,${NC}\n      installazione con richiesta del nomepacchetto\n\n${LIGHT_WHITE}   -i NOMEPACCHETTO,\n${NC}      installazione NOMEPACCHETTO\n\n${LIGHT_WHITE}   -r,${NC}\n      rimozione con richiesta del nomepacchetto\n\n${LIGHT_WHITE}   -r NOMEPACCHETTO,\n${NC}      rimozione NOMEPACCHETTO\n\n${LIGHT_WHITE}   -h,\n${NC}      manuale d'uso\n\n\n${LIGHT_GREEN}*****SOFTWARE BY REBELLION, FREE AND WITH GPL LICENSE*****${NC}" ; premi_invio_gnome_term ; exit 0
      else exit 0
      fi
   else echo -e "$name: troppi argomenti -- ${LIGHT_WHITE}$@${NC}.\n$name: prova '${LIGHT_WHITE}-h${NC}' per help e info." ; premi_invio_gnome_term ; exit 0
   fi
   if [ "$(pacman -Qqm | grep -w "$AUR")" = "" ] ; then echo -e "$name: pacchetto ${LIGHT_WHITE}$AUR${NC} non trovato." ; premi_invio_gnome_term ; exit 0 ; fi
   check=$(ps aux | grep "[s]udo pacman")
   if [ "$check" = "" ] ; then
      clear && echo -n "Controllo connessione internet..."
      if ping -q -c 1 -W 1 8.8.8.8 >/dev/null || ping -q -c 1 -W 1 google.com >/dev/null ; then
         echo -e "${LIGHT_WHITE}Connesso a internet.${NC}"
         echo -e "\nCONTROLLO PACCHETTI AGGIORNABILI, attendere..."
         aur=()
         aur_ok=()
         update=""
         count=1
         for ((i=0;i<$numero_AUR;i++)) ; do ii=$((i+1)) ; aur[$i]=$(echo $AUR | awk -v x=$ii '{print$x}')
            tput cuu 1 ; tput cuf 47 ; echo "[$(($i+1))/$numero_AUR]" ; tput el ; echo -e ${LIGHT_WHITE}${aur[$i]}${NC} ; tput cuu 1
            versione_new=$(curl -s "https://aur.archlinux.org/rpc.php?v=5&type=info&arg=${aur[$i]}" | grep "Version") ; outofdate=$(echo $versione_new | grep "OutOfDate\":null")
            if [ "$versione_new" != "" ] ; then
               versione_new=${versione_new//,/ } ; versione_new=$(echo $versione_new | awk '{print$8}') ; versione_new=${versione_new:11} ; versione_new=${versione_new:0: -1}
               versione_old=$(pacman -Qi ${aur[$i]} | grep "Versione" | awk '{print$3}')
               package_path=$(find /home/$USER -type f -name "${aur[$i]}.tar.gz") ; package_path=$(echo $package_path | awk '{print$1}')
               [[ $package_path != "" ]] && hash_old=$(md5sum $package_path | awk '{print$1}') || hash_old=""
               [[ $hash_old != "" ]] && hash_new=$(curl -s https://aur.archlinux.org/cgit/aur.git/snapshot/"${aur[$i]}.tar.gz" | md5sum | awk '{print$1}') || hash_new=""
               if [ "$versione_new" != "$versione_old" ] && ([ "$hash_old" != "$hash_new" ] || [ "$hash_old" = "" ]) ; then
                  if [ "$outofdate" != "" ] ; then descrizione="${LIGHT_GREEN}AGGIORNABILE${NC}" ; descr="AGGIORNABILE" ; else descrizione="${LIGHT_GREEN}AGGIORNABILE${NC}(${LIGHT_RED}OutOfDate${NC})" ; descr="AGGIORNABILE_(OutOfDate)" ; fi
                  if [ "$hash_old" = "" ] ; then descrizione=$descrizione"_firme_non_confrontabili" ; fi
                  aur_ok+=($count ${aur[$i]} off)
                  count=$(($count+1))
                  aur[$i]=${aur[$i]}" --->"$descrizione
               else if [ "$outofdate" != "" ] ; then descrizione="${LIGHT_WHITE}AGGIORNATO${NC}" ; else descrizione="${LIGHT_WHITE}AGGIORNATO${NC}(${LIGHT_RED}OutOfDate${NC})" ; fi ; aur[$i]=${aur[$i]}" --->"$descrizione
               fi
            else descrizione="${LIGHT_RED}NON PRESENTE IN AUR${NC}" ; aur[$i]=${aur[$i]}" --->"$descrizione
            fi
         done
         if [ "$aur_ok" = "" ] ; then
            dialog --title "Controllo pacchetti installati" --backtitle "Gestore AUR" --msgbox "Tutti i pacchetti AUR installati sono aggiornati alla versione più recente!" 7 60
         else
            tput cuu 1 ; tput el ; echo "RISULTATO RICERCA PACCHETTI AGGIORNABILI:"
            for ((i=0;i<$numero_AUR;i++)) ; do echo -e ${aur[$i]} ; done
            [[ ${#aur_ok[@]} -eq 3 ]] && echo -e "\tt=aggiorna il pacchetto | altro=esci" || echo -e "\tt=aggiorna tutto | s=seleziona aggiornamenti | altro=esci"
            read -n 1 -s azione
            if [ "$azione" = "s" ] && [ ${#aur_ok[@]} -gt 3 ] ; then
               exec 3>&1 ; select=$(dialog --backtitle "Gestore AUR" --checklist "Seleziona i pacchetti da aggiornare:" 20 70 ${#aur_ok[@]} ${aur_ok[@]} 2>&1 1>&3) ; exitcode=$? ; exec 3>&-
               for i in $select ; do update=$update" "${aur_ok[$(((3*$i)-2))]} ; done
               numero=$(grep -o " " <<<"$update" | wc -l)
               [[ "${update// /}" != "" ]] && updating
            elif [ "$azione" = "t" ] ; then numero=$((${#aur_ok[@]}/3))
               for ((i=0;i<$numero;i++)) ; do ii=$(( ($i*3)+1 )) ; update=$update" "${aur_ok[$ii]} ; done
               updating
            fi
         fi
      else
         dialog --title "Controllo connessione internet" --backtitle "Gestore AUR" --msgbox "Sembra che manchi la connessione, impossibile proseguire." 7 60
      fi
   else dialog --title "Controllo gestione pacchetti (PACMAN)" --backtitle "Gestore AUR" --msgbox "C'è già in esecuzione il gestore pacchetti, attenderne la fine." 7 60
   fi
else echo -e "\nsh $name: manca il pacchetto ${LIGHT_WHITE}dialog${NC}, vuoi installarlo (non richiede dipendenze)? [s=si/altro=no]" ; read dialogo
   case $dialogo in
      "s")
         sudo pacman -S dialog ;;
   esac
fi
clear ; echo -e "${LIGHT_GREEN}*****$name terminato*****${NC}" && sleep 1
exit 0
perfettamente funzionante, ho rivisto la gestione delle dipendenze e un paio di altre cosine, dovrebbe essere definitiva.:brindiamo:
se la vuoi anche in systray col controllo automatico degli aggiornamenti all'avvio di gnome fammelo sapere che ti mando il resto.
 
Pubblicità
Pubblicità
Indietro
Top