From 3be6f0f7ffd23dc6f3ace83ac608d5c32786ef82 Mon Sep 17 00:00:00 2001 From: Ciaran McCreesh Date: Thu, 21 Apr 2011 08:36:37 +0100 Subject: Don't bother loading empty provide --- paludis/repositories/e/ebuild.cc | 6 +++++- paludis/repositories/e/ebuild_flat_metadata_cache.cc | 12 ++++++++++-- python/package_id_TEST_setup.sh | 1 + ruby/package_id_TEST_setup.sh | 1 + 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/paludis/repositories/e/ebuild.cc b/paludis/repositories/e/ebuild.cc index 4e5ea3889..3bcda1e28 100644 --- a/paludis/repositories/e/ebuild.cc +++ b/paludis/repositories/e/ebuild.cc @@ -614,7 +614,11 @@ EbuildMetadataCommand::load(const std::shared_ptr & id) id->load_license(m.license(), get(keys, m.license()->name())); if (! m.provide()->name().empty()) - id->load_provide(m.provide(), get(keys, m.provide()->name())); + { + std::string value(get(keys, m.provide()->name())); + if (! value.empty()) + id->load_provide(m.provide(), get(keys, m.provide()->name())); + } if (! m.iuse()->name().empty()) id->load_iuse(m.iuse(), get(keys, m.iuse()->name())); diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.cc b/paludis/repositories/e/ebuild_flat_metadata_cache.cc index 391d1be52..0db3b6091 100644 --- a/paludis/repositories/e/ebuild_flat_metadata_cache.cc +++ b/paludis/repositories/e/ebuild_flat_metadata_cache.cc @@ -243,7 +243,11 @@ namespace id->load_post_depend(m.pdepend()->name(), m.pdepend()->description(), lines.at(m.pdepend()->flat_list_index()), false); if (-1 != m.provide()->flat_list_index() && ! m.provide()->name().empty()) - id->load_provide(m.provide(), lines.at(m.provide()->flat_list_index())); + { + std::string value(lines.at(m.provide()->flat_list_index())); + if (! value.empty()) + id->load_provide(m.provide(), value); + } if (-1 != m.use()->flat_list_index() && ! m.use()->name().empty()) id->load_use(m.use(), lines.at(m.use()->flat_list_index())); @@ -586,7 +590,11 @@ EbuildFlatMetadataCache::load(const std::shared_ptr & id, const id->load_post_depend(m.pdepend()->name(), m.pdepend()->description(), keys[m.pdepend()->name()], false); if (! m.provide()->name().empty()) - id->load_provide(m.provide(), keys[m.provide()->name()]); + { + std::string value(keys[m.provide()->name()]); + if (! value.empty()) + id->load_provide(m.provide(), value); + } if (! m.use()->name().empty()) id->load_use(m.use(), keys[m.use()->name()]); diff --git a/python/package_id_TEST_setup.sh b/python/package_id_TEST_setup.sh index be8462780..0efc5ff78 100755 --- a/python/package_id_TEST_setup.sh +++ b/python/package_id_TEST_setup.sh @@ -34,6 +34,7 @@ KEYWORDS="test" RESTRICT="monkey" DEPEND="foo/bar" RDEPEND="" +PROVIDE="virtual/monkey" END diff --git a/ruby/package_id_TEST_setup.sh b/ruby/package_id_TEST_setup.sh index ed1668b3a..745e0df2f 100755 --- a/ruby/package_id_TEST_setup.sh +++ b/ruby/package_id_TEST_setup.sh @@ -36,6 +36,7 @@ KEYWORDS="~test" RESTRICT="monkey" DEPEND="foo/bar" RDEPEND="" +PROVIDE="virtual/monkey" END cat <<"END" > bad/pkg/pkg-1.0.ebuild || exit 1 -- cgit v1.2.3