On Fri, 2026-09-04 at 09:52 +0200, Aliaksei Karpovich wrote:From: Uladzimir Bely <ubely@ilbers.de> This is the main utility responsible for prefetching packages into local `base-apt` repo from external Debian mirrors. It uses python-apt module and requires some kind of minimal `rootfs` to work (let's call it "debrepo context"). Once initialized with `--init --workdir=<path>`, it stores the initial configuration in `repo.opts` file inside the context and uses it at futher calls. In future, the logic `debrepo` script implements could be directly implemented inside bitbake classes. Signed-off-by: Uladzimir Bely <ubely@ilbers.de> Signed-off-by: Aliaksei Karpovich <akarpovich@ilbers.de> Signed-off-by: Aliaksei Laurynovich <alaur@ilbers.de> ---[snip]+ def handle_deb(self, item): + fd = open(f"{self.ctx.repodir}/repo.lock", 'w') + fcntl.flock(fd, fcntl.LOCK_EX) + subprocess.run([ + "reprepro", + "--dbdir", f"{self.ctx.repodbdir}/{self.ctx.distro}", + "--outdir", f"{self.ctx.repodir}/{self.ctx.distro}", + "--confdir", f"{self.ctx.repodir}/{self.ctx.distro}/conf", + "-C", "main", + "includedeb", + self.ctx.codename, + item.destfile + ], timeout=REPREPRO_TIMEOUT) + fd.close() +Searching for subprocess.run() delivers wget and reprepro as external dependencies. As I can't see any exception handling: What happens if those dependencies are not installed / available in the calling context? Florian
In this case the child_exception_type is raised in subprocess.py.
Aliaksei.