Hi JM Maybe you can extract the Deb file independently from bitbake with tar and provide the binaries as a simple tar archive. This would allow to use bitbake's fetcher to download the tar and unpack the binaries into WORKDIR as usual. Then you can write a do_install task which installs the binaries the Yocto way. Calling dpkg from bitbake is probably not the best approach.
There is no need for all the fakeroot related code in your recipe. This should just work by default. Adrian jairo.mejiaaponte via lists.yoctoproject.org <jairo.mejiaaponte= belden....@lists.yoctoproject.org> schrieb am Fr., 11. Okt. 2024, 17:57: > Dear Yocto community, > > I know it is not ideal, but I need to install a package in the building > host that is close source. Because of it, I just received the deb package > without the source code. This deb package only needs to run on the building > host aka native, but I am unable to achieve it. This is how the recipe look > like: > > SUMMARY = "Recipe for installing deb package" > DESCRIPTION = "It installs own deb package" > HOMEPAGE = "" > LICENSE = "CLOSED" > > DEPENDS = "dpkg-native ldconfig-native virtual/fakeroot-native" > > SRC_URI = "file://close-source-deb-file.amd64.deb;unpack=0" > > fakeroot do_install:append() { > touch ${STAGING_DIR_NATIVE}/var/lib/dpkg/status > ${STAGING_BINDIR_NATIVE}/dpkg --force architecture --instdir=${D}/ \ > --admindir=${STAGING_DIR_NATIVE}/var/lib/dpkg/ \ > -i ${WORKDIR}/close-source-deb-file.amd64.deb > } > do_install[depends] += "virtual/fakeroot-native:do_populate_sysroot" > > FILES:${PN} += " \ > /usr/* \ > /etc/* \ > " > However, when I tried to run this recipe I got stuck in the extraction > part of the process with the error "Cannot change ownership": > > | NOTE: Skipping as already exists in sysroot: ['glibc', 'ldconfig-native' > , 'gcc-cross-aarch64', > 'gcc-runtime', 'quilt-native', 'dpkg-native', 'patch-native', > 'pseudo-native', 'xz-native', > 'linux-libc-headers', 'libgcc', 'libtool-native', 'attr-native', > 'gettext-minimal-native', > 'bzip2-native', 'gettext-native', 'perl-native', 'zlib-native', > 'opkg-utils-native', 'libmpc-native', > 'binutils-cross-aarch64', 'zstd-native', 'gnu-config-native', 'gmp-native' > , 'flex-native', 'mpfr-native', > 'texinfo-dummy-native', 'make-native', 'gdbm-native', 'm4-native'] > | DEBUG: Python function extend_recipe_sysroot finished > | DEBUG: Executing shell function do_install > | tar: ./conffiles: Cannot change ownership to uid 0, gid 0: Invalid > argument > | tar: ./control: Cannot change ownership to uid 0, gid 0: Invalid > argument > | tar: ./md5sums: Cannot change ownership to uid 0, gid 0: Invalid > argument > | tar: ./postinst: Cannot change ownership to uid 0, gid 0: Invalid > argument > | tar: ./shlibs: Cannot change ownership to uid 0, gid 0: Invalid argument > | tar: ./triggers: Cannot change ownership to uid 0, gid 0: Invalid > argument > | tar: .: Cannot change ownership to uid 0, gid 0: Invalid argument > | tar: Exiting with failure status due to previous errors > | dpkg-deb: error: tar subprocess returned error exit status 2 > | dpkg: error processing archive pwd/close-source-deb-file.amd64.deb (-- > install): > | dpkg-deb --control subprocess returned error exit status 2 > | Errors were encountered while processing: > > I know this error is typical of tar when the uid and gid of the user and > the owner are not the same but I cannot use the flag "--no-same-owner" as > far as I know using dpkg. I also tried with pseudo and fakeroot, but the > result is the same. I have been looking the code of dpkg but adding the > flag to the variable TAR seems not to be working because it will not find > the binary $PATH. > > So I do not know what else kind I tried to make it work. Have I something > missed? Could you maybe point me into the right direction? > > Thanks for your help. > > Happy coding, > > JM > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#64010): https://lists.yoctoproject.org/g/yocto/message/64010 Mute This Topic: https://lists.yoctoproject.org/mt/108951488/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-