[GUIDA] Sviluppiamo i nostri software con BUC

« Older   Newer »
  Share  
vaillant86
view post Posted on 1/6/2010, 22:33




Su richiesta, posto questa guida che ho preparato nel corso della settimana scorsa con lo scopo di dare qualche "dritta" a chi si vuole cimentare nella programmazione, anche se non sa nulla in proposito.

Introduzione

Questa guida vuole essere un punto di riferimento per quelle persone che desiderano imparare a programmare con GNU/Linux. In essa verranno illustrati i passaggi da eseguire per realizzare dei semplici programmi dotati di interfaccia grafica, utilizzando il software BUC (Basta Un Clic). L'esempio sotto riportato si riferisce alla creazione di un programma che permette l'installazione del pacchetto “guake” presente nei repository ufficiali di Ubuntu e la sua successiva rimozione.

Requisiti

Prima di procedere con le spiegazioni, è necessario avere installato sul proprio computer i seguenti pacchetti:

buc (versione 0.5.1 o superiore), lo trovate qui http://buc.billeragroup.net/?page_id=15;
dpkg-dev (versione 1.15 o superiore), lo trovate nei repository di Ubuntu;

Preparazione delle directory di lavoro

Il software BUC permette di dotare di interfaccia grafica un semplice script tramite il quale vogliamo che sia eseguita un'operazione. Iniziamo a creare le directory che ci servono nella /home. La struttura è questa:

guakeinstall_0.1-0_i386 (cartella principale)

DEBIAN

etc → xdg → scripts

usr → local → buc → icons

usr → share → applications

usr → share → icons → hicolor → 48x48 → apps

In questo modo, nella vostra /home verrà creata la directory principale (c.d. radice) e le varie sottodirectory. Analizziamo a cosa servono:

la directory DEBIAN contiene i file che consentiranno al pacchetto .deb che creeremo di mostrare all'utente le informazioni relative al pacchetto stesso.
la directory /etc/xdg/scripts contiene lo script che andremo a creare.
la directory /usr/local/buc/icons contiene il logo che vorremo inserire nel programma che creeremo.
la directory /usr/share/applications contiene il collegamento che si andrà a creare nel menu
la directory /usr/share/icons/hicolor/48x48/apps contiene l'icona del collegamento di cui sopra

Lo script

Spostiamoci nella directory /etc/xdg/scripts che abbiamo creato prima e creiamo un nuovo file di testo, diamogli come “guakeinstall.mc” e apriamolo. Al suo interno dovremo iniziare a scrivere il nostro script. La sintassi seguita da BUC è quella dei file xml. Per prima cosa inseriamo:

CODICE
<?xml version="1.0"?>
<config>
</config>


La prima stringa indica la versione del protocollo xml da utilizzare, mentre la seconda e la terza indicano rispettivamente l'inizio e la fine del “corpo” dello script. In mezzo dovremo iniziare a scrivere ciò che ci serve. Aggiungiamo l'intestazione, in modo che il file diventi così:

CODICE
<?xml version="1.0"?>
<config>
<label> echo "Questo software permette di installare e disinstallare il pacchetto Guake" </label>
</config>


Qualunque sia la descrizione che volete inserire, bisogna metterla tra i tag "label".

Ora è il momento di inserire le istruzioni che lo script dovrà eseguire e BUC dovrà interpretare. Innanzitutto dobbiamo creare un pulsante tramite il quale far eseguire l'operazione che vogliamo, in questo caso l'installazione di Guake. Per inserire un pulsante, la sintassi è la seguente:

CODICE
<button title="nome_pulsante">
azione che vogliamo compiere
</button>


Come si può notare, anche il pulsante segue lo standard del protocollo xml, quindi viene “racchiuso” tra i tag "button". Mettiamo in pratica quanto detto sopra:

CODICE
<button title=”Installa Guake”>
gksudo apt-get install guake
</button>


e quindi il file avrà questo aspetto:
CODICE
<?xml version="1.0"?>
<config>
<label> echo "Questo software permette di installare e disinstallare il pacchetto Guake" </label>
<button title=”Installa Guake”>
gksudo apt-get install guake
</button>
</config>


Adesso, avviando lo script e premendo il pulsante che abbiamo chiamato “Installa Guake”, verrà eseguita l'operazione che abbiamo specificato, ovvero “gksudo apt-get install guake”. Si usa gksudo invece si sudo in modo da avere la richiesta password tramite interfaccia grafica.

Allo stesso modo, inseriamo un pulsante per disinstallare lo stesso pacchetto. Per cui avremo il nostro file così composto:

CODICE
<?xml version="1.0"?>
<config>
<label> echo "Questo software permette di installare e disinstallare il pacchetto Guake" </label>
<button title="Installa Guake">
gksudo apt-get install guake
</button>
<button title="Disinstalla Guake">
gksudo apt-get remove guake
</button>
</config>


Ora il nostro script ha due pulsanti, che permettono di installare e disinstallare il software Guake.

Spazi, tabulazioni ed immagini

Il file è tecnicamente pronto, tuttavia è una buona norma quella di renderlo più leggibile e meno confusionario. Parliamo innanzitutto della tabulazione! Scrivere uno script sempre nello stesso modo è indifferente ai fini dell'esecuzione, ma una tabulazione più accurata rende il file più gradevole e più facilmente analizzabile in caso di bug o modifiche. Inseriamo quindi le tabulazioni appropriate:

CODICE
<?xml version="1.0"?>
<config>
<label> echo "Questo software permette di installare e disinstallare il pacchetto Guake" </label>
       <button title="Installa Guake">
               gksudo apt-get install guake
       </button>
       <button title="Disinstalla Guake">
               gksudo apt-get remove guake
       </button>
</config>


Il tag <config> e <label> non hanno rilevanza ai fini che ho scritto sopra, metre gli altri si! Per cui è necessario dare una tabulazione (ossia premere il tasto TAB) ad ogni istruzione. Come si può vedere, abbiamo dato una tabulazione al tag <button> e due tabulazioni al comando da eseguire.

In secondo luogo, gli spazi. Meglio dare qualche spazio tra i vari comandi. Ad esempio, così:

CODICE
<?xml version="1.0"?>
<config>
<label> echo "Questo software permette di installare e disinstallare il pacchetto Guake" </label>
<label> echo  "" </label>
       <button title="Installa Guake">
               gksudo apt-get install guake
       </button>
<label> echo "" </label>
       <button title="Disinstalla Guake">
               gksudo apt-get remove guake
       </button>
</config>


Come si vede, per dare uno spazio è sufficiente dare un'istruzione allo script allo stesso modo di inserire una descrizione, senza però scrivere nulla.

Infine, le immagini. Per inserire un'immagine bisogna procedere così: creare o prelevare un'immagine. Renderla in formato trasparente con GIMP salvarla in formato png. Scalarla in modo da non risultare eccessivamente vistosa. Le dimensioni consigliate sono tra 120x120 e 140x140. Poi andare nella directory creata in precedenza /usr/local/buc/icons ed copiare li l'immagine in questione. Bene, ora inseriamo l'istruzione dell'immagine nello script:

CODICE
<?xml version="1.0"?>
<config>
<hlayout>
       <img src="guake.png" align="center"/>
</hlayout>
<label> echo "Questo software permette di installare e disinstallare il pacchetto Guake" </label>
<label> echo "" </label>
       <button title="Installa Guake">
               gksudo apt-get install guake
       </button>
<label> echo "" </label>
       <button title="Disinstalla Guake">
               gksudo apt-get remove guake
       </button>
</config>


Per inserire le immagini, quindi, si usano i tag . “guake.png” è il nome che abbiamo dato all'immagine; questo file verrà cercato nella directory predefinita, cioè /usr/local/buc/icons. align=”center” indica la posizione che occuperà l'immagine all'interno del nostro programma, in questo caso al centro.

Di questa stessa immagine dovremo farne una copia, in formato 48x48, sempre in png. Essa va collocata nella directory guakeinstall_0.1-0_i386/usr/share/icons/hicolor/48x48/apps.

Come ultimo passaggio, andiamo a creare un file vuoto dentro la cartella guakeinstall_0.1-0_i386/usr/share/applications dandogli questa struttura:

CODICE
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=GuakeInstall
Exec=buc /etc/xdg/scripts/guakeinstall.mc
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=guake.png
Categories=Application
MimeType=text/buc;
GenericName[it_IT]=


chiamandolo “guakeinstall.desktop”

Completamento

Bene, finalmente il nostro script è pronto. Adesso bisogna provarlo. Apriamo un terminale e digitiamo
CODICE
buc ~/guakeinstall_0.1-0_i386/etc/xdg/scripts/guakeinstall.mc

e diamo Invio. Dovremmo ottenere un risultato ;)

Con lo script abbiamo finito ormai. Mettiamoci adesso a lavorare sulle directory. Partiamo dalla directory DEBIAN. Lì dovremo inserire un solo file, che verrà chiamato “control”. Questo file ha il compito di fornire i dettagli del pacchetto ad APT. Creiamolo dunque e apriamolo. La policy Debian indica come sintassi per questo file la seguente:

CODICE
Package: nome del pacchetto che stiamo creando
Version: versione del pacchetto
Section: sezione in cui inserirla nel gestore pacchetti
Priority: priorità del pacchetto
Installed-Size: peso in Kb
Depends: dipendenze (>=versione)
Maintainer: mantenitore del pacchetto e email
Architecture: architettura del pacchetto
Description: descrizione breve


Andiamo quindi ad inserire le nostre informazioni

CODICE
Package: guakeinstall
Version: 0.1-0
Section: utility
Priority: optional
Installed-Size: 30
Depends: buc (>=0.5.1)
Maintainer: Caio Sempronio <caiosempronio@prova.it>
Architecture: i386
Description: Permette di installare e disinstallare Guake


Salviamo e chiudiamo. Il pacchetto è ora pronto per essere creato.

Creazione del file DEB

Apriamo un terminale, assicuriamoci di essere nella directory che contiene la radice del nostro progetto e digitiamo:

CODICE
dpkg-deb --build guakeinstall_0.1-0_i386


diamo Invio e in un paio di secondi troveremo il pacchetto deb che abbiamo appena creato! Apritelo con doppio clic ed installatelo... in questo modo abbiamo installato il nostro software sul computer. Apriamo il menu “Applicazioni” → “Altro” e selezioniamo il nostro software...

Ecco fatto. Con questa guida potrete tranquillamente creare tutti i software che vi interessano, basta seguire le linee di base della programmazione xml.

Allego a questa guida un file compresso contenente:

- questa guida in pdf;
- la directory con i sorgenti del software che ho illustrato sopra;
- il deb del software che ho creato con il metodo spiegato;

Con affetto image

Download attachment
hikari.zip ( Number of downloads: 43 )

 
Top
shishimaru
view post Posted on 2/6/2010, 11:04




No,vabbè,adesso sei al culmine :D
 
Top
vaillant86
view post Posted on 2/6/2010, 14:06




Ihihih :P :P

Beh, sto solamente seguendo la filosofia di Ubuntu: il mio sapere diventa il vostro sapere ;)
 
Top
domx
view post Posted on 4/6/2010, 15:58




appena ho un po' di tempo la provo
P.S.:sei il migliore vaillant ;)
 
Top
vaillant86
view post Posted on 4/6/2010, 16:43




Esagggerato :D grazie comunque
 
Top
4 replies since 1/6/2010, 22:33   779 views
  Share