App signature non trovata

0 views
Skip to first unread message

Pier Luigi Fiorini

unread,
Mar 24, 2009, 3:44:32 PM3/24/09
to Haiku-OS Italia Dev
Salve,

IM Kit da qualche mese a questa parte ha un nuovo programma fatto da
slaad che si chiama ProtocolLoader.
Tale programma viene cercato tramite una query da im_server.
Questa query cerca tutti i file con il BEOS:APP_SIG di ProtocolLoader e
il mime type degli eseguibili, ovvero in questo modo:

BQuery* query = new BQuery();
query->SetPredicate("((BEOS:APP_SIG==\""IM_PROTOCOL_LOADER_SIG"\")&&(BEOS:TYPE==\"application/x-vnd.Be-elfexecutable\"))");
query->SetVolume(&volume);
query->Fetch();

if (query->GetNextRef(&ref) == B_OK) {
break;
}


IM_PROTOCOL_LOADER_SIG è definito come
application/x-vnd.im_kit.protocol_loader

Con un sistema Haiku "vergine", im_server non riesce a trovare
ProtocolLoader.
Ho tentato di fare una query dalla GUI di Haiku e non trovo il programma.
A quanto pare ProtocolLoader viene trovato solo in un caso: è necessario
lanciarlo con gli argomenti giusti (dandogli quindi in pasto un
protocollo e il relativo file di configurazione dell'account) poichè se
il parsing degli argomenti non fallisce il codice arriva alla creazione
del BApplication.

Premetto che i miei script di jam eseguono già mimeset -f sugli
eseguibili che vengono compilati.

C'è forse qualcosa che ho dimenticato di fare?
Ci sono dei suggerimenti che vi sentite di darmi?

Salvatore Benedetto

unread,
Mar 25, 2009, 6:27:45 AM3/25/09
to haiku-os-...@googlegroups.com
2009/3/24 Pier Luigi Fiorini <pierluig...@gmail.com>:

>
> Salve,
>
> IM Kit da qualche mese a questa parte ha un nuovo programma fatto da
> slaad che si chiama ProtocolLoader.
> Tale programma viene cercato tramite una query da im_server.

Ok.

> Questa query cerca tutti i file con il BEOS:APP_SIG di ProtocolLoader e
> il mime type degli eseguibili, ovvero in questo modo:
>
>        BQuery* query = new BQuery();
>        query->SetPredicate("((BEOS:APP_SIG==\""IM_PROTOCOL_LOADER_SIG"\")&&(BEOS:TYPE==\"application/x-vnd.Be-elfexecutable\"))");
>        query->SetVolume(&volume);
>        query->Fetch();
>
>        if (query->GetNextRef(&ref) == B_OK) {
>                break;
>        }
>
>
> IM_PROTOCOL_LOADER_SIG è definito come
> application/x-vnd.im_kit.protocol_loader
>

Qui non ho piu capito. :-)

> Con un sistema Haiku "vergine", im_server non riesce a trovare
> ProtocolLoader.

Quel poco che so e' che se l'attributo non e' tra quello di default
prima indicizzato,
ma se il caso non e' questo si tratta di un bug di Haiku.


> Ho tentato di fare una query dalla GUI di Haiku e non trovo il programma.

La query dal programma di Haiku l hai fatta giusta? Un listattr del
ProtocolLoader
ti mostra correttamente gli attributi?

> A quanto pare ProtocolLoader viene trovato solo in un caso: è necessario
> lanciarlo con gli argomenti giusti (dandogli quindi in pasto un
> protocollo e il relativo file di configurazione dell'account) poichè se
> il parsing degli argomenti non fallisce il codice arriva alla creazione
> del BApplication.
>

Ma quindi cerchi l'applicazione mentre e' runtime ?

> Premetto che i miei script di jam eseguono già mimeset -f sugli
> eseguibili che vengono compilati.
>

Ove mimeset -f significa ?

> C'è forse qualcosa che ho dimenticato di fare?
> Ci sono dei suggerimenti che vi sentite di darmi?
>

Mi dispiace che nessun altro ti abbia ancora risposto, e che io abbia piu
domande che risposte. :-)

Saluti,
--
Salvatore Benedetto (a.k.a. emitrax)
Student of Computer Engineer
University of Pisa
www.haiku-os.it

Pier Luigi Fiorini

unread,
Mar 25, 2009, 5:07:35 PM3/25/09
to haiku-os-...@googlegroups.com
Salvatore Benedetto ha scritto:

>> Questa query cerca tutti i file con il BEOS:APP_SIG di ProtocolLoader e
>> il mime type degli eseguibili, ovvero in questo modo:
>>
>> BQuery* query = new BQuery();
>> query->SetPredicate("((BEOS:APP_SIG==\""IM_PROTOCOL_LOADER_SIG"\")&&(BEOS:TYPE==\"application/x-vnd.Be-elfexecutable\"))");
>> query->SetVolume(&volume);
>> query->Fetch();
>>
>> if (query->GetNextRef(&ref) == B_OK) {
>> break;
>> }
>>
>>
>> IM_PROTOCOL_LOADER_SIG è definito come
>> application/x-vnd.im_kit.protocol_loader
>>
>>
>
> Qui non ho piu capito. :-)
>
Dai su non fare il modesto hai capito benissimo: e' il codice che viene
fatto per trovare l'eseguibile di ProtocolLoader. :)

>> Con un sistema Haiku "vergine", im_server non riesce a trovare
>> ProtocolLoader.
>>
>
> Quel poco che so e' che se l'attributo non e' tra quello di default
> prima indicizzato,
> ma se il caso non e' questo si tratta di un bug di Haiku.
>
Un mkindex BEOS:APP_SIG è sufficiente?

>
>
>> Ho tentato di fare una query dalla GUI di Haiku e non trovo il programma.
>>
>
> La query dal programma di Haiku l hai fatta giusta? Un listattr del
> ProtocolLoader
> ti mostra correttamente gli attributi?
>
Avevo dimenticato di specificarlo: listattr sull'eseguibile mostra tutti
gli attributi e un catattr BEOS:APP_SIG mi fa vedere l'application
signature corretta, ma questo non è sufficiente a trovarlo con una query.

>> A quanto pare ProtocolLoader viene trovato solo in un caso: è necessario
>> lanciarlo con gli argomenti giusti (dandogli quindi in pasto un
>> protocollo e il relativo file di configurazione dell'account) poichè se
>> il parsing degli argomenti non fallisce il codice arriva alla creazione
>> del BApplication.
>>
>>
>
> Ma quindi cerchi l'applicazione mentre e' runtime ?
>
No, l'eseguibile del ProtocolLoader viene cercato via query per poi
lanciarlo con i parametri giusti.
Chiaramente basterebbe hardcodare un path fisso ma non è una soluzione
che apprezzo.

>
>> Premetto che i miei script di jam eseguono già mimeset -f sugli
>> eseguibili che vengono compilati.
>>
>>
>
> Ove mimeset -f significa ?
>
>
Sarebbe l'equivalente del Identify del Tracker. In realtà, se non vado
errato, ha una correlazione con il mimetype (che in questo caso è quello
degli eseguibili) piuttosto che con l'app signature.

>> C'è forse qualcosa che ho dimenticato di fare?
>> Ci sono dei suggerimenti che vi sentite di darmi?
>>
>>
>
> Mi dispiace che nessun altro ti abbia ancora risposto, e che io abbia piu
> domande che risposte. :-)

Non ti preoccupare, ti ringrazio lo stesso :)

Salvatore Benedetto

unread,
Mar 25, 2009, 5:44:59 PM3/25/09
to haiku-os-...@googlegroups.com
2009/3/25 Pier Luigi Fiorini <pierluig...@gmail.com>:

>
>>
>> Quel poco che so e' che se l'attributo non e' tra quello di default
>> prima indicizzato,
>> ma se il caso non e' questo si tratta di un bug di Haiku.
>>
> Un mkindex BEOS:APP_SIG è sufficiente?

E' una bella domanda a cui non so rispondere adesso.
lsindex pero dovrebbe farti vedere quali sono gli attributi per cui
sono esistono degli indici in BFS. Vedi se ti puo aiutare.

>>
>>
>>> Ho tentato di fare una query dalla GUI di Haiku e non trovo il programma.
>>>
>>

Sei sicuro di aver fatto la query correttamente? Dovrebbe essere case sensitive.
Sicuro elf non sia Elf ? La butto li.

Pier Luigi Fiorini

unread,
Mar 25, 2009, 6:07:50 PM3/25/09
to haiku-os-...@googlegroups.com
Salvatore Benedetto ha scritto:

> 2009/3/25 Pier Luigi Fiorini <pierluig...@gmail.com>:
>
>>> Quel poco che so e' che se l'attributo non e' tra quello di default
>>> prima indicizzato,
>>> ma se il caso non e' questo si tratta di un bug di Haiku.
>>>
>>>
>> Un mkindex BEOS:APP_SIG è sufficiente?
>>
>
> E' una bella domanda a cui non so rispondere adesso.
> lsindex pero dovrebbe farti vedere quali sono gli attributi per cui
> sono esistono degli indici in BFS. Vedi se ti puo aiutare.
>
Domani tiro su una macchina Senryu vergine e controllo l'elenco degli
indici. Grazie.

>
>>>
>>>> Ho tentato di fare una query dalla GUI di Haiku e non trovo il programma.
>>>>
>>>>
>
> Sei sicuro di aver fatto la query correttamente? Dovrebbe essere case sensitive.
> Sicuro elf non sia Elf ? La butto li.
>
Non è così, meno male altrimenti eravamo ciechi in due :)
Sulla preflet dei tipi MIME dice che è corretto, elf con la e minuscola.
Reply all
Reply to author
Forward
0 new messages