mirror of
https://git.yoctoproject.org/poky
synced 2026-04-19 06:32:13 +02:00
rootfs: Add debugfs package db file copy and cleanup
When copying the package database files for the debugfs, add individual file copy as well as tree copying. After the debug rootfs has been created, cleanup the package files. This then allows us to avoid a problem where (for rpm at least) extraneous files in the debug rootfs would cause failures during oe-selftest because some files existed in both regular and debugfs images. (From OE-Core rev: 96c79c54f282497eb1521b1d5da648ae83fcfe8b) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit ce49ea435ce55eb5b6da442c12e03a806534c38d) Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
777a9ac262
commit
6f3c2ff35a
@@ -104,7 +104,7 @@ class Rootfs(object, metaclass=ABCMeta):
|
||||
def _cleanup(self):
|
||||
pass
|
||||
|
||||
def _setup_dbg_rootfs(self, dirs):
|
||||
def _setup_dbg_rootfs(self, package_paths):
|
||||
gen_debugfs = self.d.getVar('IMAGE_GEN_DEBUGFS') or '0'
|
||||
if gen_debugfs != '1':
|
||||
return
|
||||
@@ -120,11 +120,12 @@ class Rootfs(object, metaclass=ABCMeta):
|
||||
bb.utils.mkdirhier(self.image_rootfs)
|
||||
|
||||
bb.note(" Copying back package database...")
|
||||
for dir in dirs:
|
||||
if not os.path.isdir(self.image_rootfs + '-orig' + dir):
|
||||
continue
|
||||
bb.utils.mkdirhier(self.image_rootfs + os.path.dirname(dir))
|
||||
shutil.copytree(self.image_rootfs + '-orig' + dir, self.image_rootfs + dir, symlinks=True)
|
||||
for path in package_paths:
|
||||
bb.utils.mkdirhier(self.image_rootfs + os.path.dirname(path))
|
||||
if os.path.isdir(self.image_rootfs + '-orig' + path):
|
||||
shutil.copytree(self.image_rootfs + '-orig' + path, self.image_rootfs + path, symlinks=True)
|
||||
elif os.path.isfile(self.image_rootfs + '-orig' + path):
|
||||
shutil.copyfile(self.image_rootfs + '-orig' + path, self.image_rootfs + path)
|
||||
|
||||
# Copy files located in /usr/lib/debug or /usr/src/debug
|
||||
for dir in ["/usr/lib/debug", "/usr/src/debug"]:
|
||||
@@ -160,6 +161,13 @@ class Rootfs(object, metaclass=ABCMeta):
|
||||
bb.note(" Install extra debug packages...")
|
||||
self.pm.install(extra_debug_pkgs.split(), True)
|
||||
|
||||
bb.note(" Removing package database...")
|
||||
for path in package_paths:
|
||||
if os.path.isdir(self.image_rootfs + path):
|
||||
shutil.rmtree(self.image_rootfs + path)
|
||||
elif os.path.isfile(self.image_rootfs + path):
|
||||
os.remove(self.image_rootfs + path)
|
||||
|
||||
bb.note(" Rename debug rootfs...")
|
||||
try:
|
||||
shutil.rmtree(self.image_rootfs + '-dbg')
|
||||
|
||||
Reference in New Issue
Block a user