The recipe looks ok. Can you reproduce it with a plain poky build (no
extra layers, no custom distros, no weird BSPs :) ?

Alex

On Fri, 11 Aug 2023 at 08:38, Rob Kramer <rob@teegee.cloud> wrote:
>
> Hi all,
>
> I added a new recipe for libudev-zero, which provides a minimal daemon-less 
> udev implementation. The recipe works, but has an issue that pops up 
> regularly where it causes an exception during rootfs:
>
> Exception: FileNotFoundError: [Errno 2] No such file or directory: 
> '/ssd/opt/oe/yocto/kirkstone/build-weston/tmp-glibc/deploy/ipk/core2-64/libudev1_1.0.2-r1_core2-64.ipk'
>  -> 
> '/ssd/opt/oe/yocto/kirkstone/build-weston/tmp-glibc/work/generic64-oe-linux/sollinux-ble-weston/1.0-r0/oe-rootfs-repo/core2-64/libudev1_1.0.2-r1_core2-64.ipk'
>
> It seems like for some reason the ipk has been removed from deploy/ipk. To 
> recover from this, a 'bitbake -c clean libudev-zero' will restore things the 
> next time the rootfs is run.
>
> Does anyone have an idea what could cause this? Appended below is the recipe, 
> and the full error message.
>
> Cheers,
>
>      Rob
>
>
> libudev-zero_1.0.2.bb:
> DESCRIPTION = "Daemon-less libudev replacement"
> SECTION = "base"
> LICENSE="ISC"
> LIC_FILES_CHKSUM = "file://LICENSE;md5=09eac32a84c5d70c105cbfce173a161d"
>
> PR = "r1"
> SRCREV = "04a727df50fde3f69127aed4bc48e6cff5430175"
> SRC_URI = "git://github.com/illiliti/${BPN};branch=master;protocol=https"
>
> SRC_URI[sha256sum] = 
> "29dff942cab9519994fb92ba6407f57e08d3dd6e6c0b86bb93d7b1d681994ff8"
>
> PROVIDES = "udev"
>
> inherit features_check
>
> CONFLICT_DISTRO_FEATURES = "systemd"
>
> S = "${WORKDIR}/git"
>
> PACKAGES += "${PN}-netlink"
> FILES:${PN} = "${libdir}"
> FILES:${PN}-netlink = "${bindir}"
>
> RPROVIDES:${PN} = "hotplug udev"
>
> do_configure:prepend() {
>     sed -i 's;PREFIX = /usr/local;PREFIX = /usr;' ${S}/Makefile
> }
>
> do_compile:append() {
>     $CCLD $LDFLAGS -o contrib/netlink-forward contrib/helper.c
> }
>
> do_install() {
>     oe_runmake install DESTDIR=${D}
>
>     install -d ${D}${bindir}
>     install -m 755 contrib/netlink-forward ${D}${bindir}
> }
>
>
>
> Error message:
> ERROR: sollinux-ble-weston-1.0-r0 do_rootfs: Error executing a python 
> function in exec_func_python() autogenerated:
>
> The stack trace of python calls that resulted in this exception/failure was:
> File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
>      0001:
>  *** 0002:do_rootfs(d)
>      0003:
> File: '/opt/oe/yocto/kirkstone/oe-core/meta/classes/image.bbclass', lineno: 
> 255,
>  function: do_rootfs
>      0251:    progress_reporter.next_stage()
>      0252:
>      0253:    # generate rootfs
>      0254:    d.setVarFlag('REPRODUCIBLE_TIMESTAMP_ROOTFS', 'export', '1')
>  *** 0255:    create_rootfs(d, progress_reporter=progress_reporter, 
> logcatcher=l
> ogcatcher)
>      0256:
>      0257:    progress_reporter.finish()
>      0258:}
>      0259:do_rootfs[dirs] = "${TOPDIR}"
> File: '/opt/oe/yocto/kirkstone/oe-core/meta/lib/oe/rootfs.py', lineno: 381, 
> func
> tion: create_rootfs
>      0377:
>      0378:    img_type = d.getVar('IMAGE_PKGTYPE')
>      0379:
>      0380:    cls = get_class_for_type(img_type)
>  *** 0381:    cls(d, manifest_dir, progress_reporter, logcatcher).create()
>      0382:    os.environ.clear()
>      0383:    os.environ.update(env_bkp)
>      0384:
>      0385:
> File: 
> '/opt/oe/yocto/kirkstone/oe-core/meta/lib/oe/package_manager/ipk/rootfs.py
> ', lineno: 136, function: __init__
>      0132:
>      0133:        self.inc_opkg_image_gen = 
> self.d.getVar('INC_IPK_IMAGE_GEN') o
> r ""
>      0134:        if self._remove_old_rootfs():
>      0135:            bb.utils.remove(self.image_rootfs, True)
>  *** 0136:            self.pm = OpkgPM(d,
>      0137:                             self.image_rootfs,
>      0138:                             self.opkg_conf,
>      0139:                             self.pkg_archs)
>      0140:        else:
> File: 
> '/opt/oe/yocto/kirkstone/oe-core/meta/lib/oe/package_manager/ipk/__init__.
> py', lineno: 175, function: __init__
>      0171:        self.opkg_args = "--volatile-cache -f %s -t %s -o %s " % 
> (self
> .config_file, self.d.expand('${T}/ipktemp/') ,target_rootfs)
>      0172:        self.opkg_args += self.d.getVar("OPKG_ARGS")
>      0173:
>      0174:        if prepare_index:
>  *** 0175:            create_packages_dir(self.d, self.deploy_dir, 
> d.getVar("DEP
> LOY_DIR_IPK"), "package_write_ipk", filterbydependencies)
>      0176:
>      0177:        self.opkg_dir = oe.path.join(target_rootfs, 
> self.d.getVar('OPK
> GLIBDIR'), "opkg")
>      0178:        bb.utils.mkdirhier(self.opkg_dir)
>      0179:
> File: 
> '/opt/oe/yocto/kirkstone/oe-core/meta/lib/oe/package_manager/__init__.py',
>  lineno: 525, function: create_packages_dir
>      0521:                if destdir not in seendirs:
>      0522:                    bb.utils.mkdirhier(destdir)
>      0523:                    seendirs.add(destdir)
>      0524:                try:
>  *** 0525:                    os.link(l, dest)
>      0526:                except OSError as err:
>      0527:                    if err.errno == errno.EXDEV:
>      0528:                        bb.utils.copyfile(l, dest)
>      0529:                    else:
> Exception: FileNotFoundError: [Errno 2] No such file or directory: 
> '/ssd/opt/oe/yocto/kirkstone/build-weston/tmp-glibc/deploy/ipk/core2-64/libudev1_1.0.2-r1_core2-64.ipk'
>  -> 
> '/ssd/opt/oe/yocto/kirkstone/build-weston/tmp-glibc/work/generic64-oe-linux/sollinux-ble-weston/1.0-r0/oe-rootfs-repo/core2-64/libudev1_1.0.2-r1_core2-64.ipk'
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#60782): https://lists.yoctoproject.org/g/yocto/message/60782
Mute This Topic: https://lists.yoctoproject.org/mt/100679184/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to