summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorAlexander Kanavin <alex@linutronix.de>2025-06-16 11:49:57 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-06-20 12:07:26 +0100
commit4547232c71590797af75b59a9890d38b61ff7890 (patch)
tree08bca7ab0b51548a003a27df6866375b166a8735 /meta/lib
parentefb0410d388cb389a18e299b87fdb3554d527b39 (diff)
downloadpoky-4547232c71590797af75b59a9890d38b61ff7890.tar.gz
recipetool/devtool: calculate source paths relative to UNPACKDIR
Now that recipes default to S in UNPACKDIR, recipetool and devtool should do the same. There was some discussion about changing devtool to simply setting UNPACKDIR via bbappend to a workspace and running unpack task directly; currently it has a bunch of convoluted path calculations, substitutions, moving source trees around and and special casing (devtool-source.bbclass in particular is an unpleasant hack). This should definitely be done; but right now we can simply tweak existing code which at least doesn't make it worse. (From OE-Core rev: c326ca8aeb2bf0f7719e43921d10efd5dedc7b2a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/selftest/cases/devtool.py18
-rw-r--r--meta/lib/oeqa/selftest/cases/recipetool.py12
2 files changed, 15 insertions, 15 deletions
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index f30dba5a46..74a7727cc0 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -565,7 +565,7 @@ class DevtoolAddTests(DevtoolBase):
565 recipefile = get_bb_var('FILE', testrecipe) 565 recipefile = get_bb_var('FILE', testrecipe)
566 self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named') 566 self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named')
567 checkvars = {} 567 checkvars = {}
568 checkvars['S'] = '${WORKDIR}/MarkupSafe-${PV}' 568 checkvars['S'] = '${UNPACKDIR}/MarkupSafe-${PV}'
569 checkvars['SRC_URI'] = url.replace(testver, '${PV}') 569 checkvars['SRC_URI'] = url.replace(testver, '${PV}')
570 self._test_recipe_contents(recipefile, checkvars, []) 570 self._test_recipe_contents(recipefile, checkvars, [])
571 # Try with version specified 571 # Try with version specified
@@ -582,7 +582,7 @@ class DevtoolAddTests(DevtoolBase):
582 recipefile = get_bb_var('FILE', testrecipe) 582 recipefile = get_bb_var('FILE', testrecipe)
583 self.assertIn('%s_%s.bb' % (testrecipe, fakever), recipefile, 'Recipe file incorrectly named') 583 self.assertIn('%s_%s.bb' % (testrecipe, fakever), recipefile, 'Recipe file incorrectly named')
584 checkvars = {} 584 checkvars = {}
585 checkvars['S'] = '${WORKDIR}/MarkupSafe-%s' % testver 585 checkvars['S'] = '${UNPACKDIR}/MarkupSafe-%s' % testver
586 checkvars['SRC_URI'] = url 586 checkvars['SRC_URI'] = url
587 self._test_recipe_contents(recipefile, checkvars, []) 587 self._test_recipe_contents(recipefile, checkvars, [])
588 588
@@ -1627,12 +1627,12 @@ class DevtoolUpdateTests(DevtoolBase):
1627 # Check preconditions 1627 # Check preconditions
1628 testrecipe = 'dos2unix' 1628 testrecipe = 'dos2unix'
1629 self.append_config('ERROR_QA:remove:pn-dos2unix = "patch-status"\n') 1629 self.append_config('ERROR_QA:remove:pn-dos2unix = "patch-status"\n')
1630 bb_vars = get_bb_vars(['SRC_URI', 'S', 'WORKDIR', 'FILE', 'BB_GIT_DEFAULT_DESTSUFFIX'], testrecipe) 1630 bb_vars = get_bb_vars(['SRC_URI', 'S', 'UNPACKDIR', 'FILE', 'BB_GIT_DEFAULT_DESTSUFFIX'], testrecipe)
1631 self.assertIn('git://', bb_vars['SRC_URI'], 'This test expects the %s recipe to be a git recipe' % testrecipe) 1631 self.assertIn('git://', bb_vars['SRC_URI'], 'This test expects the %s recipe to be a git recipe' % testrecipe)
1632 workdir_git = '%s/%s/' % (bb_vars['WORKDIR'], bb_vars['BB_GIT_DEFAULT_DESTSUFFIX']) 1632 unpackdir_git = '%s/%s/' % (bb_vars['UNPACKDIR'], bb_vars['BB_GIT_DEFAULT_DESTSUFFIX'])
1633 if not bb_vars['S'].startswith(workdir_git): 1633 if not bb_vars['S'].startswith(unpackdir_git):
1634 self.fail('This test expects the %s recipe to be building from a subdirectory of the git repo' % testrecipe) 1634 self.fail('This test expects the %s recipe to be building from a subdirectory of the git repo' % testrecipe)
1635 subdir = bb_vars['S'].split(workdir_git, 1)[1] 1635 subdir = bb_vars['S'].split(unpackdir_git, 1)[1]
1636 # Clean up anything in the workdir/sysroot/sstate cache 1636 # Clean up anything in the workdir/sysroot/sstate cache
1637 bitbake('%s -c cleansstate' % testrecipe) 1637 bitbake('%s -c cleansstate' % testrecipe)
1638 # Try modifying a recipe 1638 # Try modifying a recipe
@@ -2414,7 +2414,7 @@ class DevtoolUpgradeTests(DevtoolBase):
2414 newsrctree = os.path.join(self.workspacedir, 'sources', newrecipename) 2414 newsrctree = os.path.join(self.workspacedir, 'sources', newrecipename)
2415 self.assertExists(newsrctree, 'Source directory not renamed') 2415 self.assertExists(newsrctree, 'Source directory not renamed')
2416 checkvars = {} 2416 checkvars = {}
2417 checkvars['S'] = '${WORKDIR}/%s-%s' % (recipename, recipever) 2417 checkvars['S'] = '${UNPACKDIR}/%s-%s' % (recipename, recipever)
2418 checkvars['SRC_URI'] = url 2418 checkvars['SRC_URI'] = url
2419 self._test_recipe_contents(newrecipefile, checkvars, []) 2419 self._test_recipe_contents(newrecipefile, checkvars, [])
2420 # Try again - change just name this time 2420 # Try again - change just name this time
@@ -2426,7 +2426,7 @@ class DevtoolUpgradeTests(DevtoolBase):
2426 self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipename), 'Old recipe directory still exists') 2426 self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipename), 'Old recipe directory still exists')
2427 self.assertExists(os.path.join(self.workspacedir, 'sources', newrecipename), 'Source directory not renamed') 2427 self.assertExists(os.path.join(self.workspacedir, 'sources', newrecipename), 'Source directory not renamed')
2428 checkvars = {} 2428 checkvars = {}
2429 checkvars['S'] = '${WORKDIR}/%s-${PV}' % recipename 2429 checkvars['S'] = '${UNPACKDIR}/%s-${PV}' % recipename
2430 checkvars['SRC_URI'] = url.replace(recipever, '${PV}') 2430 checkvars['SRC_URI'] = url.replace(recipever, '${PV}')
2431 self._test_recipe_contents(newrecipefile, checkvars, []) 2431 self._test_recipe_contents(newrecipefile, checkvars, [])
2432 # Try again - change just version this time 2432 # Try again - change just version this time
@@ -2437,7 +2437,7 @@ class DevtoolUpgradeTests(DevtoolBase):
2437 self.assertExists(newrecipefile, 'Recipe file not renamed') 2437 self.assertExists(newrecipefile, 'Recipe file not renamed')
2438 self.assertExists(os.path.join(self.workspacedir, 'sources', recipename), 'Source directory no longer exists') 2438 self.assertExists(os.path.join(self.workspacedir, 'sources', recipename), 'Source directory no longer exists')
2439 checkvars = {} 2439 checkvars = {}
2440 checkvars['S'] = '${WORKDIR}/${BPN}-%s' % recipever 2440 checkvars['S'] = '${UNPACKDIR}/${BPN}-%s' % recipever
2441 checkvars['SRC_URI'] = url 2441 checkvars['SRC_URI'] = url
2442 self._test_recipe_contents(newrecipefile, checkvars, []) 2442 self._test_recipe_contents(newrecipefile, checkvars, [])
2443 2443
diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py
index 8cd639bd45..2a91f6c7ae 100644
--- a/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -1144,10 +1144,10 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
1144 1144
1145 def test_recipetool_appendsrcfile_srcdir_basic(self): 1145 def test_recipetool_appendsrcfile_srcdir_basic(self):
1146 testrecipe = 'bash' 1146 testrecipe = 'bash'
1147 bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) 1147 bb_vars = get_bb_vars(['S', 'UNPACKDIR'], testrecipe)
1148 srcdir = bb_vars['S'] 1148 srcdir = bb_vars['S']
1149 workdir = bb_vars['WORKDIR'] 1149 unpackdir = bb_vars['UNPACKDIR']
1150 subdir = os.path.relpath(srcdir, workdir) 1150 subdir = os.path.relpath(srcdir, unpackdir)
1151 self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir) 1151 self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir)
1152 1152
1153 def test_recipetool_appendsrcfile_existing_in_src_uri(self): 1153 def test_recipetool_appendsrcfile_existing_in_src_uri(self):
@@ -1196,10 +1196,10 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
1196 def test_recipetool_appendsrcfile_replace_file_srcdir(self): 1196 def test_recipetool_appendsrcfile_replace_file_srcdir(self):
1197 testrecipe = 'bash' 1197 testrecipe = 'bash'
1198 filepath = 'Makefile.in' 1198 filepath = 'Makefile.in'
1199 bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) 1199 bb_vars = get_bb_vars(['S', 'UNPACKDIR'], testrecipe)
1200 srcdir = bb_vars['S'] 1200 srcdir = bb_vars['S']
1201 workdir = bb_vars['WORKDIR'] 1201 unpackdir = bb_vars['UNPACKDIR']
1202 subdir = os.path.relpath(srcdir, workdir) 1202 subdir = os.path.relpath(srcdir, unpackdir)
1203 1203
1204 self._test_appendsrcfile(testrecipe, filepath, srcdir=subdir) 1204 self._test_appendsrcfile(testrecipe, filepath, srcdir=subdir)
1205 bitbake('%s:do_unpack' % testrecipe) 1205 bitbake('%s:do_unpack' % testrecipe)