do_rootfs: Added PACKAGE_FEED_URIS functionality

Adding a common interface to add predefined package manager
channels to prebuilt rootfs:es.

Adding PACKAGE_FEED_URIS = "http://myre.po/repo/, will
assume repo directories named (rpm,ipk,deb) as subdirectories
and statically add them to the rootfs, using the same PKG_ARCHs
as the build which produced the images.

Tested with RPM, IPK and DEB.

deb feed functionality seem broken, is anyone using this ?

(From OE-Core rev: 9b8811045546ad67b4695d980f09636d5506e50c)

Signed-off-by: David Nyström <david.c.nystrom@gmail.com>
Signed-off-by: David Nyström <david.nystrom@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
David Nyström
2014-02-27 21:20:37 +01:00
committed by Richard Purdie
parent ff8d8fbc9e
commit 7af3eb8434
2 changed files with 92 additions and 13 deletions

View File

@@ -41,9 +41,10 @@ class Rootfs(object):
def _log_check(self):
pass
@abstractmethod
def _insert_feed_uris(self):
pass
if base_contains("IMAGE_FEATURES", "package-management",
True, False, self.d):
self.pm.insert_feeds_uris()
@abstractmethod
def _handle_intercept_failure(self, failed_script):
@@ -349,9 +350,6 @@ class RpmRootfs(Rootfs):
if found_error == 6:
bb.fatal(message)
def _insert_feed_uris(self):
pass
def _handle_intercept_failure(self, registered_pkgs):
rpm_postinsts_dir = self.image_rootfs + self.d.expand('${sysconfdir}/rpm-postinsts/')
bb.utils.mkdirhier(rpm_postinsts_dir)
@@ -372,6 +370,7 @@ class DpkgRootfs(Rootfs):
d.getVar('PACKAGE_ARCHS', True),
d.getVar('DPKG_ARCH', True))
def _create(self):
pkgs_to_install = self.manifest.parse_initial_manifest()
@@ -432,9 +431,6 @@ class DpkgRootfs(Rootfs):
def _log_check(self):
pass
def _insert_feed_uris(self):
pass
class OpkgRootfs(Rootfs):
def __init__(self, d, manifest_dir):
@@ -698,10 +694,6 @@ class OpkgRootfs(Rootfs):
def _log_check(self):
pass
def _insert_feed_uris(self):
pass
def create_rootfs(d, manifest_dir=None):
env_bkp = os.environ.copy()