[oe] [PATCH] package_manager.py: Restore FEED_DEPLOYDIR_BASE_URI functionality
Martin Jansa
martin.jansa at gmail.com
Tue Aug 30 17:24:11 UTC 2016
On Tue, Aug 30, 2016 at 11:31:26AM -0400, Reinhard Tartler wrote:
> 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.
This belongs to openembedded-core ML.
>
> 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 <tartler at 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-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20160830/7459e13b/attachment-0002.sig>
More information about the Openembedded-devel
mailing list