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