# [ebuild] fetch da https

## cloc3

```

s939 python-whiteboard # ebuild python-whiteboard-0.8.7.ebuild manifest

...

--2010-11-19 12:56:28--  https://github.com/downloads/pnegre/python-whiteboard/python-whiteboard_0.8.7_all.deb

Connessione a github.com (github.com)|207.97.227.239|:443... connesso.

ERRORE: il nome comune di certificato "*.github.com" non corrisponde al nome dell'host richiesto "github.com".

Per connettersi a github.com in modo non sicuro, usare "--no-check-certificate".

!!! Couldn't download 'python-whiteboard_0.8.7_all.deb'. Aborting.

!!! Fetch failed for python-whiteboard_0.8.7_all.deb, can't update Manifest

```

come faccio a passare l'opzione --no-check-certificate?

----------

## Deus Ex

Puoi passare nel wgetrc di sistema il parametro:

```
check_certificate = on/off
```

Dovrebbe bastare. Forse poi ti conviene comunque toglierlo dopo il fetch di cui sopra.

----------

## cloc3

 *Deus Ex wrote:*   

> Forse poi ti conviene comunque toglierlo dopo il fetch di cui sopra.

 

può essere, ma io non devo eseguire il fetch.

io devo scrivere l'ebuild, per un pacchetto che viene distribuito da altri sotto https.

fino a questo momento, come unica soluzione tecnicamente pulita, ho introdotto una restrizione al fetch, come accade a certi software proprietari che devono essere scaricati a mano. in pratica il download fallisce e compare un avviso con il comando da eseguire con il taglia incolla.

quello che miservirebbe sarebbe un modo per inserire nell'ebuild l'opzione da passare a emerge, ma mi sto facendo l'idea che questa funzionalità non sia supportata. anche guardando certi topic sugli altri forum, come questo.

----------

## X-Act!

Il problema secondo me è più profondo, non è una questione di funzioni implementate o no.

Se il sito è in https e non ha un certificato valido è giusto che wget si rifiuti di scaricarlo e non sarebbe corretto forzarlo ad insaputa dell'utente quant'anche ci fosse un modo per farlo e non credo ci sia.

Una cosa che potrebbe essere eticamente più corretta, piuttosto che disabilitare il controllo dei certificati, è invece invitare l'utente a scaricare il certificato di quel sito e trustarlo in modo che poi non ci saranno più problemi con i download. Per capirci è quello che fanno tutti i browser, ma non ho idea di come si possa fare...

P.S.: tra l'altro quell'opzione dovrebbe essere passata a wget, ma un utente potrebbe anche usare un altro download-manager, quindi non può essere impostata nell'ebuild.

----------

## cloc3

 *X-Act! wrote:*   

> Il problema secondo me è più profondo,

 

hai ragione.

non è ovvio che l'ebuild debba intervenire nel modo che suggerisco, ma dovrebbe comunque essere codificato un modo di affrontare queste situazioni.

secondo me, il protocollo https non serve per la distribuzione sicura di pacchetti software, perché l'integrità dei dati è garantita dal controllo sha1sum, che dipende da una fonte indipendente dal mirror dei sorgenti, il servizio https, invece, garantisce esclusivamente il riconoscimento reciproco di identità e la privatezza della transazione, che solo valori di nessun interesse in questo caso.

di conseguenza, una eclass capace di forzare il download, sia pure dopo a un warning adeguatamente visibile, non mi sembrerebbe una soluzione impropria.

----------

## Onip

Se è compatibile con la licenza del pacchetto puoi anche pensare di hostare una copia dei sorgenti da qualche parte e modificare di conseguenza il SRC_URI.

Tra l'altro se è un ebuild che, prima o poi, è destinato a finire in portage poi il tarball finirà comunque nei gentoo mirror e il problema non si porrà più.

(oppure potresti scassarle all'admin di quel sito finchè non mette un certificato valido)

----------

## X-Act!

 *cloc3 wrote:*   

> [secondo me, il protocollo https non serve per la distribuzione sicura di pacchetti software

 

Assolutamente d'accordo!

 *cloc3 wrote:*   

> di conseguenza, una eclass capace di forzare il download, sia pure dopo a un warning adeguatamente visibile, non mi sembrerebbe una soluzione impropria.

 

Come ti accennavo il download è fatto da un programma esterno (wget o chi per lui) e le opzioni sono definite in FETCHCOMMAND: se facessi come dici, il tuo ebuild funzionerebbe solo per gli utenti che usano wget...

 *Onip wrote:*   

> (oppure potresti scassarle all'admin di quel sito finchè non mette un certificato valido)

 

Oppure gliele potresti scassare finché non mette i sorgenti disponibili anche in http...

----------

