DOMANDA Package mantainer

Pubblicità

DarkSmasher

Utente Attivo
Messaggi
462
Reazioni
126
Punteggio
41
Ei,

vorrei ricevere se possibile una spiegazione fatta bene sul lavoro che deve svolgere un package mantainer per mantenerlo. Mi spiego meglio: che cosa implica e come funziona?


Vi ringrazio di cuore in anticipo,

DarkSmasher
 
È un ruolo molto complesso, che ha bisogno non solo di molte competenze (programmazione, build systems, tooling e quant'altro), ma anche di una discreta attività sociale (partecipazione a mailing list di vari programmi in upstream, aprire e discutere eventuali bugs [facendolo in maniera precisa e razionale], partecipazione alla community/ML della distro scelta). Ogni distro ha tooling ed ecosistemi diversi ed è ovviamente indispensabile capire verso quale distro ci si vuole indirizzare. Un buon maintainer deve essere in grado di scovare e risolvere problemi di dipendenze ad esempio, segnalarli in mailing list della distro, molto probabilmente segnalare l'incompatibilità (se non già nota e intenzionale) sulla ML/repo del programma upstream e scrivere una patch e far PR in upstream per sistemare. Se per un motivo X un suddetto problema non viene fixato in upstream ed eventuali PR rifiutate perché troppo distro specifiche, un buon maintainer deve segnalare il problema in mailing list e applicare le patch nel pacchetto per la distro descrivendole nello/negli specfile(s) (RPM è molto più salutare e logico sotto questo punto di vista rispetto a deb ma YMMV). La distro col packaging più facile è sicuramente slackware (nessun tooling particolare e niente risoluzione automatica delle dipendenze, tuttavia nel tar le info e dipendenze vanno obbligatoriamente inserite), seguita probabilmente da gentoo e arch, poi le RPM based, DEB based e infine le distro funzionali (che sono imho vere perle di innovazione nonché il futuro di GNU/Linux). Insomma, bisogna capire che sistema hai, perché vuoi fare il package maintainer e se sei veramente convinto di poterlo fare, è vero che non è un lavoro vero e proprio ed è volontariato per la maggior parte, ma le guidelines della community sono molto severe a riguardo. Ah e, ovviamente, devono avere numerose macchine virtuali con software instabile per testare i pacchetti, ma questo va da sé.
 
È un ruolo molto complesso, che ha bisogno non solo di molte competenze (programmazione, build systems, tooling e quant'altro), ma anche di una discreta attività sociale (partecipazione a mailing list di vari programmi in upstream, aprire e discutere eventuali bugs [facendolo in maniera precisa e razionale], partecipazione alla community/ML della distro scelta). Ogni distro ha tooling ed ecosistemi diversi ed è ovviamente indispensabile capire verso quale distro ci si vuole indirizzare. Un buon maintainer deve essere in grado di scovare e risolvere problemi di dipendenze ad esempio, segnalarli in mailing list della distro, molto probabilmente segnalare l'incompatibilità (se non già nota e intenzionale) sulla ML/repo del programma upstream e scrivere una patch e far PR in upstream per sistemare. Se per un motivo X un suddetto problema non viene fixato in upstream ed eventuali PR rifiutate perché troppo distro specifiche, un buon maintainer deve segnalare il problema in mailing list e applicare le patch nel pacchetto per la distro descrivendole nello/negli specfile(s) (RPM è molto più salutare e logico sotto questo punto di vista rispetto a deb ma YMMV). La distro col packaging più facile è sicuramente slackware (nessun tooling particolare e niente risoluzione automatica delle dipendenze, tuttavia nel tar le info e dipendenze vanno obbligatoriamente inserite), seguita probabilmente da gentoo e arch, poi le RPM based, DEB based e infine le distro funzionali (che sono imho vere perle di innovazione nonché il futuro di GNU/Linux). Insomma, bisogna capire che sistema hai, perché vuoi fare il package maintainer e se sei veramente convinto di poterlo fare, è vero che non è un lavoro vero e proprio ed è volontariato per la maggior parte, ma le guidelines della community sono molto severe a riguardo. Ah e, ovviamente, devono avere numerose macchine virtuali con software instabile per testare i pacchetti, ma questo va da sé.
Allora a questo punto ti chiedo... cosa intendi con: "distro funzionale"?
 
Allora a questo punto ti chiedo... cosa intendi con: "distro funzionale"?
Le distro funzionali sono dei sistemi operativi generati a partire da uno o più file di testo e non hanno il classico FHS /etc, /bin e compagnia, un tree particolare. Hai mai voluto clonare il tuo sistema per passarlo in un altro computer? Beh con una distro funzionale ti basta semplicemente salvarti i file di testo di configurazione e usarli in fase di install sulla nuova macchina e avrai un clone perfetto, fino all'ultimo software, della macchina originaria. Ovviamente tutto ciò non è perfetto e ha qualche problema, specialmente con pacchetti normali, ma anche con pacchetti tipo apache e soci che hanno bisogno di configurazioni ad-hoc che normalmente faresti su /etc. Due esempi di distro funzionali sono NixOS e GuixSD, quest'ultima progetto GNU che si basa su NixOS ma porta il concetto di distro funzionale sino addirittura al gestore di servizi, che non è systemd ma shepherd. Ci sarebbe moltissimo da dire su queste distro ma in verità non mi sembra il luogo adeguato per discuterne (né è qualcosa di inerente alla tua domanda).
 
Le distro funzionali sono dei sistemi operativi generati a partire da uno o più file di testo e non hanno il classico FHS /etc, /bin e compagnia, un tree particolare. Hai mai voluto clonare il tuo sistema per passarlo in un altro computer? Beh con una distro funzionale ti basta semplicemente salvarti i file di testo di configurazione e usarli in fase di install sulla nuova macchina e avrai un clone perfetto, fino all'ultimo software, della macchina originaria. Ovviamente tutto ciò non è perfetto e ha qualche problema, specialmente con pacchetti normali, ma anche con pacchetti tipo apache e soci che hanno bisogno di configurazioni ad-hoc che normalmente faresti su /etc. Due esempi di distro funzionali sono NixOS e GuixSD, quest'ultima progetto GNU che si basa su NixOS ma porta il concetto di distro funzionale sino addirittura al gestore di servizi, che non è systemd ma shepherd. Ci sarebbe moltissimo da dire su queste distro ma in verità non mi sembra il luogo adeguato per discuterne (né è qualcosa di inerente alla tua domanda).
Grazie di aver avuto pazienza e di aver risposto alle mie domande e ai miei dubbi.
 
Pubblicità
Pubblicità

Discussioni Simili

Indietro
Top