Inserito da: LukenShiro | 7 Giugno 2007

Guida a Unico PF 2007 con GNU/Linux

MOLTI ENTI E SOCIETA’ PUBBLICHE PRODUTTRICI DI SOFTWARE ISTITUZIONALE PER WINDOWS NON HANNO FINORA RITENUTO DI PUBBLICARE VERSIONI ANCHE PER GNU/LINUX O MULTIPIATTAFORMA, ESCLUDENDO DI FATTO PRIVATI CITTADINI, IMPRENDITORI E PROFESSIONISTI DALL’ACCESSO LIBERO AI SISTEMI INFORMATICI DELLA PUBBLICA AMMINISTRAZIONE, PER FAR FRONTE AD ADEMPIMENTI BUROCRATICI E GIURIDICI OBBLIGATORI; PER ESSI INFATTI SONO RICONOSCIUTI, IN MODO ILLEGITTIMO, SOLO SISTEMI OPERATIVI MICROSOFT WINDOWS.
L’AUTORE CONDANNA FERMAMENTE QUESTO SCANDALOSO COMPORTAMENTO DELLA P.A., E SI AUGURA CHE QUESTI ENTI E SOCIETA’ RENDANO FINALMENTE DISPONIBILE L’ACCESSO AI CITTADINI CHE, DI PIENO DIRITTO, UTILIZZANO INVECE SISTEMI OPERATIVI ALTERNATIVI A MS WINDOWS (CHIUSO E PROPRIETARIO).
GLI UTENTI SONO CALOROSAMENTE INVITATI A SOLLECITARE LE AMMINISTRAZIONI PUBBLICHE A CONSENTIRE IL LIBERO ACCESSO ALLE LORO PROCEDURE CON SISTEMI ALTERNATIVI A WINDOWS, NONCHE’ AD UTILIZZARE IN PRIMA BATTUTA, LADDOVE DISPONIBILE, SOFTWARE RILASCIATO ANCHE PER GNU/LINUX.
LA GUIDA SEGUENTE SI RIFERISCE INFATTI A “TRUCCHI” NON UFFICIALI PER I QUALI NON E’ MAI GARANTITA AL 100% LA COMPATIBILITA’ CON LA PROCEDURA UFFICIALE PER WINDOWS STABILITA DAL PRODUTTORE DEL SOFTWARE, NE’ CON IL RISULTATO IN TERMINI DI FORMATO E/O DI CONTENUTO DELLA PROCEDURA IN AMBIENTE WINDOWS, E CHE NON POSSONO MAI CON CERTEZZA E COMPLETEZZA SOSTITUIRE A TUTTI GLI EFFETTI L’AMBIENTE PER I QUALI SONO ORIGINARIAMENTE CONCEPITI.

.
.

Sebbene esista un interessante progetto per utilizzare una versione parzialmente libera di alcuni programmi basati su java, in modo da non essere più dipendenti dalla benevolenza di molte Amministrazioni ed Enti pubblici riguardo all’uso di un sistema operativo specifico, e dall’antiquata java della serie 1.3.x (tutt’ora utilizzata p.es. dai programmi in materia fiscale della SO.GE.I.), purtroppo tale meritorio progetto è ancora allo stadio embrionale.
In ogni caso io vi partecipo, nei limiti del possibile, come tester, perché credo nell’importanza di un simile progetto per il mondo GNU/Linux, e così mi auguro che faccia chiunque legga questo articolo.
Il progetto, di Diego Zanga e altri, in cui l’elemento fondamentale è la sostituzione di alcune classi java proprietarie con delle alternative sotto licenza GNU GPL, si chiama LinuxClassLoader ed è ospitato sul sito dell’Osservatorio OpenSource del CNIPA (Centro Nazionale per l’Informatica nella Pubblica Amministrazione), un recente ambiente di sviluppo collaborativo.

In attesa che il progetto maturi ho deciso di creare un’altra guida passo-passo per l’utilizzo del programma Unico PF 2007, applicazione che serve per la redazione dei modelli di dichiarazione dei redditi delle persone fisiche.

A differenza di Gerico2007 l’Agenzia delle Entrate e la SO.GE.I. hanno reso disponibile l’applicazione solo per piattaforma Windows e MacOS. Per farlo funzionare su GNU/Linux, sarà necessario operare degli adattamenti.
.
Prima di continuare la lettura si prega di prendere conoscenza delle CONDIZIONI DI UTILIZZO ed accettarle.
.
.

    PREPARAZIONE

Creiamo una sotto-directory temporanea, preferibilmente nella directory $HOME, di nome p.es. $HOME/tmp/UnicoPF2007

Scarichiamo in questa directory il file UNI2007_120.exe UNI2007_121.exe UNI2007_122.exe UNI2007_123.exe (ultima versione corrente: 120 1.2.1 del 06/07/2007 1.2.2 del 03/08/2007 1.2.3 del 24/09/2007) a partire da qui

Il programma per Windows è binario, con licenza proprietaria, senza disponibilità quindi di sorgenti. Esso utilizza una macchina virtuale java della serie 1.3.x

Servono altri utensili per scompattare il contenuto dell’applicazione, al fine di renderlo usabile per GNU/Linux (si consiglia la versione più recente, può darsi che siano disponibili come pacchetti per la vostra distribuzione):
upx (che serve a decomprimere un eseguibile)
unzip (che serve a scompattare il contenuto dell’eseguibile decompresso)
Verificare che siano installati.

Decomprimere l’eseguibile con upx -k -d UNI2007_123.exe (con l’opzione -k si mantiene una copia di sicurezza con lo stesso nome e l’estensione .ex~)
Scompattare l’eseguibile con unzip UNI2007_123.exe

I file prodotti dallo scompattamento sono questi:
InstallerData/IAClasses.zip
InstallerData/laxmanifest.txt
InstallerData/uninstallmanifest.txt
InstallerData/Disk1/InstData/MediaId.properties
InstallerData/Disk1/InstData/Resource1.zip
InstallerData/Execute.zip
InstallerData/InstalledMedias.properties
InstallerData/MediaFiles.properties
Windows/UNI2007_123.exe
Windows/UNI2007_123.lax
Windows/resource/iawin32.dll
Windows/resource/jdglue.zip
Windows/resource/remove.exe
Windows/resource/ZGWin32LaunchHelper.exe
Windows/unicows.dll

.
.

    JAVA

Se si è già installato un altro programma dell’Agenzia delle Entrate/SO.GE.I. è probabile che questo passo sia già stato completato, in tal caso si può passare direttamente al successivo.

Altrimenti è opportuno leggere la guida software per Java
.
.

    INSTALLAZIONE

Ritornare nella directory temporanea e creare, come utente, uno script testuale di shell (es. installaUNIPF2007.sh), da rendere poi eseguibile, con questo contenuto:

1 #!/bin/sh
2 export J2REDIR=/opt/jre1.3.1_20/
3 export PATH=$J2REDIR/bin:$PATH
4 export MANPATH=$J2REDIR/man:$MANPATH
5 export CLASSPATH=$J2REDIR/lib:$CLASSPATH
6 export JAVA_HOME=$J2REDIR
7 LD_LIBRARY_PATH=$J2REDIR java -classpath “InstallerData/IAClasses.zip: Windows/resource/jdglue.zip:InstallerData/Execute.zip: Windows/InstallerData/Execute.zip: InstallerData:Windows/InstallerData: InstallerData/Disk1/InstData/Resource1.zip” com.zerog.lax.LAX “Windows/UNI2007_123.lax”

Note: a) I numeri in corrispondenza delle righe servono solo a far capire il cambio di riga, e NON vanno riportati nello script.
b) la directory in corrispondenza di J2REDIR è quella dove abbiamo installato la macchina virtuale java della serie 1.3.x
c) il comando che inizia con “LD_LIBRARY_PATH” (fino alla fine) deve essere collocato tutto su una riga o convenientemente posizionato su più righe ognuna delle quali (a parte l’ultima) termina con un carattere di escape (“\”) e un ritorno a capo.

Nella directory temporanea eseguiamo lo script con ./installaUNIPF2007.sh, seguiamo le istruzioni e indichiamo come directory di destinazione dell’installazione, una sotto-directory della propria home (preferibilmente $HOME/UnicoOnLine), e proseguiamo in avanti fino al termine dell’installazione.
La scelta di questa directory è motivata dal fatto che è meglio distanziarsi il meno possibile dalle scelte operative della SO.GE.I., al fine di prevenire malfunzionamenti, dato che UnicoOnline, F24OnLine e eventualmente F24Intermediari sono strettamente connessi tra di loro, e che nella versione Windows sono collocati tutti e tre in questa sotto-directory comune.

Nella directory di installazione $HOME/UnicoOnLine creare, come utente, uno script testuale di shell (es. avviaUNIPF2007.sh), da rendere poi eseguibile, con questo contenuto:

1 #!/bin/sh
2 export J2REDIR=/opt/jre1.3.1_20/
3 export PATH=$J2REDIR/bin:$PATH
4 export MANPATH=$J2REDIR/man:$MANPATH
5 export CLASSPATH=$J2REDIR/lib:$CLASSPATH
6 export JAVA_HOME=$J2REDIR
7 LD_LIBRARY_PATH=$J2REDIR java -classpath “./lax.jar:./UNI07/UNI07.jar:./controlliAssistenza2007.jar:./BQJGA100.jar:./etymon.jar:./sax.jar:./crimson.jar:./xp.jar” finanze.IDAC.guiUNI.MainWinUNI07

Note: valgono le medesime note dello script di installazione

Può accadere che in GNU/Linux alcuni dei file della directory di installazione $HOME/UnicoOnLine, in particolare nella sotto-directory UNI07, non siano stati installati con il maiuscolo e/o minuscolo richiesti. E’ importante verificare in particolare che esistano UNI07.jar e UNI07.ini (e non siano invece in minuscolo).
.
Bene, abbiamo installato Unico PF 2007 su GNU/Linux!

    NOTE:

- Al momento non c’è ancora modo di far visualizzare i file .pdf della guida, delle istruzioni e del modello compilato (non appare alcun messaggio. Non si capisce come venga chiamato il visualizzatore pdf). E’ comunque possibile usufruire di questi pdf nel modo standard di GNU/Linux nella directory $HOME/UnicoOnLine/UNI07/localAppRoot/help/ e $HOME/UnicoOnLine/stampe/ (usando dalla riga di comando o da un file manager il comando xpdf, kpdf, o evince, ecc..).
.
.

    AVVIO

Recandoci nella directory di installazione $HOME/UnicoOnLine, eseguiamo lo script con ./avviaUNIPF2007.sh
L’applicazione è pronta all’uso.
NOTA: per trasmettere per via telematica il proprio modello Unico PF 2007 è necessario installare l’applicazione FileInternet (che è oggetto di trattazione in questa guida), altrimenti il programma lamenta la mancanza di alcune classi java. Nel caso si usi Entratel l’applicazione FileInternet non serve, in tal caso salvare il file e poi spedirlo separatamente con Entratel.

AVVERTENZE
Può capitare che il programma con la vecchia java dia questo errore fatale, impedendo al programma di funzionare:

** glibc detected *** /opt/jre1.3.1_20/bin/i386/native_threads/java: double free or corruption (fasttop): 0×084b88b0 ***

In tal caso, per il solo UniconLine si può provare ad utilizzare la java 1.5.x (usare la versione più recente), sostituendola negli script alla java 1.3.x; la versione della serie 1.5.x sembra funzionare bene, produce regolarmente il file .upf del modello unico, restano però validi i contenuti dell’articolo e le relative limitazioni (ovviamente, però, se si usa la 1.5.x si prega di NON seguire l’articolo sugli accorgimenti per la 1.3.x)
P.S. Ho provato ad utilizzare come macchina virtuale java, una serie e versione più recente della Sun, precisamente la versione 1.6.0. Questa sembra problematica: il programma si pianta …


Risposte

  1. Bravo! La tua guida è molto utile, peccato che sia un po’ complicata per utenti alle prime armi. Io da utente poco esperto userei una macchina virtuale per eseguire quelle applicazioni. Poi magari avendo tempo proverei la tua strada.

    Ciò non toglie che la tua guida sia ottima. Complimenti per l’impegno!

  2. Ti ringrazio.
    Purtroppo non ho ancora trovato un modo più semplice di questo per l’esecuzione “nativa” di questi programmi in GNU/Linux.
    Mi rendo conto che sia per contribuenti che per professionisti non è molto facile, purtroppo finché la sogei programma in java castrando la sua essenza multipiattaforma, con percorsi hardcoded e con una pletora di .exe chiamati dalle funzioni java, è difficile pensare ad un utilizzo senza imprevisti e più scorrevole … ma non lamentiamoci troppo, potrebbe essere peggio (tipo come con l’INPS e Camera di Commercio) :-(

    L’uso di una macchina virtuale tipo Virtualbox, qemu, VMware ecc… può essere certo una buona alternativa, avendo una licenza di Windows, anche se viene vanificato lo spirito di poter usare linux come sostituto completo. Spero davvero che il progetto di D.Zanga vada in porto e si possa poi estendere ad altre classi java della sogei.


Lascia un commento

La tua risposta:

Categorie