DOMANDA Package mantainer

DarkSmasher

Utente Attivo
462
126
CPU
Portatile: Intel Core i3-6006U Fisso: Intel Core2 Duo
Dissipatore
Fisso: Stock Intel
HDD
Portatile: SSD 500 GB SATA III Fisso: Hard Disk 250 GB SATA II -> AHCI + RAID Controller
RAM
Portatile: 4 GB DDR4 SDRAM Fisso: 4 GB DDR2
GPU
Portatile: Intel HD 520 Graphics Fisso: NVIDIA GT 8400 GS
Monitor
Monitor ASUS
Periferiche
Fisso: Tastiera HP e mouse Logitech wireless
Net
Fibra HTTC
OS
Portatile: Kubuntu Deepin Fisso: Debian 9
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
 

maddo

Nuovo Utente
121
58
CPU
i5-4690k
Dissipatore
Noctua NH-D15 (doppia ventola con LNC)
Scheda Madre
Asus Z97 Pro Gamer
HDD
SSD Crucial MX500 256GB + WD Blue 1TB + SSD Sandisk UltraII 240GB
RAM
Corsair Vengeance LP DDR3 2x8GB 1600MHz CL9
GPU
Nvidia MSI GTX 970 GAMING 4G
Monitor
HP 24es
PSU
EVGA 650 G2
Case
Fractal Design Define R5
Periferiche
IZITIK-105M keyboard; Logitech G602 Wireless Mouse
Net
Infostrada Fibra 100/20Mbps
OS
openSUSE Leap 15 KDE x86_64
È 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é.
 

DarkSmasher

Utente Attivo
462
126
CPU
Portatile: Intel Core i3-6006U Fisso: Intel Core2 Duo
Dissipatore
Fisso: Stock Intel
HDD
Portatile: SSD 500 GB SATA III Fisso: Hard Disk 250 GB SATA II -> AHCI + RAID Controller
RAM
Portatile: 4 GB DDR4 SDRAM Fisso: 4 GB DDR2
GPU
Portatile: Intel HD 520 Graphics Fisso: NVIDIA GT 8400 GS
Monitor
Monitor ASUS
Periferiche
Fisso: Tastiera HP e mouse Logitech wireless
Net
Fibra HTTC
OS
Portatile: Kubuntu Deepin Fisso: Debian 9
È 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"?
 

maddo

Nuovo Utente
121
58
CPU
i5-4690k
Dissipatore
Noctua NH-D15 (doppia ventola con LNC)
Scheda Madre
Asus Z97 Pro Gamer
HDD
SSD Crucial MX500 256GB + WD Blue 1TB + SSD Sandisk UltraII 240GB
RAM
Corsair Vengeance LP DDR3 2x8GB 1600MHz CL9
GPU
Nvidia MSI GTX 970 GAMING 4G
Monitor
HP 24es
PSU
EVGA 650 G2
Case
Fractal Design Define R5
Periferiche
IZITIK-105M keyboard; Logitech G602 Wireless Mouse
Net
Infostrada Fibra 100/20Mbps
OS
openSUSE Leap 15 KDE x86_64
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).
 

DarkSmasher

Utente Attivo
462
126
CPU
Portatile: Intel Core i3-6006U Fisso: Intel Core2 Duo
Dissipatore
Fisso: Stock Intel
HDD
Portatile: SSD 500 GB SATA III Fisso: Hard Disk 250 GB SATA II -> AHCI + RAID Controller
RAM
Portatile: 4 GB DDR4 SDRAM Fisso: 4 GB DDR2
GPU
Portatile: Intel HD 520 Graphics Fisso: NVIDIA GT 8400 GS
Monitor
Monitor ASUS
Periferiche
Fisso: Tastiera HP e mouse Logitech wireless
Net
Fibra HTTC
OS
Portatile: Kubuntu Deepin Fisso: Debian 9
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.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili