Domanda

Ho un gioco che attualmente gira sotto Windows e Mac OS X e vorrei renderlo disponibile sotto Linux. Il porting dovrebbe essere abbastanza semplice, visto che si tratta di un gioco basato su Java e usa le librerie portatili che sono disponibili su tutte le piattaforme di 3.

La parte più difficile e la ragione di questa domanda è imballaggi in modo che esso funziona come molte moderne distribuzioni Linux più possibile. L'obiettivo primario sarà Ubuntu 9.

Webstart non è un modo accettabile, .tar.gz è l'ultima risorsa. Vorrei stronly preferirei un pacchetto che ha definito correttamente le dipendenze (come Java) e si installa facilmente.

Ho anche bisogno di essere in grado di creare il pacchetto in un ambiente Windows a partire da alcuni strumenti a mia catena di compilazione sono solo per Windows.

È stato utile?

Soluzione

Inizia cercando come un progetto simile ha raggiunto questo. Uno che viene in mente è FreeCol , una croce gioco basato piattaforma Java. La loro pagina di download ha informazioni abbastanza chiaro su come installare su un certo numero di piattaforme. Hanno anche pacchetti disponibili, a siti come GetDeb per Ubuntu e PackMan per openSUSE.

In generale, se si vuole colpire il maggior numero di distribuzioni possibile, i formati che si dovrebbe prendere in considerazione sono (in ordine di importanza approssimativa):

  1. Ubuntu .deb (anche creare un repository se potete)
  2. OpenSUSE .rpm o .ypm (1 click install)
  3. Fedora .rpm
  4. .tar.gz pacchetto pre-compilato

Poi una build opzione source, o un massimo sforzo di installazione binario da. Infine, guardare altre distribuzioni popolari come Debian, Mandriva, e BSD

Una volta che esiste un pacchetto per una piattaforma specifica, si può prendere in considerazione ottenerlo accettare in quella distribuzione. In questo modo sarà più facile per gli utenti di trovare e acquisire. Informazioni sul processo per Ubuntu può essere trovato qui:

(EDIT:. Meglio lista, grazie al suggerimento di Jonik)

Altri suggerimenti

Date un'occhiata a Zero Install ( http://0install.net/ ).

  • Chiunque può installare il software

Non è necessario essere l'amministratore solo per installare un word-processor [più]

  • Chiunque può distribuire il software

Non è necessario per essere benedetti da una distribuzione (o chiunque altro) di far parte di Zero Install; Il sistema è completamente decentralizzato [più]

  • Aggiornamenti automatici

Quando gli aggiornamenti sono disponibili, Zero Install vi comunicheremo [più]

  • Sicurezza

Se un utente scarica un programma dannoso, gli altri utenti non sono interessati; Gli utenti possono condividere download senza dover fidarsi l'uno dell'altro; L'installazione non esegue alcun codice scaricato; Le firme digitali sono sempre controllati prima di un nuovo software è r

È possibile utilizzare il sistema deb per Ubuntu. Vi aiuterà di contrassegnare correttamente le dipendenze.

Una guida per l'imballaggio è disponibile qui .

Buona domanda - Io non conosco la risposta (e credo che non ci sia un modo facile, onnicomprensiva soluzione), ma qui ci sono alcuni punti da considerare, dal punto di vista di un utente Linux

.

Credo .tar.gz (o .tar.bz2) non è necessariamente così male. Gli utenti Linux sono usati ad esso, e per esempio molti pacchetti software commerciali sono distribuiti in questo modo. Batte spesso un installer grafico in stile Windows se il punto principale è quello di estrarre solo i file in una certa posizione.

Alcuni (forse molti?) Gli utenti hanno installato JRE di fuori del sistema di gestione dei pacchetti, in modo da offrire solo rpm o deb (che dipende dalla disponibilità di JRE installato come rpm o deb) può essere problematico. (Personalmente preferisco avere diverse versioni di JRE (JDK in realtà) installato sotto /usr/local/java.) Così almeno considerare di offrire un / GZ / pacchetto bz2 zip insieme ad altre opzioni.

Inoltre, per informazioni sulla creazione di pacchetti RPM del software Java, date un'occhiata alla JPackage .

Ogni distro può avere le sue proprie convenzioni di cui file comuni vanno.
In Ubuntu, vasi java comuni vanno in / usr / share / java. Cose come commons-cli e liblog4j esiste. Se si utilizza uno di questi, assicurarsi che il deb dipende il pacchetto appropriato. Se la libreria è di uso outisde vostra applicazione, ma non nei repository di Ubuntu, valutare l'ipotesi che nella propria deb ea seconda della. Sarà necessario creare una cartella per i giochi specifici vasetti in / usr / share / [nome] / e quindi creare uno script di shell per lanciare il gioco. Questo script dovrebbe essere collocato in / usr / bin (o / usr / giochi) ed essere eseguibile.

Non dimenticare di dipendere da un pacchetto di java appropriata o (suggerisco le sole-java # -jre pacchetti perche' GJC è una schifezza e open-JDK non è al 100% non ancora (Almeno la METAL LaF è fubar , io non so niente altro ancora.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top