Richard Purdie <[email protected]> escreveu no dia quinta, 28/07/2022 à(s) 12:01:
> On Thu, 2022-07-28 at 09:54 +0100, Jose Quaresma wrote: > > Otherwise spdx can have references for data that is not packed. > > in the package delivered. > > > > During do_package_write_ipk task in do_package_ipk some files > > is cleaned up from packages-split directory in the funcion > > cleanupcontrol. > > > > This also fixes the following race condictions when the do_create_spdx > > task runs the add_package_files function and these files is been deleted > > at same time in the task do_package_write_ipk: > > > > ERROR: alsa-topology-conf-1.2.5.1-r0 do_create_spdx: 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_create_spdx(d) > > 0003: > > File: > '/srv/oe/build/conf/../../layers/openembedded-core/meta/classes/create-spdx.bbclass', > lineno: 567, function: do_create_spdx > > 0563: package_doc.add_relationship(package_doc, > "DESCRIBES", spdx_package) > > 0564: > > 0565: package_archive = deploy_dir_spdx / "packages" / ( > package_doc.name + ".tar.zst") > > 0566: with optional_tarfile(package_archive, > archive_packaged) as archive: > > *** 0567: package_files = add_package_files( > > 0568: d, > > 0569: package_doc, > > 0570: spdx_package, > > 0571: pkgdest / package, > > File: > '/srv/oe/build/conf/../../layers/openembedded-core/meta/classes/create-spdx.bbclass', > lineno: 234, function: add_package_files > > 0230: info.mtime = source_date_epoch > > 0231: > > 0232: archive.addfile(info, f) > > 0233: > > *** 0234: sha1 = bb.utils.sha1_file(filepath) > > 0235: sha1s.append(sha1) > > 0236: > spdx_file.checksums.append(oe.spdx.SPDXChecksum( > > 0237: algorithm="SHA1", > > 0238: checksumValue=sha1, > > File: '/srv/oe/bitbake/lib/bb/utils.py', lineno: 559, function: sha1_file > > 0555: """ > > 0556: Return the hex string representation of the SHA1 checksum > of the filename > > 0557: """ > > 0558: import hashlib > > *** 0559: return _hasher(hashlib.sha1(), filename) > > 0560: > > 0561:def sha384_file(filename): > > 0562: """ > > 0563: Return the hex string representation of the SHA384 > checksum of the filename > > File: '/srv/oe/bitbake/lib/bb/utils.py', lineno: 528, function: _hasher > > 0524: > > 0525:def _hasher(method, filename): > > 0526: import mmap > > 0527: > > *** 0528: with open(filename, "rb") as f: > > 0529: try: > > 0530: with mmap.mmap(f.fileno(), 0, > access=mmap.ACCESS_READ) as mm: > > 0531: for chunk in iter(lambda: mm.read(8192), b''): > > 0532: method.update(chunk) > > Exception: FileNotFoundError: [Errno 2] No such file or directory: > '/srv/oe/build/tmp-lmp/work/all-lmp-linux/alsa-topology-conf/1.2.5.1-r0/packages-split/alsa-topology-conf/CONTROL/control' > > We have other places where we've had to teach the code to ignore the > control files and we'll probably have to do that here (grep for > CONTROL). > The snip that delete this files is in cleanupcontrol https://git.yoctoproject.org/poky/tree/meta/classes/package_ipk.bbclass#n51 So these files are not shipped in the ipk package produced. It breaks the do_create_spdx because it runs after the do_package and the same happens for do_package_write_ipk so the two tasks can run at the same time. > Ideally we'd fix opkg (and maybe dpkg) to allow creation of packages > with the files placed externally. > I think I didn't quite understand this part, can you please explain it a bit more? > > I have also wondered if we should create a specific hardlinked tree to > handle this but that does come at an IO cost. > > I don't really want to add a dependency constraint like this for > something we already handle differently elsewhere though. > yeah, It's a bit ugly because it adds some tasks that don't even run (all types of packages in this case). Since I don't know what package types are chosen by the user, I added all of them. Jose > > Cheers, > > Richard > -- Best regards, José Quaresma
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#168603): https://lists.openembedded.org/g/openembedded-core/message/168603 Mute This Topic: https://lists.openembedded.org/mt/92666627/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
