Overlay system
On this page
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.