[RISOLTO] Da jar a rpm, tgz, txz, deb...

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
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.
Avatar utente
Slhackagn
Linux 0.x
Linux 0.x
Messaggi: 83
Iscritto il: ven 19 giu 2009, 16:34
Slackware: -current
Kernel: 2.6.29.6.smp
Desktop: Fluxbox
Distribuzione: Slackware
Località: Belluno
Contatta:

[RISOLTO] Da jar a rpm, tgz, txz, deb...

Messaggio da Slhackagn »

Salve a tutti.
Qualche giorno fa mentre stavo programmando mi è sorto un dubbio: "E se riuscissi a installare questo programma in un Sistema Operativo?". Premetto che ho scritto il programma in Java, quindi esiste un metodo per creare un pacchetto deb, rpm, tgz, txz... partendo dal jar o quanto meno dal file .java o .class?

Grazie mille! :)
Ultima modifica di Slhackagn il gio 26 nov 2009, 21:31, modificato 1 volta in totale.

Vic Steele
Linux 3.x
Linux 3.x
Messaggi: 534
Iscritto il: dom 27 apr 2008, 13:46
Nome Cognome: Luigi Caiazza
Slackware: current x86_64
Kernel: 3.0.0
Desktop: Fluxbox / KDE 4.7.0
Distribuzione: Fedora 15
Località: Potenza
Contatta:

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da Vic Steele »

Non mi è chiaro il paragone che stai cercando di fare, né soprattutto l'utilità ed il possibile funzionamento.
Il codice generato dalle compilazioni Java (i file .class), non è altro che bytecode che viene compilato al volo in linguaggio macchina ad ogni esecuzione da parte della JVM.
In primo luogo c'è bisogno che sia installata perlomeno la JRE, altrimenti se non hai la macchina virtuale non hai possibilità di sfruttare le proprietà riflessive del linguaggio, quindi già creare un installer del programma è inutile.
Se il problema è il java -jar ad ogni esecuzione, puoi sempre creare uno shell script che lo lanci al posto tuo. Con un po' di inventiva puoi fare un path hard-coded, magari di sistema, in cui metti il jar e lo fai avviare dallo script che metti in /usr/bin . Potresti anche fare un txz che esegua le operazioni di copia al posto tuo in ogni sistema, se ho interpretato bene quello che chiedi.

Avatar utente
raffaele181188
Packager
Packager
Messaggi: 789
Iscritto il: ven 7 set 2007, 21:40
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu
Località: DearSkin (FG)

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da raffaele181188 »

Sì si potrebbe fare, ma come dici anche tu sostanzialmente è inutile. Puoi anche far eseguire questo lavoro ad ANT, ma non è standard. Se è un'applicazione desktop usa WebStart; altrimenti fai come eclipse/netbeasn: un semplice archivio con uno script shell per lanciare il tuo jar

Avatar utente
Slhackagn
Linux 0.x
Linux 0.x
Messaggi: 83
Iscritto il: ven 19 giu 2009, 16:34
Slackware: -current
Kernel: 2.6.29.6.smp
Desktop: Fluxbox
Distribuzione: Slackware
Località: Belluno
Contatta:

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da Slhackagn »

Il mio fine ultimo era quello di poter controllare meglio il mio programma. se tgz su Slackware, così da non avere trecento jar sparsi per il sistema... poi vedendo Limewire o addirittura Lotus Synphony...ho pensato: Perchè no? Perchè non provo anche io?

Però non so come procedere, come creare il tgz e per questo chiedevo a voi...
Sapreste indicarmi come crearlo?

Avatar utente
ulisse89
Packager
Packager
Messaggi: 643
Iscritto il: sab 17 gen 2009, 12:53
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce
Località: Bologna

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da ulisse89 »

Slhackagn ha scritto:Il mio fine ultimo era quello di poter controllare meglio il mio programma. se tgz su Slackware, così da non avere trecento jar sparsi per il sistema... poi vedendo Limewire o addirittura Lotus Synphony...ho pensato: Perchè no? Perchè non provo anche io?

Però non so come procedere, come creare il tgz e per questo chiedevo a voi...
Sapreste indicarmi come crearlo?
Dato che il tuo programma sarà organizzato in un sistema di directory particolare, specifico di come l'hai progettato, non ti conviene come dici te spargere jar in tutto il sistema. Ti conviene creare in /opt una directory, col nome del programma, in cui metti il programma che hai fatto, col suo albero di directory, poi crei un link simbolico all'eseguibile con cui lanci il programma vero e proprio in /usr/bin.

Se poi il tuo problema è come creare il pacchetto una volta che hai deciso come organizzare i file, allora ci sono delle guide che spiegano per bene come devi fare.

Avatar utente
Slhackagn
Linux 0.x
Linux 0.x
Messaggi: 83
Iscritto il: ven 19 giu 2009, 16:34
Slackware: -current
Kernel: 2.6.29.6.smp
Desktop: Fluxbox
Distribuzione: Slackware
Località: Belluno
Contatta:

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da Slhackagn »

Ok mi linkeresti per favore queste guide per trasformare in pacchetto? :D

Avatar utente
ulisse89
Packager
Packager
Messaggi: 643
Iscritto il: sab 17 gen 2009, 12:53
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce
Località: Bologna

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da ulisse89 »

Slhackagn ha scritto:Ok mi linkeresti per favore queste guide per trasformare in pacchetto? :D
http://www.slacky.eu/wikislack/index.ph ... _Slackware
Però nel tuo caso, devi saltare molte parti, perchè lì fa riferimento a pacchetti installabili col solito configure && make && make install.
Più che altro dovrebbe spiegare come è strutturato un pacchetto slackware. E da lì capisci come farne uno.
Se qualcosa non è chiaro, chiedi pure. :thumbright:

Avatar utente
Slhackagn
Linux 0.x
Linux 0.x
Messaggi: 83
Iscritto il: ven 19 giu 2009, 16:34
Slackware: -current
Kernel: 2.6.29.6.smp
Desktop: Fluxbox
Distribuzione: Slackware
Località: Belluno
Contatta:

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da Slhackagn »

ulisse89 ha scritto:
Slhackagn ha scritto:Ok mi linkeresti per favore queste guide per trasformare in pacchetto? :D
http://www.slacky.eu/wikislack/index.ph ... _Slackware
Però nel tuo caso, devi saltare molte parti, perchè lì fa riferimento a pacchetti installabili col solito configure && make && make install.
Più che altro dovrebbe spiegare come è strutturato un pacchetto slackware. E da lì capisci come farne uno.
Se qualcosa non è chiaro, chiedi pure. :thumbright:
Eccomi quà...Scusatemi se non vi ho più fatto sapere ma ero intento nel finire un mio programma...
Allora mi sono scaricato la guida sul wikislacky per come fare....ma per il file configure... come faccio :?:

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da Blallo »

non per qualcosa, ma sei sicuro di quello di cui stai parlando?
un file jar è un file che viene eseguito dalla java virtual machine, quindi non un sorgente
configure è uno script che configura i SORGENTI
forse è meglio che ti schiarisci un poco le idee :-k

Avatar utente
ulisse89
Packager
Packager
Messaggi: 643
Iscritto il: sab 17 gen 2009, 12:53
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce
Località: Bologna

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da ulisse89 »

Allora dalla guida dovresti aver capito che per creare un pacchetto txz o tgz devi creare un albero di directory "fasullo" che riproduca quello che hai effettivamente nella root (/) di slackware. In questo albero di directory andrai a posizionare poi i file veri e propri del tuo programma. Per esempio una libreria la posizioni in
directory_temporanea/usr/lib/, gli eseguibili in directory_temporanea/usr/bin, e via così. Alla fine quando hai sistemato tutti i tuoi file, dai il makepkg e ti viene creato il pacchetto.
Ora non capisco bene a cosa ti serva il configure. Il configure si usa in relazione alla compilazione di un programma, mentre tu hai detto di avere dei jar (ovvero dei compilati) e di non sapere come ordinarli in un pacchetto.
La guida che ti ho linkato era solo per farti capire come è strutturato un pacchetto, ma nella sostanza fa riferimento al caso standard in cui si ha un sorgente dotato di configure, makefile etc. Questo non è il tuo caso. Tu da quanto ho capito hai solo un programma già compilato e funzionante e da lì vuoi crearne un pacchetto.
Ho capito bene? :D

Avatar utente
Slhackagn
Linux 0.x
Linux 0.x
Messaggi: 83
Iscritto il: ven 19 giu 2009, 16:34
Slackware: -current
Kernel: 2.6.29.6.smp
Desktop: Fluxbox
Distribuzione: Slackware
Località: Belluno
Contatta:

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da Slhackagn »

Si! hai capito bene!
Ora tento di capire come mettere i files...ma non si trova mica nulla su Google in generale... Potresti mica darmi una mano per creare la struttura ad albero?


Io ho il file *.jar. E' un programmino molto semplice, che non mi pare necessiti nulla di speciale... è soltanto una calcolatrice!

Avatar utente
ulisse89
Packager
Packager
Messaggi: 643
Iscritto il: sab 17 gen 2009, 12:53
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce
Località: Bologna

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da ulisse89 »

Slhackagn ha scritto:Si! hai capito bene!
Ora tento di capire come mettere i files...ma non si trova mica nulla su Google in generale... Potresti mica darmi una mano per creare la struttura ad albero?


Io ho il file *.jar. E' un programmino molto semplice, che non mi pare necessiti nulla di speciale... è soltanto una calcolatrice!
Hai un solo file? Niente documentazione, niente librerie etc?

Avatar utente
Slhackagn
Linux 0.x
Linux 0.x
Messaggi: 83
Iscritto il: ven 19 giu 2009, 16:34
Slackware: -current
Kernel: 2.6.29.6.smp
Desktop: Fluxbox
Distribuzione: Slackware
Località: Belluno
Contatta:

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da Slhackagn »

Il programma l'ho fatto io.... Basta che mi dici, che file devo fare, e mi faccio anche la documentazione....le librerie non ho la più pallida idea di cosa mi serva visto che il mio programma non ha tante pretese....è semplicemente una calcolatrice... Poi non sono già integrate nel jar?

Avatar utente
ulisse89
Packager
Packager
Messaggi: 643
Iscritto il: sab 17 gen 2009, 12:53
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce
Località: Bologna

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da ulisse89 »

Slhackagn ha scritto:Il programma l'ho fatto io.... Basta che mi dici, che file devo fare, e mi faccio anche la documentazione....le librerie non ho la più pallida idea di cosa mi serva visto che il mio programma non ha tante pretese....è semplicemente una calcolatrice... Poi non sono già integrate nel jar?
Allora se vuoi che ti dica passo-passo come fare, pressapoco è così.

Codice: Seleziona tutto

Crei una directory temporanea, per esempio /tmp/calcolatrice
Crei /tmp/calcolatrice/usr/bin e /tmp/calcolatrice/usr/lib
Metti il tuo jar dentro a /tmp/calcolatrice/usr/lib
Crei uno script che esegua "java -jar /usr/lib/file.jar" e lo metti in /tmp/calcolatrice/usr/bin
Dopodichè dai il makepkg come scritto nella guida e ti salta fuori il pacchetto.
Poi se vuoi aggiungere la documentazione allora dovrai seguire il metodo che ti ho citato. Cioè crei la directory usr/doc all'interno della tua directory temporanea di lavoro e ci metti la documentazione. Così via per tutte le cose che vorrai aggiungere.
Capito? :D

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: Da jar a rpm, tgz, txz, deb...

Messaggio da Blallo »

e non dimenticare lo slack-desc 8)
qui qualche info http://www.slacky.eu/wikislack/index.ph ... Slack-desk

Rispondi