Module Writing it

From Lunar Linux
(Difference between revisions)
Jump to: navigation, search
(New page: __TOC__ Scrivere modules per Lunar può essere difficilissimo oppure facilissimo, ed è molto simile a seguire i passi per l'installazione di package manualmente. Ci sono parecchi...)
 
m
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
  
Scrivere [[modules]] per Lunar può essere difficilissimo oppure facilissimo, ed è molto simile a seguire i passi per l'installazione di [[package]] manualmente. Ci sono parecchie variabili a cui pensare durante la scrittura di un [[modules]] ed è difficile ottenere un buon risultato se sono le prime volte che li scrivete.
+
Scrivere [[modules|moduli]] per Lunar può essere difficilissimo oppure facilissimo, ed è molto simile a seguire i passi per l'installazione di [[package|pacchetti]] manualmente. Ci sono parecchie variabili a cui pensare durante la scrittura di un [[modules|moduli]] ed è difficile ottenere un buon risultato se sono le prime volte che li scrivete.
  
 
==Prima di iniziare==
 
==Prima di iniziare==
Prendete un pò di tempo per pensare ai motivi che vi spingono a scrivere un nuovo [[modules]] ci possono essere molte variabili che impediscono la scrittura di un [[modules]].
+
Prendete un pò di tempo per pensare ai motivi che vi spingono a scrivere un nuovo [[modules|modulo]] ci possono essere molte variabili che impediscono la scrittura di un [[modules|modulo]].
 
Ecco alcune linee guida...
 
Ecco alcune linee guida...
  
 
* Cercate se il pacchetto è già presente in Lunar [[moonbase]]. Nulla è peggio di scoprire di aver sprecato tempo per un lavoro già fatto.
 
* Cercate se il pacchetto è già presente in Lunar [[moonbase]]. Nulla è peggio di scoprire di aver sprecato tempo per un lavoro già fatto.
* Check the dependencies required for the module, and see if those also meet these requirements. Sometimes a module might take so much time to write that it's not worth it.
+
* Controllate le dipendenze necessarie al modulo, controllate che anche per quelle siano soddisfatti tutte le dipendenze. A volte scrivere un nuovo modulo può essere molto lungo e non valerne la pena.
* Check if you're not better off installing it manually or using a binary. Plenty of packages are so easy to install into your home directory and even though a module would be nice, it's often just easier to install it manually.
+
* Controllate che non sia meglio installare manualmente o tramite un binario. Avere una abbondanza di moduli è bello, ma a volte è più facile installare un binario nella propria /home.
 +
==Iniziamo il modulo==
  
==Starting the module==
+
Si deve lavorare nella sezione [[zlocal]]. Nel tuo sistema si trova in "/var/lib/lunar/moonbase".
 
+
Find a good spot in [[moonbase]]. You should always work in the [[zlocal]] section. Your system [[moonbase]] is located in "/var/lib/lunar/moonbase".
+
  
 
  cd /var/lib/lunar/moonbase/zlocal
 
  cd /var/lib/lunar/moonbase/zlocal
  mkdir mymodule
+
  mkdir miomodulo
  cd mymodule
+
  cd mimodulo
  
Every module is defined as the group of files and directories including a [[DETAILS]] file in a directory. So we need a [[DETAILS]] file:
+
Ogni modulo è costituito da un insieme di file e directory tra cui il file [[DETAILS]]. Quindi bisogna creare un file [[DETAILS]]
  
           MODULE=mymodule
+
           MODULE=miomodulo
 
           VERSION=1.0
 
           VERSION=1.0
 
           SOURCE=$MODULE-$VERSION.tar.bz2
 
           SOURCE=$MODULE-$VERSION.tar.bz2
Line 29: Line 28:
 
           ENTERED=20050808
 
           ENTERED=20050808
 
           UPDATED=20050808
 
           UPDATED=20050808
             SHORT="Makes module writing easy"
+
             SHORT="Scrivere un modulo semplice"
  
 
  cat<<EOF
 
  cat<<EOF
  MyModule is a simple tool to explain module writing in
+
  MioModulo è un esempio di cosa bisogna scrivere nel file
  detail. It doesn't actually exist but is used as an example
+
  details.
for educational purposes.
+
 
  EOF
 
  EOF
  
This is a basic [[DETAILS]] file with all required components. As you can see it's just plain shell code.
+
Questo è un file [[DETAILS]] di base ma con tutto il necessario. Come potete notare è del semplice codice bash.
  
''All lunar module files are bash code. This means that you should pay special attention to shell meta characters and proper syntax''
+
''Tutti i moduli di Lunar e i file che li compongono sono codice bash. Ciò significa che si dovrebbe prestare particolare attenzione ai meta-caratteri della shell e alla corretta sintassi''
  
This [[DETAILS]] file already can be all you need for writing a module, depending on the way "mymodule" needs to be compiled.
+
Questo file [[DETAILS]] potrebbe già essere tutto ciò di cui abbiamo bisogno per compilare, a seconda di come il modulo deve essere compilato.
  
== Module Format ==
+
== Formato del modulo ==
  
See [[Module Basics]] and [[Module Guidelines]] for detailled information about available module scripts and module examples.
+
Vedere anche [[Module Basics]] e [[Module Guidelines]] per dettagli e esempi su moduli più complessi e i restanti file e scripts.

Latest revision as of 09:05, 14 November 2008

Contents


Scrivere moduli per Lunar può essere difficilissimo oppure facilissimo, ed è molto simile a seguire i passi per l'installazione di pacchetti manualmente. Ci sono parecchie variabili a cui pensare durante la scrittura di un moduli ed è difficile ottenere un buon risultato se sono le prime volte che li scrivete.

Prima di iniziare

Prendete un pò di tempo per pensare ai motivi che vi spingono a scrivere un nuovo modulo ci possono essere molte variabili che impediscono la scrittura di un modulo. Ecco alcune linee guida...

  • Cercate se il pacchetto è già presente in Lunar moonbase. Nulla è peggio di scoprire di aver sprecato tempo per un lavoro già fatto.
  • Controllate le dipendenze necessarie al modulo, controllate che anche per quelle siano soddisfatti tutte le dipendenze. A volte scrivere un nuovo modulo può essere molto lungo e non valerne la pena.
  • Controllate che non sia meglio installare manualmente o tramite un binario. Avere una abbondanza di moduli è bello, ma a volte è più facile installare un binario nella propria /home.

Iniziamo il modulo

Si deve lavorare nella sezione zlocal. Nel tuo sistema si trova in "/var/lib/lunar/moonbase".

cd /var/lib/lunar/moonbase/zlocal
mkdir miomodulo
cd mimodulo

Ogni modulo è costituito da un insieme di file e directory tra cui il file DETAILS. Quindi bisogna creare un file DETAILS

          MODULE=miomodulo
         VERSION=1.0
          SOURCE=$MODULE-$VERSION.tar.bz2
      SOURCE_URL=http://my.site.org/files/
      SOURCE_VFY=sha1:e96df66f703c5ab1a295e216b5035ee14d6202b2
        WEB_SITE=http://my.site.org/
         ENTERED=20050808
         UPDATED=20050808
           SHORT="Scrivere un modulo semplice"
cat<<EOF
MioModulo è un esempio di cosa bisogna scrivere nel file
details.
EOF

Questo è un file DETAILS di base ma con tutto il necessario. Come potete notare è del semplice codice bash.

Tutti i moduli di Lunar e i file che li compongono sono codice bash. Ciò significa che si dovrebbe prestare particolare attenzione ai meta-caratteri della shell e alla corretta sintassi

Questo file DETAILS potrebbe già essere tutto ciò di cui abbiamo bisogno per compilare, a seconda di come il modulo deve essere compilato.

Formato del modulo

Vedere anche Module Basics e Module Guidelines per dettagli e esempi su moduli più complessi e i restanti file e scripts.

Personal tools
Namespaces
Variants
Actions
Wiki Navigation
Project Sites
Toolbox