Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Sviluppare applicazione Linux

    Salute a tutti. Ero in dubbio se postare in "Programmazione" o "Linux"; ho deciso di postare qui.
    Il problema è questo: ho sviluppato un server FTP multi piattaforma che vorrei rendere "installabile" su piattaforme Linux sotto forma di servizio.
    Il problema nasce dal fatto che le varie distribuzioni Linux adottano delle convenzioni differenti. Non posso, ad esempio, decidere che:

    - L'eseguibile principale vada in /usr/sbin. Magari sotto la distribuzione X tale path non esiste.
    - Lo script di avvio vada in /etc/init.d per lo stesso motivo. Magari la gestione dei run level è anche differente.
    - etc...

    Volevo sapere, nel caso in cui vi siano sviluppatori in questo forum, come viene gestito questo problema. Sono stati scritti degli 'standard' da rispettare in questi casi?
    Come ha fatto lo sviluppatore del demone xxx a creare un source package che, se compilato, riesce ad installare il programma su qualunque piattaforma UNIX?

    Purtroppo mi rendo conto di essere totalmente ignorante riguardo queste tematiche.
    Magari anche una qualche dritta sui vari sistemi di pacchettizzazione (deb, rpm, depot ecc...) mi farebbe comodo.

    Ringrazio anticipatamente.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  2. #2
    PS - Quasi dimenticavo... Se volessi inserirci anche un bel man, per la mia applicazione? Come si fa in questi casi (ignoranza totale)? =)
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  3. #3

    Re: Sviluppare applicazione Linux

    Originariamente inviato da billiejoex
    Il problema nasce dal fatto che le varie distribuzioni Linux adottano delle convenzioni differenti.
    Certamente: ma non cosi` tanto differenti!
    In particolare riguardo la strutturazione del FS ormai c'e` una certa standardizzazione (vedi il FileSystem Hierarchy Standard (http://www.pathname.com/fhs se ben ricordo)).
    Puoi assumere che le varie distro rispettino tale standard, e lavartene legittimamente le mani se non e` cosi`. Le maggiori distro, comunque, sono piu` o meno tutte FHS compliant, e sicuramente per cose macroscopiche come /usr/sbin!

    [...]
    - Lo script di avvio vada in /etc/init.d per lo stesso motivo. Magari la gestione dei run level è anche differente.
    - etc...
    Purtroppo per gli script di avvio la situazione e` un po` spinosa. La cosa meno peggio e` fornire un tot di script precotti (o uno sufficientemente generico) per le maggiori distribuzioni.

    [...]
    Come ha fatto lo sviluppatore del demone xxx a creare un source package che, se compilato, riesce ad installare il programma su qualunque piattaforma UNIX?
    Ci sono gli autotools, anche se molti preferirebbero che non ci fossero:
    automake + autoconf + libtool. Se riesci a domarli, e non e` banale, danno un grosso aiuto riguardo la portabilita`; certamente anche il codice dovra` essere strutturato in modo acconcio, ma un sacco di aspetti specifici della piattaforma riesci a gestirli, o quantomeno ad individuarli, grazie ai suddetti.

    Ci sono anche alternative piu` moderne (cmake? scons?) ma meno diffuse.

    Magari anche una qualche dritta sui vari sistemi di pacchettizzazione (deb, rpm, depot ecc...) mi farebbe comodo.
    Per rpm trovi di tutto e di piu` su "maximum rpm", un libro liberamente scaricabile, spero sia ancora disponibile, era cosi` qualche tempo fa.
    Per deb la situazione e` un po` piu` ferraginosa, potresti cominciare dalla "maintainer guide".

    Rimane sempre valida l'opzione di prendere un pacchetto sorgente (.deb o .rpm) e guardare com'e` fatto.
    Idem per le manpagine, quelle che ho scritto le ho fatte a partire da (semplici) manpagine esistenti con un grezzo procedimento di try 'n' error.
    L'alternativa e` studiare, se ben ricordo, il formato di troff/nroff.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    1,157
    http://it.wikipedia.org/wiki/Linux_Standard_Base


    Non sono uno sviluppatore ma forse questo fa al caso tuo.



  5. #5
    Certamente: ma non cosi` tanto differenti!
    In particolare riguardo la strutturazione del FS ormai c'e` una certa standardizzazione (vedi il FileSystem Hierarchy Standard (http://www.pathname.com/fhs se ben ricordo)).
    Puoi assumere che le varie distro rispettino tale standard, e lavartene legittimamente le mani se non e` cosi`. Le maggiori distro, comunque, sono piu` o meno tutte FHS compliant, e sicuramente per cose macroscopiche come /usr/sbin!


    Citazione:
    [...]
    - Lo script di avvio vada in /etc/init.d per lo stesso motivo. Magari la gestione dei run level è anche differente.
    - etc...

    Purtroppo per gli script di avvio la situazione e` un po` spinosa. La cosa meno peggio e` fornire un tot di script precotti (o uno sufficientemente generico) per le maggiori distribuzioni.


    Citazione:
    [...]
    Come ha fatto lo sviluppatore del demone xxx a creare un source package che, se compilato, riesce ad installare il programma su qualunque piattaforma UNIX?
    Ci sono gli autotools, anche se molti preferirebbero che non ci fossero:
    automake + autoconf + libtool. Se riesci a domarli, e non e` banale, danno un grosso aiuto riguardo la portabilita`; certamente anche il codice dovra` essere strutturato in modo acconcio, ma un sacco di aspetti specifici della piattaforma riesci a gestirli, o quantomeno ad individuarli, grazie ai suddetti.

    Ci sono anche alternative piu` moderne (cmake? scons?) ma meno diffuse.


    Citazione:

    Magari anche una qualche dritta sui vari sistemi di pacchettizzazione (deb, rpm, depot ecc...) mi farebbe comodo.
    Per rpm trovi di tutto e di piu` su "maximum rpm", un libro liberamente scaricabile, spero sia ancora disponibile, era cosi` qualche tempo fa.
    Per deb la situazione e` un po` piu` ferraginosa, potresti cominciare dalla "maintainer guide".

    Rimane sempre valida l'opzione di prendere un pacchetto sorgente (.deb o .rpm) e guardare com'e` fatto.
    Idem per le manpagine, quelle che ho scritto le ho fatte a partire da (semplici) manpagine esistenti con un grezzo procedimento di try 'n' error.
    L'alternativa e` studiare, se ben ricordo, il formato di troff/nroff.
    Ti ringrazio molto per le info che mi sono state davvero molto utili.
    Immaginavo che la questione linux fosse molto controversa.
    Mi armo di pazienza e vedo cosa riesco a combinare.
    Per adesso ti ringrazio.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  6. #6
    Utente di HTML.it L'avatar di tagweb
    Registrato dal
    Jan 2006
    Messaggi
    165
    o dividi il tuo lavoro in pacchetti precompilati deb, rpm, ecc.. in modo da personalizzare la cosa a seconda della distro o imho fai un installer che chiede la path e non ti rompi. Magari fai scegliere il tipo di distro cosi' ha delle path di default sensate a prova di utente che scrive la path nella sua home.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.