Prática 06 - Receitas
Note
Diretório de trabalho: ~/treinamento/yp/poky/meta-treinamento
Receita com programa em C
Dentro de meta-treinamento criar o diretório recipes-b2open:
Depois crie o diretório
apps:
Criar o diretório b2open-demo1 e dentro dele um arquivo chamado main.c:
Editar main.c e adicionar o código abaixo:
Próximo passo voltar para o diretorio ~/treinamento/yp/poky/meta-treinamento/recipes-b2open/apps e criar um arquivo de receita chamado b2open-demo1_1.0.bb com o conteúdo:
Neste exemplo, criamos uma receita estamos compilando um código em C direto na receita utilizando a variável ambiente CC exportada e configurada pelo bitbake.
Estrutura do diretório:
Saída esperada:
Volte para o diretório de build-qemu e utilizando bitbake-layers verificar se encontra a receita:
Próximo passo compilar a receita criada:
Visualizando o resultado da receita, mas primeiro obter o diretorio de trabalho (WORKDIR) para inspecionar:
Saída esperada:
WORKDIR="/home/b2open/treinamento/yp/poky/build-qemu/tmp/work/core2-64-poky-linux/b2open-demo1/1.0"
WORKDIR_PKGDATA="/home/b2open/treinamento/yp/poky/build-qemu/tmp/work/core2-64-poky-linux/b2open-demo1/1.0/pkgdata-sysroot"
Warning
Com o caminho do diretório de trabalho da receita b2open-demo1, realizando verificações:
Saída esperada:
tmp/work/core2-64-poky-linux/b2open-demo1/1.0/image/
└── usr
└── bin
└── b2open_demo1
2 directories, 1 file
Receita utilizando Makefile
O próximo exemplo será criar uma receita para compilar um código em C localmente mas utilizando Makefile.
Criar um novo diretório em meta-treinamento/recipes-b2open/apps/b2open-demo2 e dentro dele os arquivos main.c e Makefile:
cd ~/treinamento/yp/poky/meta-treinamento/recipes-b2open/apps
mkdir b2open-demo2
cd b2open-demo2
touch main.c
touch Makefile
Editar main.c e adicionar o código abaixo:
Editar Makefile e adicionar o bloco abaixo:
Note
Ao editar o Makefile adicione 'TAB' no CC, CFLAGS e não utilizar espaços!
Próximo passo criar o arquivo da receita em ~/treinamento/yp/poky/meta-treinamento/recipes-b2open/apps chamado b2open-demo2_1.3.bb:
cd ~/treinamento/yp/poky/meta-treinamento/recipes-b2open/apps
touch b2open-demo2_1.3.bb
Editar o arquivo b2open-demo2_1.3.bb e adicionar o conteúdo:
Estrutura do diretório:
Saída esperada:
recipes-b2open/
└── apps
├── b2open-demo1
│ └── main.c
├── b2open-demo1_1.0.bb
├── b2open-demo2
│ ├── main.c
│ └── Makefile
└── b2open-demo2_1.3.bb
3 directories, 5 files
Volte para o diretório de build-qemu e utilizando bitbake-layers para verificar se encontra a receita:
Próximo passo compilar a receita criada e analisando o conteúdo:
Warning
Caso receba um erro como abaixo na construção da receita:
Edite o Makefile e confirme se esta com TAB ou espaços em cada opção.
Visualizando o resultado da receita, mas primeiro obter o diretório de trabalho (WORKDIR) para inspecionar:
Saída esperada:
WORKDIR="/home/b2open/treinamento/yp/poky/build-qemu/tmp/work/core2-64-poky-linux/b2open-demo2/1.3"
WORKDIR_PKGDATA="/home/b2open/treinamento/yp/poky/build-qemu/tmp/work/core2-64-poky-linux/b2open-demo2/1.3/pkgdata-sysroot"
Warning
Com o caminho do diretório de trabalho da receita b2open-demo2, realizando verificações:
Saída esperada: