Overlay system

Quando dovrai a guardare un recipe di un layer di terze parti, spesso ti ritroverai nella situazione di non capire come alcuni pezzi di codice vengono inclusi. Il sistema bitbake sfrutta quello che si chiama “overlay” dei vari layer inclusi nel progetto. Per questo motivo i mantenitori di layer cercano di posizionare i recipe in posizioni identiche a quelle del layer meta di openembedded

Le principali cose a cui prestare attenzione sono:

  • la variabile FILESEXTRAPATH
  • se il recipe ha estensione bbappend
  • la posizione del nostro recipe rispetto al layer che lo contiene

FILESEXTRAPATH

Ha un funzionamento identico a quello della classica variabile PATH nei sistemi Linux e Windows. Non è altro che una concatenazione di stringhe che definiscono i percorsi assoluti che bitbake userà per cercare file esterni al recipe. La concatenazione ha come separatore il carattere “:” Il primo percorso valido è quello che avrà la precedenza sugli altri, quindi sarà quello effettivamente utilizzato.

Dopo aver definito il percorso, è necessario istruire bitbake su come portare i file all’ interno della workdir. Il metodo standard e più comodo è di utilizzare la variabile SRCURI, che permette di selezionare un singolo file (tramite percorso relativo rispetto i percorsi presenti in FILESEXTRAPATH) e decidere dove copiarlo all’interno della workdir.

SRCURI può anche copiare file a partire da un url

BBAPPEND

Il recipe che stiamo scrivendo andrà in merge con il recipe originale ed eventuali altri bbappend.