According to the documentation, setting FEED_DEPLOYDIR_BASE_URI should be sufficient for setting up local feeds. This commit fixes the implementation to actually do that, even if BUILD_IMAGES_FROM_FEEDS is not set.
Also fix some bugs in the old implementation: - Fetch uncompressed Packages files, because 'bitbake package-index' does not appear to create Packages.gz files. - Add missing newline after the URI so that the options don't end up on the same line. - Fix the check when local options are necessary. Signed-off-by: Reinhard Tartler <tart...@deshaw.com> --- meta/lib/oe/package_manager.py | 59 +++++++++++++++++++++++------- ------------ 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 2802254..e92bbbd 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -1649,33 +1649,36 @@ class OpkgPM(OpkgDpkgPM): config_file.write("src/gz %s %s\n" % (feed_name, feed_uri)) - """ - Allow to use package deploy directory contents as quick devel-testing - feed. This creates individual feed configs for each arch subdir of those - specified as compatible for the current machine. - NOTE: Development-helper feature, NOT a full-fledged feed. - """ - if (self.d.getVar('FEED_DEPLOYDIR_BASE_URI', True) or "") != "": - for arch in self.pkg_archs.split(): - cfg_file_name = os.path.join(self.target_rootfs, - self.d.getVar("sysconfdir", True), - "opkg", - "local-%s-feed.conf" % arch) - - with open(cfg_file_name, "w+") as cfg_file: - cfg_file.write("src/gz local-%s %s/%s" % - (arch, - self.d.getVar('FEED_DEPLOYDIR_BASE_URI', True), - arch)) - - if self.opkg_dir != '/var/lib/opkg': - # There is no command line option for this anymore, we need to add - # info_dir and status_file to config file, if OPKGLIBDIR doesn't have - # the default value of "/var/lib" as defined in opkg: - # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR "/var/lib/opkg/info" - # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE "/var/lib/opkg/status" - cfg_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'info')) - cfg_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'status')) + self._setup_devel_feeds() + + def _setup_devel_feeds(self): + """ + Allow to use package deploy directory contents as quick devel-testing + feed. This creates individual feed configs for each arch subdir of those + specified as compatible for the current machine. + NOTE: Development-helper feature, NOT a full-fledged feed. + """ + + if (self.d.getVar('FEED_DEPLOYDIR_BASE_URI', True) or "") != "": + for arch in self.pkg_archs.split(): + cfg_file_name = os.path.join(self.target_rootfs + self.d.getVar("sysconfdir", True), + "opkg", "local-%s-feed.conf" % arch) + + bb.utils.mkdirhier(os.path.dirname(cfg_file_name)) + with open(cfg_file_name, "w+") as cfg_file: + cfg_file.write("src local-%s %s/%s\n" % + (arch, + self.d.getVar('FEED_DEPLOYDIR_BASE_URI', True), + arch)) + + if self.opkg_dir != self.target_rootfs + '/var/lib/opkg': + # There is no command line option for this anymore, we need to add + # info_dir and status_file to config file, if OPKGLIBDIR doesn't have + # the default value of "/var/lib" as defined in opkg: + # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR "/var/lib/opkg/info" + # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE "/var/lib/opkg/status" + cfg_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'info')) + cfg_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'status')) def _create_config(self): @@ -1702,6 +1705,8 @@ class OpkgPM(OpkgDpkgPM): config_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'info')) config_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'status')) + self._setup_devel_feeds() + def insert_feeds_uris(self): if self.feed_uris == "": return -- 2.7.1
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core