Pagina 1 di 1

Creare pacchetti tgz, ma senza configure

Inviato: mar 22 feb 2011, 22:18
da doom
Ciao a tutti!
Ho deciso di iniziare a provare a creare qualche pacchetto partendo dai sorgenti e sono partito dal wiki presente qui su slacky.
Seguendo la guida si arriva al fatidico momento di dover utilizzare il configure e decidere cosa passargli.
Ora, ho capito più o meno come funziona, ho capito cosa passargli... ma nell'archivio scaricato non lo trovo proprio fisicamente :|

Sono 3 giorni che cerco una soluzione, ma non ho trovato molto. Ho letto però che in caso non ci sia il configure vi sono altri script che svolgono il suo compito (o che si occupano di generarlo). Il problema è: dove li trovo?

Per esempio volevo provare a creare un pacchetto di wpa_supplicant, ho scaricato i sorgenti dal sito ufficiale, ma all'interno vi trovo solo 2 file di testo (il readme e un'altro relativo alla licenza) e una serie di directory contententi i file "veri e propri".

Questo configure dove vado a pescarlo? O come posso eventualmente generarlo??

Grazie :)

Re: Creare pacchetti tgz, ma senza configure

Inviato: mar 22 feb 2011, 22:42
da Ansa89
Magari un link ai sorgenti del software che stai cercando di compilare potrebbe fare comodo.

Re: Creare pacchetti tgz, ma senza configure

Inviato: mar 22 feb 2011, 22:43
da ZeroUno
leggiti il README.TXT o l'INSTALL.TXT dei sorgenti per vedere la procedura di compilazione/installazione. Dopo inseriscila nello SlackBuild. Se il ./configure non è richiesto toglilo. Se qualcosa non è previsto nello SlackBuild di default, aggiungila.

Non hai scelto un pacchetto semplice per iniziare. Il configure non esiste e la configurazione te la devi fare a mano.

Dal README:
This package may include either wpa_supplicant, hostapd, or both. See
README file respective subdirectories (wpa_supplicant/README or
hostapd/README) for more details.
Il wpa_supplicant/README poi è lungo una quaresima.
dalla riga 350 in poi:
Building and installing
-----------------------
In order to be able to build wpa_supplicant, you will first need to
select which parts of it will be included. This is done by creating a
build time configuration file, .config, in the wpa_supplicant root
directory.
e a seguire spiega la 50ina c.a. di opzioni che ci puoi mettere dentro.
Solo dopo puoi andare con il make


Nota: wpa_supplicant è già incluso in slackware e nel ramo current trovi la 0.7.3
http://slackware.osuosl.org/slackware-c ... upplicant/
Se hai una 13.1 (e non la current) hai la 0.6.x; puoi usare i sorgenti e lo slackbuild della current per ricompilartelo sulla 13.1

Ciao
01

Re: Creare pacchetti tgz, ma senza configure

Inviato: mar 22 feb 2011, 23:17
da doom
Azz allora ho scelto proprio il pacchetto giusto per fare alcune prove...

Pardon, non mi ero dilungato a leggere tutto il readme.
Ti ringrazio per la spiegazione!

Davo per scontato che la presenza del configure fosse un requisito fondamentale e che venisse sempre fornito assieme ai sorgenti.

Il pacchetto 0.7.x l'avevo già notato nella current, ma mi interessava più che altro creare "da zero" il pacchetto piuttosto che aggiornarlo all'ultima versione :)

Grazie per le info! ;)

Re: Creare pacchetti tgz, ma senza configure

Inviato: mer 23 feb 2011, 10:29
da 414N
doom ha scritto:Davo per scontato che la presenza del configure fosse un requisito fondamentale e che venisse sempre fornito assieme ai sorgenti.
Lo script di configure fa parte della suite GNU autotools, che permette di configurare in modo automatizzato i sorgenti di un progetto per la compilazione/installazione. È un sistema basato interamente su shell (bash tipicamente) e strumenti tipici di Unix/Linux (sed, awk, grep ecc.), quindi poco portabile al di fuori di questi sistemi.
Nel tempo sono stati introdotti diversi sistemi analoghi, sempre più portabili.
I più noti ed utilizzati sono cmake (usato da tutta la suite KDE4 e QT), scons (basato su Python) ed ant (per i progetti Java).
Come fare a riconoscere il sistema di configurazione/build del progetto?
  • Cmake: la presenza del file CMakeLists.txt nella root del progetto
  • Scons: la presenza del file SConstruct nella root del progetto
  • ant: la presenza di un file xml (tipicamente chiamato build.xml) nella root del progetto
Un progetto potrebbe poi anche essere distribuito con solo un Makefile scritto a mano. In questo caso basta un make per cominciare la compilazione.

Re: Creare pacchetti tgz, ma senza configure

Inviato: mer 23 feb 2011, 10:50
da boh
Può capitare che i file che hai citato non siano presenti, come accade con il configure? Se sì, cosa si deve fare?

Re: Creare pacchetti tgz, ma senza configure

Inviato: mer 23 feb 2011, 11:03
da 414N
boh ha scritto:Può capitare che i file che hai citato non siano presenti, come accade con il configure? Se sì, cosa si deve fare?
Se non ce n'è nessuno, i casi possono essere principalmente due:
  • Il progetto non utilizza sistemi di configurazione e build automatici (molto anomalo ed improbabile)
  • Il progetto presenta un file progetto di KDevelop/Visual Studio/Eclipse ecc. ed è possibile configurarlo/compilarlo solo tramite l'apposito IDE.
Esistono poi progetti che affiancano più sistemi di configurazione automatici: Blender, per esempio, è configurabile sia tramite cmake che tramite scons, oltre a presentare file di progetto per Visual Studio.

Re: Creare pacchetti tgz, ma senza configure

Inviato: mer 23 feb 2011, 12:33
da ZeroUno
Una cosa che invece è presente OBBLIGATORIAMENTE (anche vuoto, ma presente) se si vuole dichiarare l'applicativo GNU è il file README o README.TXT ed il file di licenza (LICENSE o COPYNG). Che sono appunto i due presenti nel wpa_supplicant.

Il README ti dice se devi usare ./configure, cmake, scons, ant, solamente make o altro.
A dirtelo poi ci pensa anche google... basta chiederglielo ;-)
Come ultimo, poi, te lo dice anche slacky :-D

Buona pacchettizzazione,

01

Re: Creare pacchetti tgz, ma senza configure

Inviato: mer 23 feb 2011, 16:02
da boh
Grazie delle risposte! :D