Gambas-it

Gambas3 => Domande tecniche => Topic aperto da: Cocirio - 05 Agosto 2015, 10:59:33

Titolo: [RISOLTO] creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 05 Agosto 2015, 10:59:33
Salve. Un paio di mesi fa ho provato a installare il pacchetto .deb di un progetto chiamato "lexcoc". Oggi ho provato con il progetto "solitgio". Ma il problema è sempre lo stesso: il pacchetto viene installato correttamente, ma poi il programma installato non funziona perché i file che stavano nella cartella del progetto non si trovano o non sono accessibili perché protetti.
Si può sapere come si deve procedere alla pagina 8 della creazione del pacchetto intitolata "Extra files"?
La procedura chiede di mettere dei files in una cartella ".hidden". Devo metterci tutti i files che stanno nella cartella del progetto?
Per favore ditemi qualcosa, se no non riesco ad andare avanti. Grazie.
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 05 Agosto 2015, 19:29:36
Bene. Due mesi fa avete letto in 91, oggi in 8. Nessuna risposta. Sono andato in giro con google e non ho trovato nessuna soluzione.
A questo punto mi sorge il dubbio che il wizard di gambas3 non sia utilizzabile. In alternativa copio nel computer target l'eseguibile con tutti i files che gli servono. Già l'altra volta avevo visto che, almeno nei miei computer, tutti con Linux Mint, questa manovra funziona.
Se non siete d'accordo, fatemelo sapere e datemi una soluzione.
Addio
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: kicco - 06 Agosto 2015, 10:46:06
Citazione
i file che stavano nella cartella del progetto non si trovano o non sono accessibili perché protetti.

provare a cambiare i permessi?...  :-\
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 07 Agosto 2015, 08:57:48
Vuoi dire cambiare i permessi nei file che stanno nella cartella del progetto? Ora ci provo: devo dare permessi di lettura ed eventuale scrittura a tutti! Se funziona, e non avrò bisogno degli 'extra files', è l'uovo di Colombo! Grazie.
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 07 Agosto 2015, 20:57:32
Purtroppo niente da fare. Ho provato con il mio progetto "lexcoc", dove ho pochi file: due immagini jpg e un file di testo.
Si fermava sull'apertura del file in creazione. Mi è sembrato che forse l'apertura in 'Create' non fosse adeguata. Allora ci ho messo prima un domanda per sapere se il file esistesse e nel caso lo elimina. Ma il programma si è fermato sempre lì. E comunque prima di fare creazione del pacchetto di installazione ho eliminato il file. Più semplice di così...
Ora è tardi. Domani ci metto anche qualcosa d'altro.
Comunque grazie per l'idea.
Ciao
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: kicco - 08 Agosto 2015, 11:16:09
 :ciao:
intanto scusa per l lentezza delle mie risposte, ma ho internet a tratti e instabile!

Citazione
pagina 8 della creazione del pacchetto intitolata "Extra files
a quale testo ti riferisci?
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 08 Agosto 2015, 13:54:13
Ehi, sto parlando del cosidetto wizard che viene lanciato con il comando "progetto/crea/pacchetto d'installazione". Non è propriamente un testo. Diciamo la schermata n. 8 intitolata "extra files".
Comunque ho ripetuto ancora la creazione del pacchetto .dev di lexcoc, dopo aver inserito in una label del form principale la directory dell'applicazione (Application.Path), per essere sicuro che il percorso finale del programma sul target sia proprio /usr/bin.
A me sembra che, ricevendo un messaggio di "access forbidden" al momento dell'apertura dell'unico file in scrittura, l'utente che gioca con lexcoc non ne sia proprietario o non sia autorizzato alla scrittura. Ma il mancato permesso di scrittura mi pare escluso da questo che vedo:
-rwxr-xr-x 1 root root 48618 ago  8 13:03 lexcoc
che ho ottenuto sul computer target col comando ls lexcoc -l (lexcoc sta proprio in /usr/bin).
Avrei bisogno di qualcuno che mi spiegasse esattamente il significato di questa riga, in particolare "root root 48618".
Inoltre vorrei sapere se esistono delle istruzioni per modificare i permessi e, magari, il proprietario.
Purtroppo sono ancora abbastanza ignorante di linux e di gambas.
Ciao
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: kicco - 08 Agosto 2015, 17:54:12
Vedo che nessun altro interviene quindi mi faccio avanti io:

Da quello che vedo i file di cui parli hanno come user e gruppo root quindi, prova a lanciare il tuo programma da terminale con il comando sudo e vedi cosa succede (ovviamente ti chiederà la password di root).
In teoria dovrebbe permettre l'accesso a tutti i file.
Se funziona allora si tratta di cambiare poi i permessi, ma dopo...
Credo tu stia usando Mint, mi confermi?
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Picavbg - 08 Agosto 2015, 22:35:56
Ma il mancato permesso di scrittura mi pare escluso da questo che vedo:
-rwxr-xr-x 1 root root 48618 ago  8 13:03 lexcoc
che ho ottenuto sul computer target col comando ls lexcoc -l (lexcoc sta proprio in /usr/bin).
Avrei bisogno di qualcuno che mi spiegasse esattamente il significato di questa riga, in particolare "root root 48618".
Inoltre vorrei sapere se esistono delle istruzioni per modificare i permessi e, magari, il proprietario.

Sul Web rovi quanto materiali vuoi in merito all'argomento Permessi. Per es. puoi leggere qui (http://www.mrwebmaster.it/linux/gestire-permessi-chmod-chown-chgrp_10211.html)

Per conoscere meglio la linea i comandi Unix, potresti seguire un corso come questo (http://www.coresis.com/extra/linuxcorsobase/5-6.htm)
 :ciao:
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 09 Agosto 2015, 08:46:53
Caspita! Sui permessi è la prima spiegazione chiara che vedo. Tra l'altro chiama 'proprietario' quello che gli altri chiamano user, il che mi chiarisce meglio le idee. Mi sono messo tutto nel segnalibri.
Per di più stanotte ho visto la luce che due mesi fa, non so come, il mio subconscio o il mio superio non voleva vedere: sotto la ide di gambas l'application.path è .../lexcoc (cioè la cartella del progetto), ma col programma installato l'application.path è /usr/bin, dove è chiaro che nemmeno il proprietario del sistema può mettere le mani. Credo che questo risolva tutto... o quasi.
Vi faccio sapere.
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 09 Agosto 2015, 17:17:58
Invece non è risolto niente! Il percorso /usr/bin/lexcoc sul target non è una directory valida e ho accertato che il file "istruzioni_lexcoc.txt" non esiste da nessuna parte nel filesystem. Dunque non è stato incluso nel pacchetto .deb di installazione. Pertanto nella procedura di creazione del pacchetto c'è qualcosa da fare che io non so fare. Avendo poi cercato "lexcoc" in /usr/bin, ho visto che non è una cartella e nemmeno un file qualunque: è di tipo sconosciuto. A me basterebbe che tutta la cartella del progetto fosse portata in una zona accessibile del target. Forse esiste un generatore di pacchetti .deb più maneggevole?
Grazie lo stesso.
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Gianluigi - 10 Agosto 2015, 14:27:47
Sono in vacanza tranquillamente spaparanzato al sole e mi costa un'immane fatica riuscire a concentrarmi anche sul più banale dei problemi tipo: “il costume è umido, cosa faccio lo cambio?” pertanto prendi questo mio intervento con il dovuto scetticismo ma, se non ho inquadrato male il tuo problema, esso nasce dal mischiare più problemi in uno.
Prima di pacchettizzare occorre creare un programma che rispetti alcune regole, ad esempio se occorre dare all'utilizzatore dei file da poter pienamente utilizzare (scrittura e/o esecuzione) questi non vanno inseriti nella directory del programma (puoi leggere qui (http://www.gambas-it.org/smf/index.php?topic=3984.msg35334#msg35334)) ma crei una directory (solitamente nascosta) col nome del programma nella Home dell'utilizzatore...
Cerca di capire il significato di percorso relativo e assoluto...

Ciao forum ci risentiamo a settembre (forse).
 :ciao:
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: vuott - 10 Agosto 2015, 15:31:01
Sono in vacanza tranquillamente spaparanzato al sole e mi costa un'immane fatica riuscire a concentrarmi anche sul più banale dei problemi....

Ciao forum ci risentiamo a settembre (forse).


....lo credo bene con queste variabili locali !    :evil:

(http://spiaggia1riccione.com/wp-content/uploads/Ragazze-in-Spiaggia1.jpg)
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Gianluigi - 10 Agosto 2015, 17:48:10
 :ot:
Più o meno:
Il mare è più limpido.
Le signorine peraltro bellissime hanno un'età più matura (intorno ai settanta dieci più dieci meno).
 :P
 :ciao:
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 11 Agosto 2015, 13:28:28
Ragazzi, la discussione si fa più interessante  :D. Buone vacanze a Gianluigi.
Ieri ho creduto di avervi risposto, ma oggi non ho trovato il mio messaggio.
Vi dico subito che, finalmente ho capito tutto (o quasi) e sono riuscito a creare il pacchetto dinstallazione molto bene (esattamente come facevo prima), a installate lexcoc, per ora, sullo stesso computer del progetto e a utilizzarlo senza errori. Come ho fatto?... Suspence...
Ho abbandonato l'uso di application.path, perché mi sono accorto che, usarlo o meno, sull'ide è la stessa cosa! E poi ho usato queste istruzioni per il file in creazione:
Codice: gambas [Seleziona]

scocfil = user.home & "/cocfiles"
If Not Exist(scocfil) Then
  Mkdir scocfil
Endif
If Exist(scocfil &/ "passi.txt") Then
  Kill scocfil &/ "passi.txt"
Endif
hFile = Open scocfil &/ "passi.txt" For Write Create

Ci voleva tanto? :P
Grazie a tutti.
Rimane però da spiegare qualcosa nella procedura di creazione del pacchetto installazione:
Pag. 2 Changelog. Che cos'è? A che serve? Che ci si scrive? Nomi di percorsi e file a mano libera.. pardon... a memoria e tastiera?
Pag. 8 Extra files. Si deve cliccare su aggiungi. Appare un nome di cartella '.hidden' (che non si può cambiare) e quello che sembra un file di testo 'changelog'. Se clicco su Ok non succede nulla. Devo annullare. Come si fa?
Passo e chiudo.
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Top Fuel - 11 Agosto 2015, 18:14:05
Il changelog non è niente altro che la lista di tutte le modifiche effettuate sul programma dalla prima versione a quella attuale.
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 11 Agosto 2015, 18:45:34
Ah! Quindi le scrive il programmatore . E poi l'utente come e dove le legge? Quindi se io metto qualcosa a pag. 2, poi a pag. 8 devo solo cliccare su ok e Gambas 3 lo accetta? Ora provo. Grazie.
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 12 Agosto 2015, 09:35:05
Ho provato. Ho chiesto di memorizzare changelog nella stessa cartella che ho usato per i files di lexcoc, ma non ce l'ho trovato, forse perché lui comunque va nella cartella .hidden ma, anche mostrando i file nascosti, non ho trovato nemmeno .hidden.
Ho provato a creare il pacchetto anche per solitgio (il solitario di Giovanna che ho messo tra i progetti degli utenti) ma, quando eseguo l'installato, mi succede una cosa allucinante. Guardate quete istruzioni:

Codice: gambas [Seleziona]

Public Sub leggi_opz()
If Exist(scocfil &/ "opz.txt") Then
  hfile = Open scocfil &/ "opz.txt" For Input
...
Else
  Message.Info("Il file '" & scocfil &/ "opz.txt' non esiste perciò viene costruito automaticamente.")
  '
  scrivi_opz
Endif
End
...
Public Sub scrivi_opz()
  If Exist(scocfil &/ "opz.txt") Then
    Kill scocfil &/ "opz.txt"
  Endif
  hfile = Open scocfil &/ "opz.txt" For Create
...
End


Sotto ide va tutto bene, ma l'installato, in 'leggi_opz', mi dà il messaggio di errore per l'inesistenza di 'opz.txt' e, subito dopo, in 'scrivi_opz', il comando kill prende 'access forbidden'!!! Vuol dire che la stessa istruzione (If Exist(scocfil &/ "opz.txt") Then), in 'leggi_opz', non ha trovato il file e, in 'scrivi_opz', l'ha trovato!
Come è possibile? Nel programma non ci sono altri luoghi dove si scriva o legga il file "opz.txt". :hard:
 
Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Gianluigi - 12 Agosto 2015, 10:34:03
Hai letto bene quanto ti ho scritto qui (http://www.gambas-it.org/smf/index.php?topic=4202.msg36305#msg36305)?  :-\



Titolo: Re: creazione di un paccketto d'installazione di un progetto gambas3
Inserito da: Cocirio - 12 Agosto 2015, 13:02:48
Certo, Gianluigi. E ho seguito il consiglio tuo e di altri. E' così che ho risolto il problema dell'installazione di lexcoc.
Con solitgio c'è l'allucinazione che ho descritto nel messaggio precedente.  Che cosa ho fatto?
Dillo tu!
Vabbè, non voglio disturbarti mentre ti godi le tue favolose vacanze.
Ho disabilitato (spero temporaneamente) la gestione delle opzioni, in modo che il programma non accedesse più al file 'opz.txt', e il programma installato ha funzionato perfettamente con altri 4 file trattati nella stessa maniera di 'opz.txt', cioè tutti nella cartella 'cocfiles' (che poi è la stessa usata per lexcoc e questo, se ci fossero file omonimi, sarebbe un guaio).
Ma la follia dell'istruzione 'If Exist(scocfil &/ "opz.txt") Then', che in un punto del programma installato dà un risultato e nell'altro l'opposto, qualcuno di voi me la deve spiegare! >:(
Altrimenti vi scateno san Midi, con cui ormai sono in confidenza sanmidi

P.S. Naturalmente la cartella 'cocfiles', anche all'inizio di solitgio, è stata trattata, come per lexcoc così:
Codice: gambas [Seleziona]

scocfil = user.home & "/cocfiles"  
If Not Exist(scocfil) Then  
  Mkdir scocfil  
Endif  


P.P.S.
Datevi pace almeno voi. Ho cambiato nome al file 'opz.txt', l'ho chiamato 'opzioni.txt' e ora funziona. Ma non sono soddisfatto. Farò la 'prova del nove'.

P.P.P.S.
La prova del nove è negativa! Ho rimesso il vecchio nome 'opz.txt' e, dopo la nuova installazione, solitgio... ha continuato a funzionare. Il mistero rimane lì.
Va bene. E' difficile rispondere a queste assurdità. Involontarie, s'intende. Io ho riferito quello che ho visto. Confidando nella dea fortuna, che sarebbe il caso di mettere tra gli altri 'smiles', direi di chiudere la discussione con 'RISOLTO'.
Ciao