Hi Christian, In pyro the creation of users and group (using the useradd class) is done during the package pre-installation.
So my best guess is that you could move the owner/group change in the package post-installation as follows: do_install () { (…) install -d ${D}${sysconfdir}/myappl install -d ${D}${localstatedir}/lib/myappl } pkg_postinst_${PN} () { chown -R myuser:mygroup ${D}${sysconfdir}/myappl chown -R myuser:mygroup ${D}${localstatedir}/lib/myappl } I hope this helps. Laurent. On Wed, Jun 14, 2017 at 5:57 PM, Andersen, Christian <c.ander...@kostal.com> wrote: > Any ideas how to use „useradd“ bbclass with pyro? > > If I move useradd to my recipe my-appl.bb, it works. But there are more > recipes depending on the added user, so I want to add this user in a > base-recipe and just depend on it using (DEPENDS/RDEPENDS). > > Regards > Christian > > > > Von: Andersen, Christian > Gesendet: Dienstag, 13. Juni 2017 18:10 > An: 'yocto@yoctoproject.org' <yocto@yoctoproject.org> > Betreff: useradd and one sysroot per recipe in pyro > > > > Hello, > > > > currently I am trying the newest Yocto release (pyro). It seems I have a > problem with useradd and the new concept of one sysroot per recipe. > > > > I have a base recipe (let’s call it my-base.bb) which inherits useradd and > creates a new user (let’s call him myuser): > > > > inherit useradd > > > > USERADD_PACKAGES = "${PN}" > > USERADD_PARAM_${PN} = " \ > > --uid 1200 \ > > --gid 1200 \ > > --system \ > > --shell /bin/bash \ > > --create-home \ > > --home-dir /home/myuser \ > > --groups mygroup,video,input \ > > myuser" > > GROUPADD_PARAM_${PN} = "-g 1200 mygroup" > > > > do_install () { > > install -d ${D}/home/myuser > > chown -R myuser:mygroup ${D}/home/myuser > > } > > > > Other recipes depend on this base recipe (via DEPENDS and RDEPENDS), because > they require this user, e.g. in recipe my-appl.bb (in this case python only, > so no configure or compile): > > > > DEPENDS = "puck-base" > > RDEPENDS_${PN} = "puck-base python3-dbus python3-sqlite3 python3-netclient > python3-requests" > > > > do_configure[noexec] = "1" > > do_compile[noexec] = "1" > > > > do_install () { > > (…) > > > > install -d ${D}${sysconfdir}/myappl > > chown -R myuser:mygroup ${D}${sysconfdir}/myappl > > > > install -d ${D}${localstatedir}/lib/myappl > > chown -R myuser:mygroup ${D}${localstatedir}/lib/myappl > > } > > > > Unfortunately I get an error when building the recipe my-appl.bb > > > > | chown: invalid user: ‘myuser:mygroup’ > > | WARNING: exit code 1 from a shell command. > > | ERROR: Function failed: do_install (log file is located at …) > > ERROR: Task (…/my-appl.bb:do_install) failed with exit code '1' > > > > In morty the user was created in the shared sysroot. But using pyro the user > is not created in the recipe-sysroot. > > > > What am I doing wrong and is there a way to solve this? > > > > Thanks in advance! > > Regards > > Christian > > KOSTAL Industrie Elektrik GmbH - Sitz Lüdenscheid, Registergericht Iserlohn > HRB 3924 - USt-Id-Nr./Vat No.: DE 813742170 > Postanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 > 16-0 * Telefax: +49 2351 16-2400 > Werksanschrift: Lange Eck 11, D-58099 Hagen * Tel. +49 2331 8040-800 * Fax > +49 2331 8040-602 > Geschäftsführung: Axel Zimmermann, Dipl.-Ing. Marwin Kinzl, Dipl.-Oec. > Andreas Kostal > > -- > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > -- Laurent Gauthier Phone: +33 630 483 429 http://soccasys.com -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto