Si consiglia vivamente ai neofiti per una maggiore comprensione
di saltare i paragrafi inerenti all'autoconf e all'automake e di
leggerli una volta letto il capitolo 3. Tali paragrafi sono stati
posti in questa parte della guida, al fine di rendere tematicamente
organico il libro. Se invece conoscete bene un pó di C, iniziate
a leggere.
Avete mai compilato un'applicazione scaricata da Internet? Se sì,
una volta scaricato il tarball avrete scritto i seguenti comandi:
cyberspace.org:~$ tar xfvz
pacchetto.tar.gz
cyberspace.org:~$ ./configure
cyberspace.org:~$ make
E poi da root:
cyberspace.org:/home/gzoppi#
make install
In questo paragrafo vediamo come creare un pacchetto e realizzare
automaticamente lo script configure tramite le utility automake
e autoconf. Per far ciò abbiamo essenzialmente la necessità di editare
due file (configure.in e Makefile.am). L'insieme delle operazioni,
che andremo a fare può essere suddiviso in diverse fasi che vediamo.
Prima fase: Dai sorgenti al configure.in.
In questa fase si deve:
Porsi nella directory dei file sorgenti.
Eseguire l'utility autoscan, che analizzando i sorgenti crea un
file configure.in di base, chiamandolo configure.scan.
Editate nel modo, che vedremo il file configure.scan rinominandolo
configure.in
Seconda fase: Documentazione.
Creiamo i file di documentazione : README, NEWS, AUTHORS, ChangeLog.
Questa seconda fase é richiesta dall'utility automake e risulta
essere particolarmente utile nello sviluppo del software e nel suo
aggiornamento fornendo agli sviluppatori lo stato del nostro pacchetto
e le eventuali modifiche. Dal punto di vista degli utenti, la documentazione
é utile al fine della comprensione e utilizzo del pacchetto. L'organizzazione
di questi file richiesti dall'automake é cosi fatta:
Changelog. Si usa questo file per memorizzare lo stato del vostro
progetto e tutti i cambiamenti apportati al codice.
Di solito i ChangeLog sono fatti nel seguente modo:
DATA AUTORE DEL CAMBIAMENTO E-MAIL
* Tipo cambiamento
* Tipo cambiamento
Esempio:
1999-09-19 Arthur Fonzarelli <arthur.fonzie@bayreuth.de>
* Changed version to 0.12.4.
* Added link breaking code (aka breaklinks) and additional
\special operators to support them.
* Fixed a bug in slanted font code
* Fixed a bug in TFM code that won't actually execute
unless you have a defective TFM file.
NEWS. Questo file contiene e spiega le nuove caratteristiche aggiunte
al pacchetto.
Esempio:
Noteworthy changes in version 1.0.4 (1999-06-07)
-----------------------------------
* Add a very preliminary version of NOME_PACCHETTO the Handbook
to
the distribution (lynx doc/package/index.html).
* Changed the version number to NOME_PACCHETTO ;-)
README. File generalmente richiesto per spiegare il funzionamento
del programma. In parole povere: usate questo file quando avete
qualcosa di fondamentale da dire sul programma.
AUTHORS. Questo file deve elencare una traccia di tutti coloro che
hanno contribuito al programma. Un chiaro esempio é il seguente:
Authors of NOME_PACCHETTO
====================================
NOME_PACCHETTO Arthur Fonzarelli 1998-12-21
Assigns NOME_PACCHETTO and future changes.
arthur.fonzie@bayreuth.de
Designed and implemented NOME_PACCHETTO.
NOME_PACCHETTO Matthew Zimmer 1999-01-10
Disclaims changes.
mat.zimmer@berknet.ca
Wrote io/basic.c.
Altri file che automake aggiunge e/o che dovrebbero essere presenti
in ogni pacchetto sono:
Il file THANKS. Scritto dall'autore originario dell'applicazione
cita e ringrazia chiunque ha contribuito allo sviluppo, e a differenza
del file AUTHORS non viene mantenuto per ragioni legali.
Esempio:
NOME_PACCHETTO was originally written by Arthur Fonzarelli. Other
people contributed by reporting problems, suggesting various improvements
or submitting actual
code. Here is a list of those people. Help me keep it complete
and free of errors.
Simon Clark simon@seclink.com
Luigi Rossi wildfire@securitynet.it
John Rigel rigel@univerisity.edu
Franz Muller franz@friburg.de
Bryan Smith bryan@usa.net
Luis Deloire deloire@chamberg.fr
Il file INSTALL, creato automaticamente da automake, dove andranno
specificate:
dipendenze da altri pacchetti
modalità di installazione
Il file COPYING, creato da automake, che non é altro che la licenza
GPL.
Torna all'indice Generale del corso di Corso di C con Linux di Software Planet