# Flag bindist

## UnoSD

Salve a tutti,

ho capito che la USE flag bindist permette di includere o escludere nella compilazione alcuni pacchetti disponibili come già compilati in alcuni software. Quello che però non ho capito e vorrei domandare è: Quale delle due affermazioni interviene con l'uso della flag e quale senza?

Poi: ovviamente, immagino che il sistema sia più performante se compilo tutto con il mio compilatore e le mie CFLAGS, giusto? Quindi mi conviene compilarli i pacchetti che sono disponibili anche come binari, giusto? (Ovviamente non ho problemi di licenza e non devo distribuire da nessuna parte la mia installazione di Gentoo)

Grazie.

----------

## djinnZ

Alcuni pacchetti includono delle librerie o de dei moduli che sono soggetti a particolari restrizioni di licenza.

Per esempio il maledetto flash benché distribuito in sorgente può essere modificato sul tuo personale pc ma non puoi redistribuire il binario ad altri.

Non ricordo quale modulo di criptazione di gpgcrypt od openssh è distribuito in binario solo per uso personale quindi non può essere redistribuito senza esplicita autorizzazione.

Il mozilla è distribuito in open source ma puoi redistribuire come mozilla solo i biniari precompilati da loro, se già ottimizzi per cpu i binari sono solo per tuo uso personale.

E via dicendo.

Se devi creare un server binario a disposizione di eventuali tuoi client, cui ha installato gentoo (si era già discusso di questo), per gli aggiornamenti devi usare bindist (che non è attivata di default).

Le prestazioni non cambiano sono use come  *Quote:*   

> system-boost - Use system boost (dev-libs/boost) instead of bundled one
> 
> sqlite - Use the system SQLite instead of the bundled one

  a cambiare le prestazioni e l'impegno di spazio su disco, ricordando che se i devel di un pacchetto preferiscono incorporare una propria versione versione modificata od una specifica versione di una libreria od incorporarla staticamente, un qualche motivo dovrà pur esserci....

Cerca tra le use perché non mi pare che sia il caso di andarle ad analizzare una per una.

----------

## UnoSD

Quindi bindist include i precompilati e -bindist li esclude, giusto?

----------

## djinnZ

tutto il contrario.

-bindist lascia le cose come sono.

+bindist toglie i precompilati, non applica eventuali patch, toglie alcuni moduli che sebbene di libero uso devono sempre essere scaricati esclusivamente e direttamente dai siti autorizzati etc.

----------

## UnoSD

Io non usp bindist ma Firefox mi da un warning di non distribuzione del compilato!

----------

## djinnZ

Appunto. Se attivi bindist addio ottimizzazioni e patch.

```
 if use bindist; then

        sizes="16 32 48"

        icon_path="${S}/browser/branding/unofficial"

        # Firefox's new rapid release cycle means no more codenames

        # Let's just stick with this one...

        icon="tumucumaque"

        name="Tumucumaque"

    else

        sizes="16 22 24 32 256"

        icon_path="${S}/browser/branding/official"

        icon="${PN}"

        name="Mozilla Firefox"

    fi
```

questa è tutta la differenza. Le icone sono di proprietà della fondazione mozilla, sono un marchio commerciale a tutti gli effetti e possono essere incluse solo in compilazioni ad uso personale o nei binari rilasciati dalla fondazione

Se non hai da redistribuire i pacchetti binari a terzi lasciala disabilitata.

----------

