Passa al contenuto principale

Sagra dell'uva

· 3 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Ricordati di santificare le feste.

A Zagarolo in provincia di Roma la festa è una - oltre al patrono San Lorenzo - ed è la prima domenica di ottobre: la Sagra dell'uva!

Che c'entra questo in un articolo dove andremo a trattare come adattare la versione attuale di penguins-eggs a LMDE 6 i386?

Certo, potrebbe sembrare un mistero.

In realtà però è piuttosto semplice: sono originario di Zagarolo e le "radighe", radici per chi non è del paese, non si dimenticano mai.

Dalle prime versioni di penguins-eggs, utilizzo nodesource come repository per nodejs. Da molti anni però nodesource non rilascia più la versione i386. Per molto tempo, facendo i salti mortali, sono rimasto legato all'ultima versione disponibile per i386 - la versione node8 - poi ho abbandonato, passando direttamente a node16.

Con l'uscita di Linuxmint LMDE 6, mi è stato chiesto se era possibile rimasterizzare anche la versione i386 e così mi sono trovato a rimetterci le mani.

penguins-eggs v8.17.17

Pur disponendo di tutti i sorgenti della versione 8.17.17 la stessa NON può essere transpilata senza "pesanti" interventi.

Ho optato, quindi - per fare una prova - ad utilizzarla lo stesso ma andando a modificare direttamente i file transpilati ed installati.

Tutto sommato è riuscito abbastanza semplice. Dopo aver installato penguins-eggs v.8.17.17 sono andato a modificare dei file che si trovano in /usr/lib/penguins-eggs/lib/classes e cioè, /usr/lib/penguins-eggs/lib/classes/distros.js sostituito debbie con faye, e nella riga successiva ho sostituito buster con bookworm

In verità vi era pure qualche altra cosa, su ovary.ts credo, ma ho prodotto la ISO - sabato - ed ha comuque funzionato.

Semplificare l'esistenza

Naturalmente allineare la versione i386 a quella amd64 sarebbe stato l'ideale per avere una sola versione e così - stamattina - ho ricominciato a provare.

Io utilizzo per creare il pacchetto deb, oclif che fa un po' tutto da solo ed è stato splendido, specialmente agli inizi.

Aprendo /usr/lib/penguins-eggs/bin ho visto che oclif pone l'eseguibile di node in questa posizione. Tale eseguibile è utilizzato per lanciare il pacchetto in luogo del canonico /usr/bin/node.

Ho provato allora a rifare il pacchetto eggs-v9.5.26 per i386, rimuovendo in DEBIAN/control i riferimenti ad amd64 e sostituendoli con i386, quindi aggiungendo nodejs alle dipendenze, per vedere cosa succede.

Niente, non succede niente.

Però, sostituendo all'eseguibile di node in /usr/lib/penguins-eggs/bin/node un link a /usr/bin/node installato con apt, il tutto torna a funzionare!

L'unica accortezza è appunto eseguire questa operazione dopo l'installazione.

Naturalmente, nei prossimi giorni, proverò ad automatizzare anche questo, includendo la creazione del link direttamente nello script di post-installazione.

Ma, per oggi direi che basta così e buona Sagra dell'uva a tutti!

Sagra dell'uva 2023