From: Changqing Li Date: Fri, 21 Nov 2025 10:52:11 +0000 (+0800) Subject: archiver.bbclass: remove workdir from patchdir X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c99d22827c9515e9fdb31d4989925aa9e9604134;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git archiver.bbclass: remove workdir from patchdir Remove build path from patchdir, file name will change from series.subdir._master_build_tmp_work_corei7-64-wrs-linux_thin-provisioning-tools_1.1.0_sources_cargo_home_bitbake_libc-0.2.155 to series.subdir._sources_cargo_home_bitbake_libc-0.2.155. This can also avoid the following error when the build path is long: File: '/layers/oe-core/meta/classes/archiver.bbclass', lineno: 262, function: do_ar_original 0258: series = os.path.join(ar_outdir, 'series') *** 0262: with open(series, 'a') as s: 0263: s.write('%s -p%s\n' % (os.path.basename(local), parm['striplevel'])) Exception: OSError: [Errno 36] File name too long: '/path/to/series.subdir._path_to_tmp_work_x86-64-v3-wrs-linux_thin-provisioning-tools_1.1.0_sources_cargo_home_bitbake_libc-0.2.155' Signed-off-by: Changqing Li Signed-off-by: Mathieu Dubois-Briand --- diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index a95c899a0f8..d963d28f432 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -252,7 +252,7 @@ python do_ar_original() { _, _, local, _, _, parm = bb.fetch.decodeurl(patch) patchdir = parm.get('patchdir') if patchdir: - series = os.path.join(ar_outdir, 'series.subdir.%s' % patchdir.replace('/', '_')) + series = os.path.join(ar_outdir, 'series.subdir.%s' % patchdir.replace(d.getVar('WORKDIR'), '').replace('/', '_')) else: series = os.path.join(ar_outdir, 'series')