In my current project they have defined bbclass files to allow variants of 
recipes.
The recipe would then contain  do_install_append_XYZ’s for each class.

BBCLASSEXTEND = ”production rnd retail”

would ensure you would get nginx-production, nginx-rnd, nginx-retail ipks.

This way you have one recipe generating three variants in the same build.

Don’t have the source in front of me  so I can’t share the bbclass (right now 
at least)

Best Regards,
Ulf Samuelsson
+46 722 427 437

> 1 juni 2018 kl. 12:40 skrev Alan Martinovic <alan.martino...@senic.com>:
> 
> Yes, much better phrasing:
> 
> > A single bitbake invocation always builds a single distro for a specific 
> > target machine
> 
> Thanks 
> 
>> On Fri, Jun 1, 2018 at 12:18 PM, Alexander Kanavin <alex.kana...@gmail.com> 
>> wrote:
>> If a build is 'a single bitbake invocation', then yes - it builds for a 
>> single distro and for a specific target machine, but it can build multiple 
>> recipes (which includes multiple images, as images are defined with recipes).
>> 
>> Alex
>> 
>> 
>> 2018-06-01 13:07 GMT+03:00 Alan Martinovic <alan.martino...@senic.com>:
>>> Hey Alexander,
>>> you seem to have a good understanding on the concepts.
>>> Would you say that:
>>> 
>>> > A build always builds a single distro
>>> 
>>> is somewhat of a rule?
>>> 
>>> 
>>> 
>>> 
>>>> On Fri, Jun 1, 2018 at 11:24 AM, Alexander Kanavin 
>>>> <alex.kana...@gmail.com> wrote:
>>>> I have to say defining multiple distros and then tweaking recipes 
>>>> according to those definitions is not a good practice, as recipes should 
>>>> generally only access DISTRO_FEATURES and otherwise be distro-agnostic. 
>>>> The above iptables scenario should be handled with different image 
>>>> recipes, which pull in (via packages) or create different configurations.
>>>> 
>>>> Alex
>>>> 
>>>> 2018-06-01 12:04 GMT+03:00 Iván Castell <icast...@nayarsystems.com>:
>>>>> I can provide more details. My custom layer has these files related with 
>>>>> distro:
>>>>> 
>>>>>     my_layer/conf/distro/include/common.conf
>>>>>     my_layer/conf/distro/develop.conf
>>>>>     my_layer/conf/distro/production.conf
>>>>>     my_layer/conf/distro/integration.conf
>>>>> 
>>>>> As an example of the previous files, 
>>>>> my_layer/conf/distro/include/develop.conf has this content:
>>>>> 
>>>>>     require conf/distro/include/common.conf
>>>>>     DISTRO = "my-distro-development"
>>>>>     DISTRO_NAME = "OS Development"
>>>>>     DISTRO_STAGE = "development"
>>>>>     # And here more customizations as setting root password, PRSERV_HOST, 
>>>>> or PACKAGE_FEED_URIS
>>>>> 
>>>>> In common.conf I define all features common to all my distros 
>>>>> (PACKAGE_CLASSES and so on)
>>>>> 
>>>>> I have custom iptables rules, then I have different files for that rules:
>>>>> 
>>>>>     my/layer/recipes-extended/iptables/files/iptables.rules.development
>>>>>     my/layer/recipes-extended/iptables/files/iptables.rules.production
>>>>>     my/layer/recipes-extended/iptables/files/iptables.rules.integration
>>>>> 
>>>>> I use a bbappend recipe for iptables, modifiying do_install_append task 
>>>>> like this:
>>>>> 
>>>>>     install -m 0600 ${WORKDIR}/iptables.rules.${DISTRO_STAGE} 
>>>>> ${D}/etc/iptables/iptables.rules
>>>>> 
>>>>> I use a single image recipe to define all packages installed in my final 
>>>>> image (all of them have the same set if packages, but with different 
>>>>> customizations)
>>>>> 
>>>>> Finally, I wrote a setup-build-env.sh script in my custom layer to 
>>>>> configure the build easily. That script creates 
>>>>> build-${DISTRO_STAGE}/conf/bblayers.conf and 
>>>>> build-${DISTRO_STAGE}/conf/local.conf files with the proper setup, 
>>>>> setting MACHINE, DISTRO and DL_DIR (shared by all distros) properly.
>>>>> 
>>>>> Hope this helps!
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 2018-06-01 10:21 GMT+02:00 Alan Martinovic <alan.martino...@senic.com>:
>>>>>> Hey,
>>>>>> would really like to see your example.
>>>>>> Am struggling to get creation of these types of images for a while now.
>>>>>> 
>>>>>> So far have avoided diving into multiple distros because would like to 
>>>>>> have the option
>>>>>> of building all the images at the same time (so they are basically the 
>>>>>> same distro).
>>>>>> 
>>>>>>> On Fri, Jun 1, 2018 at 8:13 AM, Iván Castell 
>>>>>>> <icast...@nayarsystems.com> wrote:
>>>>>>> I fixed this issue defining different distro.conf files in my custom 
>>>>>>> layer, adding a custom variable DISTRO_STAGE with the name of my distro 
>>>>>>> (production, rnd, retail, and so on), Then you setup DISTRO in your 
>>>>>>> local.conf to the proper value you want to use. Finally you can use 
>>>>>>> that DISTRO_STAGE variable in your custom .bb or .bbappend recipes to 
>>>>>>> decide the proper configuration files you want to install in your final 
>>>>>>> image. That works as expected. Hope this helps!
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 2018-06-01 7:46 GMT+02:00 Damien LEFEVRE <lefevre...@gmail.com>:
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>> For the same MACHINE I create the following images:
>>>>>>>> - myimage-production
>>>>>>>> - myimage-rnd
>>>>>>>> - myimage-retail
>>>>>>>> 
>>>>>>>> The production one has production assisted tools for flashing 
>>>>>>>> peripheral HW, testing vital HW components, writing some serial 
>>>>>>>> numbers, etc.
>>>>>>>> 
>>>>>>>> The rnd one has more packages than the retail one just to help rnd 
>>>>>>>> work and debugging in device, but none of the rnd image extra 
>>>>>>>> packages. 
>>>>>>>> 
>>>>>>>> The retail one has the final product image.
>>>>>>>> 
>>>>>>>> I'm using web and FTP servers. I would like for the rnd version of the 
>>>>>>>> image to have a different nginx configuration to set the root 
>>>>>>>> directory to a development folder, or set an alias.
>>>>>>>> 
>>>>>>>> Furthermore, I'll have different variant of the device where only the 
>>>>>>>> device SW changes but the platform is identical. So I'll end up with 
>>>>>>>> - myimage2-production
>>>>>>>> - myimage2-rnd
>>>>>>>> - myimage2-retail
>>>>>>>> 
>>>>>>>> I know how to make MACHINE based configuration. How could I do this in 
>>>>>>>> my nginx.bbappend based on image name?
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> -Damien
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> _______________________________________________
>>>>>>>> yocto mailing list
>>>>>>>> yocto@yoctoproject.org
>>>>>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> NOTA LEGAL
>>>>>>> Este correo electrónico y, en su caso, cualquier fichero anexo al 
>>>>>>> mismo, contiene información de carácter confidencial exclusivamente 
>>>>>>> dirigida a su destinatario y se encuentra protegido por Ley. Cualquier 
>>>>>>> persona distinta de su destinataria tiene prohibida su reproducción, 
>>>>>>> uso, divulgación, copia o impresión total o parcial. Si ha recibido 
>>>>>>> este correo electrónico por error, se ruega lo notifique de inmediato 
>>>>>>> al remitente borrando el mensaje original juntamente con sus ficheros 
>>>>>>> anexos. Gracias.
>>>>>>> 
>>>>>>> De conformidad con lo establecido en la LOPD, NAYAR SYSTEMS SL 
>>>>>>> garantiza la adopción de las medidas necesarias para asegurar el 
>>>>>>> tratamiento confidencial de los datos de carácter personal. Así mismo 
>>>>>>> le informamos de la inclusión de sus datos en un fichero bajo la 
>>>>>>> responsabilidad de NAYAR SYSTEMS SL, con la finalidad de poder atender 
>>>>>>> los compromisos derivados de la relación que mantenemos con usted. Si 
>>>>>>> lo desea, puede ejercer sus derechos de acceso, rectificación, 
>>>>>>> cancelación y oposición mediante un escrito a la siguiente dirección: 
>>>>>>> i...@nayarsystems.com
>>>>>>> 
>>>>>>> LEGAL NOTE
>>>>>>> This email and any attachments to it contains is confidential 
>>>>>>> information exclusively intended for the recipients. Any divulgation, 
>>>>>>> copy or distribution to third parties is prohibited without written 
>>>>>>> permission of NAYAR SYSTEMS SL. If you have received this e-mail in 
>>>>>>> error, please notify the sender immediately. In accordance with Law 
>>>>>>> 15/1999 of 13 December on the Protection of Personal Data, the NAYAR 
>>>>>>> SYSTEMS SL guarantees that it has adopted the necessary measures to 
>>>>>>> ensure the confidential treatment of personal information. We also 
>>>>>>> inform you that you can exercise your access, rectification, 
>>>>>>> cancellation and opposition rights by send us a mail to: 
>>>>>>> i...@nayarsystems.com
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> _______________________________________________
>>>>>>> yocto mailing list
>>>>>>> yocto@yoctoproject.org
>>>>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> NOTA LEGAL
>>>>> Este correo electrónico y, en su caso, cualquier fichero anexo al mismo, 
>>>>> contiene información de carácter confidencial exclusivamente dirigida a 
>>>>> su destinatario y se encuentra protegido por Ley. Cualquier persona 
>>>>> distinta de su destinataria tiene prohibida su reproducción, uso, 
>>>>> divulgación, copia o impresión total o parcial. Si ha recibido este 
>>>>> correo electrónico por error, se ruega lo notifique de inmediato al 
>>>>> remitente borrando el mensaje original juntamente con sus ficheros 
>>>>> anexos. Gracias.
>>>>> 
>>>>> De conformidad con lo establecido en la LOPD, NAYAR SYSTEMS SL garantiza 
>>>>> la adopción de las medidas necesarias para asegurar el tratamiento 
>>>>> confidencial de los datos de carácter personal. Así mismo le informamos 
>>>>> de la inclusión de sus datos en un fichero bajo la responsabilidad de 
>>>>> NAYAR SYSTEMS SL, con la finalidad de poder atender los compromisos 
>>>>> derivados de la relación que mantenemos con usted. Si lo desea, puede 
>>>>> ejercer sus derechos de acceso, rectificación, cancelación y oposición 
>>>>> mediante un escrito a la siguiente dirección: i...@nayarsystems.com
>>>>> 
>>>>> LEGAL NOTE
>>>>> This email and any attachments to it contains is confidential information 
>>>>> exclusively intended for the recipients. Any divulgation, copy or 
>>>>> distribution to third parties is prohibited without written permission of 
>>>>> NAYAR SYSTEMS SL. If you have received this e-mail in error, please 
>>>>> notify the sender immediately. In accordance with Law 15/1999 of 13 
>>>>> December on the Protection of Personal Data, the NAYAR SYSTEMS SL 
>>>>> guarantees that it has adopted the necessary measures to ensure the 
>>>>> confidential treatment of personal information. We also inform you that 
>>>>> you can exercise your access, rectification, cancellation and opposition 
>>>>> rights by send us a mail to: i...@nayarsystems.com
>>>>> 
>>>>> 
>>>>> -- 
>>>>> _______________________________________________
>>>>> yocto mailing list
>>>>> yocto@yoctoproject.org
>>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>>> 
>>>> 
>>> 
>> 
> 
> -- 
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to