mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
lib/oe/package_manager/sdk: Ensure do_populate_sdk_ext and do_populate_sdk repos don't conflict
The repository indexes updated during do_populate_sdk_ext and do_populate_sdk can conflcit. Add the missing lockfile calls for deb/ipk and in the rpm case, ensure different directories are used for the index for the two sdk cases. (From OE-Core rev: 5e5569c962c9ebc898eeb5044214e95117b190e1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -11,6 +11,7 @@ do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
|
||||
|
||||
do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
|
||||
do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
|
||||
do_populate_sdk_ext[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
|
||||
|
||||
python rootfs_deb_bad_recommendations() {
|
||||
if d.getVar("BAD_RECOMMENDATIONS"):
|
||||
|
||||
@@ -15,6 +15,7 @@ do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
|
||||
|
||||
do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock"
|
||||
do_populate_sdk[lockfiles] += "${WORKDIR}/ipk.lock"
|
||||
do_populate_sdk_ext[lockfiles] += "${WORKDIR}/ipk.lock"
|
||||
|
||||
OPKG_PREPROCESS_COMMANDS = ""
|
||||
|
||||
|
||||
@@ -461,7 +461,8 @@ class RpmPM(PackageManager):
|
||||
target_vendor,
|
||||
task_name='target',
|
||||
arch_var=None,
|
||||
os_var=None):
|
||||
os_var=None,
|
||||
rpm_repo_workdir="oe-rootfs-repo"):
|
||||
super(RpmPM, self).__init__(d)
|
||||
self.target_rootfs = target_rootfs
|
||||
self.target_vendor = target_vendor
|
||||
@@ -475,7 +476,7 @@ class RpmPM(PackageManager):
|
||||
else:
|
||||
self.primary_arch = self.d.getVar('MACHINE_ARCH')
|
||||
|
||||
self.rpm_repo_dir = oe.path.join(self.d.getVar('WORKDIR'), "oe-rootfs-repo")
|
||||
self.rpm_repo_dir = oe.path.join(self.d.getVar('WORKDIR'), rpm_repo_workdir)
|
||||
bb.utils.mkdirhier(self.rpm_repo_dir)
|
||||
oe.path.symlink(self.d.getVar('DEPLOY_DIR_RPM'), oe.path.join(self.rpm_repo_dir, "rpm"), True)
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ class Sdk(object, metaclass=ABCMeta):
|
||||
bb.warn("cannot remove SDK dir: %s" % path)
|
||||
|
||||
class RpmSdk(Sdk):
|
||||
def __init__(self, d, manifest_dir=None):
|
||||
def __init__(self, d, manifest_dir=None, rpm_workdir="oe-sdk-repo"):
|
||||
super(RpmSdk, self).__init__(d, manifest_dir)
|
||||
|
||||
self.target_manifest = RpmManifest(d, self.manifest_dir,
|
||||
@@ -93,10 +93,15 @@ class RpmSdk(Sdk):
|
||||
self.host_manifest = RpmManifest(d, self.manifest_dir,
|
||||
Manifest.MANIFEST_TYPE_SDK_HOST)
|
||||
|
||||
rpm_repo_workdir = "oe-sdk-repo"
|
||||
if "sdk_ext" in d.getVar("BB_RUNTASK"):
|
||||
rpm_repo_workdir = "oe-sdk-ext-repo"
|
||||
|
||||
self.target_pm = RpmPM(d,
|
||||
self.sdk_target_sysroot,
|
||||
self.d.getVar('TARGET_VENDOR'),
|
||||
'target',
|
||||
rpm_repo_workdir=rpm_repo_workdir
|
||||
)
|
||||
|
||||
self.host_pm = RpmPM(d,
|
||||
@@ -104,7 +109,8 @@ class RpmSdk(Sdk):
|
||||
self.d.getVar('SDK_VENDOR'),
|
||||
'host',
|
||||
"SDK_PACKAGE_ARCHS",
|
||||
"SDK_OS"
|
||||
"SDK_OS",
|
||||
rpm_repo_workdir=rpm_repo_workdir
|
||||
)
|
||||
|
||||
def _populate_sysroot(self, pm, manifest):
|
||||
|
||||
Reference in New Issue
Block a user