Pagina 1 di 1

Rendere in formato eseguibile QUALSIASI programma

Inviato: dom 17 giu 2007, 21:52
da mordecai
Ciaoa a tutti!Questa è una richiesta o meglio una curiosità alquanto bizzarra!

È possibile rendere un programma in formato binario?

Es.supponiamo che ho nmap in formato tar.gz ok?

Voglio fare in modo che diventi un semplice .run in modo tale che quando lo eseguo,non devo installarlo,ma solo lanciarlo!
E inoltre deve essere compatibile per tutte li distro linux!

È fantascienza?

Inviato: dom 17 giu 2007, 21:59
da Ph1l
No,è Autopackage!

http://autopackage.org/

;)

Sempre se ho capito la domanda, naturalmente :lol:

Inviato: dom 17 giu 2007, 22:04
da stan
Ph1l ha scritto:No,è Autopackage!
http://autopackage.org/
[ot]Ma se un sw e' distribuito solo tramite un file .package come si fa' a fare lo slackbuild?[/ot]

Inviato: dom 17 giu 2007, 22:43
da mordecai
Ph1l ha scritto:No,è Autopackage!

http://autopackage.org/

;)

Sempre se ho capito la domanda, naturalmente :lol:
Quindi se riesco a creare un file.package siamo ok! ;)

Inviato: dom 17 giu 2007, 22:48
da Ph1l
stan ha scritto:
Ph1l ha scritto:No,è Autopackage!
http://autopackage.org/
[ot]Ma se un sw e' distribuito solo tramite un file .package come si fa' a fare lo slackbuild?[/ot]
Non ho capito cosa intendi... Autopackage o l'ipotetico software distribuito tramite quel "formato"? Perchè su http://autopackage.org/download-tools.html ci sono i sorgenti per i tool di creazione ;)
mordecai ha scritto:Quindi se riesco a creare un file.package siamo ok! ;)
Non dovrebbe essere difficoltoso, anche se... insomma... io sono fedele ai tgz ;)
Ho provato autopackage un paio di volte ed è assai irritante, installa anche una sorta di "pannello di controllo" in cui disinsinstallare il sw installato con il tool :(

Inviato: dom 17 giu 2007, 23:18
da stan
Ph1l ha scritto:
stan ha scritto:
Ph1l ha scritto:No,è Autopackage!
http://autopackage.org/
[ot]Ma se un sw e' distribuito solo tramite un file .package come si fa' a fare lo slackbuild?[/ot]
Non ho capito cosa intendi... Autopackage o l'ipotetico software distribuito tramite quel "formato"? Perchè su http://autopackage.org/download-tools.html ci sono i sorgenti per i tool di creazione ;)
Correggimi se sbaglio...autopackage e' un tool che permette la creazione di installer (cioe' di file .package) per un qualsiasi software. Una volta scaricato il file .package da, mettiamo dalla home di supertux, un utente lancia il file .package il quale si occupa di gestire tutto il processo di installazione (download da internet del programma, decompressione, controllo dipendenze, compilazione e installazione..). In pratica di tutte le fasi di cui si deve occupare uno scrittore di slackbuilds.
Ora, la domanda e': lo scrittore di slackbuilds cosa fa'? Scarica i sorgenti di supertux e scrive lo slackbuild come se il file .package non fosse stato reso disponibile sulla home di supertux oppure scrive uno slackbuild al cui interno si lancia il file .package?

Inviato: lun 18 giu 2007, 9:13
da Ph1l
Stan, naturalmente il pacchettizzatore scarica i sorgenti e ci lavora a mano ^_*

Autopackage ha comunque pretese assurde (GTK e cose varie) decisamente fuori dalla filosofia KISS ;)

Inviato: lun 18 giu 2007, 10:30
da DaNiMoTh
Se sono riuscito a capire bene la domanda, ti basta compilare il programma con le librerie staticamente linkate all'interno di esso; ovviamente avra' dimensioni piu` grandi, pero` dovrebbe funzionare ovunque tu lo porti. O no?

Inviato: lun 18 giu 2007, 18:48
da EmaDaCuz
DaNiMoTh ha scritto:Se sono riuscito a capire bene la domanda, ti basta compilare il programma con le librerie staticamente linkate all'interno di esso; ovviamente avra' dimensioni piu` grandi, pero` dovrebbe funzionare ovunque tu lo porti. O no?
Bello!E come si farebbe ad integrare tutte le librerie già presenti nel sitema in un unico binario?Mi interessa!

Inviato: lun 18 giu 2007, 22:27
da albatros
Bello!E come si farebbe ad integrare tutte le librerie già presenti nel sitema in un unico binario?Mi interessa!
Mica deve integrare tutte le librerie, solo quelle a cui è linkato.

Comunque non è sempre una soluzione, bisogna vedere se il programma, oltre all'eseguibile, ha i suoi file di dati, la sua documentazione o altre sue librerie per essere usate indipendentemente dal programma principale.
E, in effetti, ha comunque ragione EmaDaCuz nel sostenere che le dimensioni dell'eseguibile, in alcuni casi, potrebbero essere molto grandi.

Anche il fatto che funzioni su ogni distro è da vedere, dipende da cosa fa il programma, che kernel e che hardware si aspetta, eccetera.

Puoi comunque farti uno script di shell che scompatta quanto occorre nella tua home, imposta le necessarie variabili d'ambiente, esegue il programma e alla sua uscita cancella tutto... :)