Sto pianificando di scrivere un'app che mi piacerebbe essere in grado di eseguire su qualsiasi installazione Linux senza dover riscrivere il codice nel farlo (tranne forse l'interfaccia, GNOME vs KDE, ecc.).
Non sono molto esperto nelle minuzie delle differenze tra le distribuzioni e non posso nemmeno fornire dettagli sul progetto poiché è appena entrato nella fase di pianificazione a parte il fatto che cercherà in profondità nel kernel per interagire con quanto più hardware possibile del computer.
Risposta accettata:
Alcuni punti da tenere a mente durante lo sviluppo,
- Utilizza un sistema di compilazione standard
- Evita l'hard coding della
libreriapercorsi - usa strumenti come
pkg-config
per trovare invece i pacchetti esterni. - Se la tua applicazione ha una GUI, usa alcuni framework come
wxWidgets
che può eseguire il rendering di elementi dell'interfaccia utente nativi a seconda di dove corri. - Evita di creare dipendenze con pacchetti che non funzioneranno su altre distribuzioni.
L'unico modo per garantire che l'applicazione funzioni completamente su tutte le distribuzioni è eseguirla e testarla effettivamente. Un modo per farlo è creare macchine virtuali per ciascuna distribuzione. VirtualBox può essere utilizzato per farlo. Ho circa 8 macchine virtuali sulla mia scatola per questo tipo di test.
Penso che non puoi generalizzare troppo sulla distribuzione dell'applicazione poiché ogni distribuzione utilizza un modo diverso di installare i pacchetti. Debian usa deb
e fedora rpm
.