* [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt
@ 2026-08-10 12:11 'Felix Moessbauer' via isar-users
2026-08-10 14:19 ` Aliaksei Karpovich
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: 'Felix Moessbauer' via isar-users @ 2026-08-10 12:11 UTC (permalink / raw)
To: akarpovich; +Cc: isar-users, Felix Moessbauer
When running apt-get install --print-uris, the first component denotes
the download location, the second one the location under which the file
should be stored on disk. The current approach which assumes both are
identical breaks on these cases, resulting in errors like:
cp: cannot stat
'///base-apt/debian/pool/main/f/file/libmagic-mgc_1%3a5.39-3+deb11u1_amd64.deb':
No such file or directory
We fix this, by properly URL decoding the first part, while copying in
with the name of the second part.
Fixes: b294d592 ("fix(rootfs): copy isar-apt packages instead of ...")
Reported-by: Aliaksei Karpovich <akarpovich@ilbers.de>
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
@Aliaksei: Please give this a try, it should fix the issue you reported.
Do you have a test case in citest.py that reproduces this issue?
Best regards,
Felix
meta/classes-recipe/rootfs.bbclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
index bdb9ea7a..7a638b91 100644
--- a/meta/classes-recipe/rootfs.bbclass
+++ b/meta/classes-recipe/rootfs.bbclass
@@ -369,8 +369,9 @@ rootfs_install_pkgs_isar_download() {
--chdir "/var/cache/apt/archives" \
${ROOTFSDIR} \
-- /usr/bin/sh -c 'apt-get ${ROOTFS_APT_ARGS} --print-uris ${ROOTFS_PACKAGES} | \
- sed -n "s|^.file:\(/[^'\'']*/\)[^'\'']*\.deb. \([^ ]*\.deb\) .*|\1\2|p" | \
- while read -r path; do cp -n "$path" ./ ; done'
+ sed -n "s|^.file:\(/[^'\'']*\.deb\). \([^ ]*\.deb\).*|\1 \2|p" | \
+ sed ":a; s|^\([^ ]*\)%|\1\\\\x|; ta" | \
+ while read -r path name; do cp -n "$(/usr/bin/printf "%b" "$path")" "$name" ; done'
}
ROOTFS_INSTALL_COMMAND += "${@ 'rootfs_install_clean_files' if (d.getVar('ROOTFS_CLEAN_FILES') or '').strip() else ''}"
--
2.55.0
--
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/20260810121103.1507197-1-felix.moessbauer%40siemens.com.
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt
2026-08-10 12:11 [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt 'Felix Moessbauer' via isar-users
@ 2026-08-10 14:19 ` Aliaksei Karpovich
2026-08-10 14:33 ` 'MOESSBAUER, Felix' via isar-users
2026-08-12 14:08 ` Zhihang Wei
2026-08-12 14:25 ` Zhihang Wei
2 siblings, 1 reply; 6+ messages in thread
From: Aliaksei Karpovich @ 2026-08-10 14:19 UTC (permalink / raw)
To: Felix Moessbauer; +Cc: isar-users
On 8/10/26 15:11, Felix Moessbauer wrote:
> When running apt-get install --print-uris, the first component denotes
> the download location, the second one the location under which the file
> should be stored on disk. The current approach which assumes both are
> identical breaks on these cases, resulting in errors like:
>
> cp: cannot stat
> '///base-apt/debian/pool/main/f/file/libmagic-mgc_1%3a5.39-3+deb11u1_amd64.deb':
> No such file or directory
>
> We fix this, by properly URL decoding the first part, while copying in
> with the name of the second part.
>
> Fixes: b294d592 ("fix(rootfs): copy isar-apt packages instead of ...")
> Reported-by: Aliaksei Karpovich <akarpovich@ilbers.de>
> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> ---
> @Aliaksei: Please give this a try, it should fix the issue you reported.
> Do you have a test case in citest.py that reproduces this issue?
Thanks for quick fix.
Applied to 'Improving base-apt usage' and tested and it looks like working.
We don't have special testcase, but it will be covered when 'Improving
base-apt usage' is merged.
Best regards,
Aliaksei
>
> Best regards,
> Felix
>
> meta/classes-recipe/rootfs.bbclass | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
> index bdb9ea7a..7a638b91 100644
> --- a/meta/classes-recipe/rootfs.bbclass
> +++ b/meta/classes-recipe/rootfs.bbclass
> @@ -369,8 +369,9 @@ rootfs_install_pkgs_isar_download() {
> --chdir "/var/cache/apt/archives" \
> ${ROOTFSDIR} \
> -- /usr/bin/sh -c 'apt-get ${ROOTFS_APT_ARGS} --print-uris ${ROOTFS_PACKAGES} | \
> - sed -n "s|^.file:\(/[^'\'']*/\)[^'\'']*\.deb. \([^ ]*\.deb\) .*|\1\2|p" | \
> - while read -r path; do cp -n "$path" ./ ; done'
> + sed -n "s|^.file:\(/[^'\'']*\.deb\). \([^ ]*\.deb\).*|\1 \2|p" | \
> + sed ":a; s|^\([^ ]*\)%|\1\\\\x|; ta" | \
> + while read -r path name; do cp -n "$(/usr/bin/printf "%b" "$path")" "$name" ; done'
> }
>
> ROOTFS_INSTALL_COMMAND += "${@ 'rootfs_install_clean_files' if (d.getVar('ROOTFS_CLEAN_FILES') or '').strip() else ''}"
--
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/0c104d8d-bd3a-4ceb-9456-4b192771a7de%40ilbers.de.
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt
2026-08-10 14:19 ` Aliaksei Karpovich
@ 2026-08-10 14:33 ` 'MOESSBAUER, Felix' via isar-users
0 siblings, 0 replies; 6+ messages in thread
From: 'MOESSBAUER, Felix' via isar-users @ 2026-08-10 14:33 UTC (permalink / raw)
To: Aliaksei Karpovich; +Cc: isar-users
On Mon, 2026-08-10 at 17:19 +0300, Aliaksei Karpovich wrote:
> On 8/10/26 15:11, Felix Moessbauer wrote:
> > When running apt-get install --print-uris, the first component denotes
> > the download location, the second one the location under which the file
> > should be stored on disk. The current approach which assumes both are
> > identical breaks on these cases, resulting in errors like:
> >
> > cp: cannot stat
> > '///base-apt/debian/pool/main/f/file/libmagic-mgc_1%3a5.39-3+deb11u1_amd64.deb':
> > No such file or directory
> >
> > We fix this, by properly URL decoding the first part, while copying in
> > with the name of the second part.
> >
> > Fixes: b294d592 ("fix(rootfs): copy isar-apt packages instead of ...")
> > Reported-by: Aliaksei Karpovich <akarpovich@ilbers.de>
> > Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> > ---
> > @Aliaksei: Please give this a try, it should fix the issue you reported.
> > Do you have a test case in citest.py that reproduces this issue?
> Thanks for quick fix.
> Applied to 'Improving base-apt usage' and tested and it looks like working.
> We don't have special testcase, but it will be covered when 'Improving
> base-apt usage' is merged.
Thanks for testing. For a test, we probably just need a package with an
epoch in its version. I'll give it a try and send as a standalone
patch. This should not delay this fix.
Cheers!
Felix
>
> Best regards,
> Aliaksei
> >
> > Best regards,
> > Felix
> >
> > meta/classes-recipe/rootfs.bbclass | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
> > index bdb9ea7a..7a638b91 100644
> > --- a/meta/classes-recipe/rootfs.bbclass
> > +++ b/meta/classes-recipe/rootfs.bbclass
> > @@ -369,8 +369,9 @@ rootfs_install_pkgs_isar_download() {
> > --chdir "/var/cache/apt/archives" \
> > ${ROOTFSDIR} \
> > -- /usr/bin/sh -c 'apt-get ${ROOTFS_APT_ARGS} --print-uris ${ROOTFS_PACKAGES} | \
> > - sed -n "s|^.file:\(/[^'\'']*/\)[^'\'']*\.deb. \([^ ]*\.deb\) .*|\1\2|p" | \
> > - while read -r path; do cp -n "$path" ./ ; done'
> > + sed -n "s|^.file:\(/[^'\'']*\.deb\). \([^ ]*\.deb\).*|\1 \2|p" | \
> > + sed ":a; s|^\([^ ]*\)%|\1\\\\x|; ta" | \
> > + while read -r path name; do cp -n "$(/usr/bin/printf "%b" "$path")" "$name" ; done'
> > }
> >
> > ROOTFS_INSTALL_COMMAND += "${@ 'rootfs_install_clean_files' if (d.getVar('ROOTFS_CLEAN_FILES') or '').strip() else ''}"
--
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/fe5a8e74f103e0b6c08cfcbeef26a3bca067e912.camel%40siemens.com.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt
2026-08-10 12:11 [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt 'Felix Moessbauer' via isar-users
2026-08-10 14:19 ` Aliaksei Karpovich
@ 2026-08-12 14:08 ` Zhihang Wei
2026-08-12 14:13 ` 'MOESSBAUER, Felix' via isar-users
2026-08-12 14:25 ` Zhihang Wei
2 siblings, 1 reply; 6+ messages in thread
From: Zhihang Wei @ 2026-08-12 14:08 UTC (permalink / raw)
To: Felix Moessbauer, isar-users; +Cc: akarpovich
On 8/10/26 14:11, 'Felix Moessbauer' via isar-users wrote:
> When running apt-get install --print-uris, the first component denotes
> the download location, the second one the location under which the file
> should be stored on disk. The current approach which assumes both are
> identical breaks on these cases, resulting in errors like:
>
> cp: cannot stat
> '///base-apt/debian/pool/main/f/file/libmagic-mgc_1%3a5.39-3+deb11u1_amd64.deb':
> No such file or directory
>
> We fix this, by properly URL decoding the first part, while copying in
> with the name of the second part.
>
> Fixes: b294d592 ("fix(rootfs): copy isar-apt packages instead of ...")
> Reported-by: Aliaksei Karpovich <akarpovich@ilbers.de>
> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> ---
> @Aliaksei: Please give this a try, it should fix the issue you reported.
> Do you have a test case in citest.py that reproduces this issue?
>
> Best regards,
> Felix
>
> meta/classes-recipe/rootfs.bbclass | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
> index bdb9ea7a..7a638b91 100644
> --- a/meta/classes-recipe/rootfs.bbclass
> +++ b/meta/classes-recipe/rootfs.bbclass
> @@ -369,8 +369,9 @@ rootfs_install_pkgs_isar_download() {
> --chdir "/var/cache/apt/archives" \
> ${ROOTFSDIR} \
> -- /usr/bin/sh -c 'apt-get ${ROOTFS_APT_ARGS} --print-uris ${ROOTFS_PACKAGES} | \
> - sed -n "s|^.file:\(/[^'\'']*/\)[^'\'']*\.deb. \([^ ]*\.deb\) .*|\1\2|p" | \
> - while read -r path; do cp -n "$path" ./ ; done'
> + sed -n "s|^.file:\(/[^'\'']*\.deb\). \([^ ]*\.deb\).*|\1 \2|p" | \
> + sed ":a; s|^\([^ ]*\)%|\1\\\\x|; ta" | \
> + while read -r path name; do cp -n "$(/usr/bin/printf "%b" "$path")" "$name" ; done'
> }
>
> ROOTFS_INSTALL_COMMAND += "${@ 'rootfs_install_clean_files' if (d.getVar('ROOTFS_CLEAN_FILES') or '').strip() else ''}"
Is it OK if I drop the duplicated word "handle" from the commit msg title
when merging?
Zhihang
--
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/1f7934fe-f532-4bb8-bbfa-f74d2a26ddc8%40ilbers.de.
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt
2026-08-12 14:08 ` Zhihang Wei
@ 2026-08-12 14:13 ` 'MOESSBAUER, Felix' via isar-users
0 siblings, 0 replies; 6+ messages in thread
From: 'MOESSBAUER, Felix' via isar-users @ 2026-08-12 14:13 UTC (permalink / raw)
To: Zhihang Wei, isar-users; +Cc: akarpovich
On Wed, 2026-08-12 at 16:08 +0200, Zhihang Wei wrote:
> On 8/10/26 14:11, 'Felix Moessbauer' via isar-users wrote:
> > When running apt-get install --print-uris, the first component denotes
> > the download location, the second one the location under which the file
> > should be stored on disk. The current approach which assumes both are
> > identical breaks on these cases, resulting in errors like:
> >
> > cp: cannot stat
> > '///base-apt/debian/pool/main/f/file/libmagic-mgc_1%3a5.39-3+deb11u1_amd64.deb':
> > No such file or directory
> >
> > We fix this, by properly URL decoding the first part, while copying in
> > with the name of the second part.
> >
> > Fixes: b294d592 ("fix(rootfs): copy isar-apt packages instead of ...")
> > Reported-by: Aliaksei Karpovich <akarpovich@ilbers.de>
> > Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> > ---
> > @Aliaksei: Please give this a try, it should fix the issue you reported.
> > Do you have a test case in citest.py that reproduces this issue?
> >
> > Best regards,
> > Felix
> >
> > meta/classes-recipe/rootfs.bbclass | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
> > index bdb9ea7a..7a638b91 100644
> > --- a/meta/classes-recipe/rootfs.bbclass
> > +++ b/meta/classes-recipe/rootfs.bbclass
> > @@ -369,8 +369,9 @@ rootfs_install_pkgs_isar_download() {
> > --chdir "/var/cache/apt/archives" \
> > ${ROOTFSDIR} \
> > -- /usr/bin/sh -c 'apt-get ${ROOTFS_APT_ARGS} --print-uris ${ROOTFS_PACKAGES} | \
> > - sed -n "s|^.file:\(/[^'\'']*/\)[^'\'']*\.deb. \([^ ]*\.deb\) .*|\1\2|p" | \
> > - while read -r path; do cp -n "$path" ./ ; done'
> > + sed -n "s|^.file:\(/[^'\'']*\.deb\). \([^ ]*\.deb\).*|\1 \2|p" | \
> > + sed ":a; s|^\([^ ]*\)%|\1\\\\x|; ta" | \
> > + while read -r path name; do cp -n "$(/usr/bin/printf "%b" "$path")" "$name" ; done'
> > }
> >
> > ROOTFS_INSTALL_COMMAND += "${@ 'rootfs_install_clean_files' if (d.getVar('ROOTFS_CLEAN_FILES') or '').strip() else ''}"
>
> Is it OK if I drop the duplicated word "handle" from the commit msg title
> when merging?
oops... Yes, of course. Thanks!
Felix
>
> Zhihang
--
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/e08764696ab17b9cf3ec83e20bb9f970afc2436e.camel%40siemens.com.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt
2026-08-10 12:11 [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt 'Felix Moessbauer' via isar-users
2026-08-10 14:19 ` Aliaksei Karpovich
2026-08-12 14:08 ` Zhihang Wei
@ 2026-08-12 14:25 ` Zhihang Wei
2 siblings, 0 replies; 6+ messages in thread
From: Zhihang Wei @ 2026-08-12 14:25 UTC (permalink / raw)
To: Felix Moessbauer, akarpovich; +Cc: isar-users
Applied to next, thanks.
Zhihang
On 8/10/26 14:11, 'Felix Moessbauer' via isar-users wrote:
> When running apt-get install --print-uris, the first component denotes
> the download location, the second one the location under which the file
> should be stored on disk. The current approach which assumes both are
> identical breaks on these cases, resulting in errors like:
>
> cp: cannot stat
> '///base-apt/debian/pool/main/f/file/libmagic-mgc_1%3a5.39-3+deb11u1_amd64.deb':
> No such file or directory
>
> We fix this, by properly URL decoding the first part, while copying in
> with the name of the second part.
>
> Fixes: b294d592 ("fix(rootfs): copy isar-apt packages instead of ...")
> Reported-by: Aliaksei Karpovich <akarpovich@ilbers.de>
> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> ---
> @Aliaksei: Please give this a try, it should fix the issue you reported.
> Do you have a test case in citest.py that reproduces this issue?
>
> Best regards,
> Felix
>
> meta/classes-recipe/rootfs.bbclass | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
> index bdb9ea7a..7a638b91 100644
> --- a/meta/classes-recipe/rootfs.bbclass
> +++ b/meta/classes-recipe/rootfs.bbclass
> @@ -369,8 +369,9 @@ rootfs_install_pkgs_isar_download() {
> --chdir "/var/cache/apt/archives" \
> ${ROOTFSDIR} \
> -- /usr/bin/sh -c 'apt-get ${ROOTFS_APT_ARGS} --print-uris ${ROOTFS_PACKAGES} | \
> - sed -n "s|^.file:\(/[^'\'']*/\)[^'\'']*\.deb. \([^ ]*\.deb\) .*|\1\2|p" | \
> - while read -r path; do cp -n "$path" ./ ; done'
> + sed -n "s|^.file:\(/[^'\'']*\.deb\). \([^ ]*\.deb\).*|\1 \2|p" | \
> + sed ":a; s|^\([^ ]*\)%|\1\\\\x|; ta" | \
> + while read -r path name; do cp -n "$(/usr/bin/printf "%b" "$path")" "$name" ; done'
> }
>
> ROOTFS_INSTALL_COMMAND += "${@ 'rootfs_install_clean_files' if (d.getVar('ROOTFS_CLEAN_FILES') or '').strip() else ''}"
--
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/39b03c98-feb8-44b1-add9-df561bc1520d%40ilbers.de.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-08-12 14:25 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-10 12:11 [PATCH 1/1] fix(rootfs): correctly handle handle special package names in isar-apt 'Felix Moessbauer' via isar-users
2026-08-10 14:19 ` Aliaksei Karpovich
2026-08-10 14:33 ` 'MOESSBAUER, Felix' via isar-users
2026-08-12 14:08 ` Zhihang Wei
2026-08-12 14:13 ` 'MOESSBAUER, Felix' via isar-users
2026-08-12 14:25 ` Zhihang Wei
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox