Sagra dell'uva
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!