Rendere in formato eseguibile QUALSIASI programma

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
mordecai
Linux 3.x
Linux 3.x
Messaggi: 752
Iscritto il: mer gen 10, 2007 21:59

Rendere in formato eseguibile QUALSIASI programma

Messaggioda mordecai » dom giu 17, 2007 21:52

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?

Avatar utente
Ph1l
Linux 2.x
Linux 2.x
Messaggi: 232
Iscritto il: gio gen 04, 2007 13:55
Slackware: 12.0
Località: Acerra (NA)
Contatta:

Messaggioda Ph1l » dom giu 17, 2007 21:59

No,è Autopackage!

http://autopackage.org/

;)

Sempre se ho capito la domanda, naturalmente :lol:

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun dic 25, 2006 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggioda stan » dom giu 17, 2007 22:04

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]

mordecai
Linux 3.x
Linux 3.x
Messaggi: 752
Iscritto il: mer gen 10, 2007 21:59

Messaggioda mordecai » dom giu 17, 2007 22:43

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! ;)

Avatar utente
Ph1l
Linux 2.x
Linux 2.x
Messaggi: 232
Iscritto il: gio gen 04, 2007 13:55
Slackware: 12.0
Località: Acerra (NA)
Contatta:

Messaggioda Ph1l » dom giu 17, 2007 22:48

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 :(

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun dic 25, 2006 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggioda stan » dom giu 17, 2007 23:18

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?

Avatar utente
Ph1l
Linux 2.x
Linux 2.x
Messaggi: 232
Iscritto il: gio gen 04, 2007 13:55
Slackware: 12.0
Località: Acerra (NA)
Contatta:

Messaggioda Ph1l » lun giu 18, 2007 9:13

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 ;)

Avatar utente
DaNiMoTh
Linux 3.x
Linux 3.x
Messaggi: 941
Iscritto il: mar nov 30, 2004 0:00
Località: irc.syrolnet.org /// #slackware
Contatta:

Messaggioda DaNiMoTh » lun giu 18, 2007 10:30

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?

Avatar utente
EmaDaCuz
Linux 3.x
Linux 3.x
Messaggi: 877
Iscritto il: sab gen 28, 2006 15:47
Slackware: 12.0 - ma a Trieste
Kernel: 2.6.25
Desktop: Fluxbox
Distribuzione: Debian e Arch
Località: Nijmegen, NL
Contatta:

Messaggioda EmaDaCuz » lun giu 18, 2007 18:48

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!

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2058
Iscritto il: sab feb 04, 2006 13:59
Kernel: 4.4.0
Desktop: mate
Distribuzione: ubuntu 16.04
Località: Deutschland

Messaggioda albatros » lun giu 18, 2007 22:27

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... :)