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-601 * 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

Reply via email to