# Differenza tra atom ed ebuild

## Nio84

Salve...Ho provato a leggere qualche guida su portage ecc..

Allora cosa sono i metapacchetti l'ho capito....ma non riesco a capire la differenza tra atom ed ebuild 

Cioè che differenza c'è tra quando gentoo mi dice "invalid package atom " e quando mi parla di ebuilds??

----------

## bi-andrea

da quello che ho capito atom sta per un singolo pacchetto, mentre ebuild sta per un binario che racchiude un lotto di pacchetti, es. gnome-light, gnome, kde-meta,...... 

Per avere indalid atom per caso stai cercando di usare flag USE per ogni singolo pacchetto?

----------

## Onip

un ebuild è la serie di istruzioni che servono per

a. scaricare il sorgente

b. compilare

c. installare

per ogni pacchetto presente in portage. Queste istruzioni sono memorizzate in un file: /usr/portage/categoria/pacchetto-versione.ebuild.

L'atom è la rappresentazione di un pacchetto in un range di versioni ( "uguale a", "minore di", "maggiore di" ) che portage utilizza nei suoi file di configurazione, cioè i vari package.* sotto /etc/portage .

----------

## Onip

@bi-andrea

capisco l'entusiasmo e la voglia di aiutare (ci sono passati più o meno tutti qui dentro). Ma se non si sanno le cose fare confusione nella testa degli altri non è assolutamente produttivo, anzi spesso ci si mette del tempo poi a far tornare i concetti "al posto giusto".

----------

## cloc3

come approfondimento.

qatom (app-portage/portage-utils)è il comando che analizza gli atom, trattandoli come stringhe (ed, eventualmente, confrontandoli):

```

s939 ~ # qatom dev-lang/python-2.6.5-r2 dev-lang/python-3.1.2-r3

dev-lang python 2.6.5 r2

dev-lang python 3.1.2 r3

s939 ~ # qatom -c dev-lang/python-2.6.5-r2 dev-lang/python-3.1.2-r3

dev-lang/python-2.6.5-r2 < dev-lang/python-3.1.2-r3

s939 ~ # qatom -c dev-lang/python-2.6.5-r2 kde-base/kopete-4.4.4-r2

dev-lang/python-2.6.5-r2 != kde-base/kopete-4.4.4-r2

```

man qatom

man q

ebuild, a volte, è un termine usato per indicare i tarball prodotti da emerge, ed è anche un comando (man ebuild).

tra le altre cose, permette di scomporre in fasi le operazioni che emerge esegue durante una compilazione.

per esempio, 

```
ebuild unpack <atom>
```

 esegue esclusivamente la fase di scaricamento e scompattamento del codice sorgente.

----------

## Nio84

Si piu' o meno avevo inteso....ho chiesto perche se dichiaro le USE per ogni pacchetto in package.use mi dice invalid atom

----------

## fbcyborg

Non sarà che forse le dichiari male queste use all'interno di tale file? 

Oppure inserisci qualcosa che portage non digerisce.

----------

## cloc3

 *Nio84 wrote:*   

> Si piu' o meno avevo inteso....ho chiesto perche se dichiaro le USE per ogni pacchetto in package.use mi dice invalid atom

 

ok. allora ogni riga del file package.use è un atom.

se ricavi quei messaggi, significa che qualcuno di essi è scritto male.

----------

