On 9/4/26 11:14, Florian Bezdeka wrote:
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.




    

--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/6f6c002a-1301-402e-831f-5bbe06c54d52%40ilbers.de.