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