mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
devtool: handle virtual providers
For modify / extract / upgrade, if the specified "recipe" is not actually a recipe but a virtual target such as virtual/kernel, map it correctly to the actual recipe and make sure we use that name within the workspace. Thanks to Chris Larson for reminding me this was still broken and for a hint on how to fix it. (From OE-Core rev: 1f7752282ffb47d2621030ddb2fa42a5e491d6d2) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
8578bc17b5
commit
db55d31dc2
@@ -466,6 +466,28 @@ class DevtoolTests(DevtoolBase):
|
||||
# Try building
|
||||
bitbake(testrecipe)
|
||||
|
||||
def test_devtool_modify_virtual(self):
|
||||
# Try modifying a virtual recipe
|
||||
virtrecipe = 'virtual/libx11'
|
||||
realrecipe = 'libx11'
|
||||
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
|
||||
self.track_for_cleanup(tempdir)
|
||||
self.track_for_cleanup(self.workspacedir)
|
||||
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
|
||||
result = runCmd('devtool modify %s -x %s' % (virtrecipe, tempdir))
|
||||
self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 'Extracted source could not be found')
|
||||
self.assertTrue(os.path.exists(os.path.join(self.workspacedir, 'conf', 'layer.conf')), 'Workspace directory not created')
|
||||
matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % realrecipe))
|
||||
self.assertTrue(matches, 'bbappend not created %s' % result.output)
|
||||
# Test devtool status
|
||||
result = runCmd('devtool status')
|
||||
self.assertNotIn(virtrecipe, result.output)
|
||||
self.assertIn(realrecipe, result.output)
|
||||
# Check git repo
|
||||
self._check_src_repo(tempdir)
|
||||
# This is probably sufficient
|
||||
|
||||
|
||||
@testcase(1169)
|
||||
def test_devtool_update_recipe(self):
|
||||
# Check preconditions
|
||||
@@ -805,6 +827,16 @@ class DevtoolTests(DevtoolBase):
|
||||
self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 'Extracted source could not be found')
|
||||
self._check_src_repo(tempdir)
|
||||
|
||||
def test_devtool_extract_virtual(self):
|
||||
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
|
||||
# Try devtool extract
|
||||
self.track_for_cleanup(tempdir)
|
||||
self.track_for_cleanup(self.workspacedir)
|
||||
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
|
||||
result = runCmd('devtool extract virtual/libx11 %s' % tempdir)
|
||||
self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 'Extracted source could not be found')
|
||||
self._check_src_repo(tempdir)
|
||||
|
||||
@testcase(1168)
|
||||
def test_devtool_reset_all(self):
|
||||
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
|
||||
|
||||
Reference in New Issue
Block a user