From 321fa79e78c17bdb1e3e27f6e8b9d019201584a1 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Tue, 30 Aug 2016 00:00:35 +0300 Subject: Support stubs in loader --- brep/package | 17 +++++++++++++---- brep/package.cxx | 2 ++ 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'brep') diff --git a/brep/package b/brep/package index 5cfbd45..a193c16 100644 --- a/brep/package +++ b/brep/package @@ -157,10 +157,13 @@ namespace brep bool empty () const noexcept { - bool e (canonical_upstream.empty ()); - assert (!e || - (epoch == 0 && canonical_release.empty () && revision == 0)); - return e; + // Note that an empty canonical_upstream doesn't denote an empty + // canonical_version. Remeber, that canonical_upstream doesn't include + // rightmost digit-only zero components? So non-empty version("0") has + // an empty canonical_upstream. + // + return epoch == 0 && canonical_upstream.empty () && + canonical_release.empty () && revision == 0; } // Change collation to ensure the proper comparison of the "absent" release @@ -201,6 +204,12 @@ namespace brep } }; + // Wildcard version. Satisfies any dependency constraint and is represented + // as 0+0 (which is also the "stub version"; since a real version is always + // greater than the stub version, we reuse it to signify a special case). + // + extern const version wildcard_version; + // priority // using bpkg::priority; diff --git a/brep/package.cxx b/brep/package.cxx index 9cf0783..2f19e99 100644 --- a/brep/package.cxx +++ b/brep/package.cxx @@ -13,6 +13,8 @@ using namespace odb::core; namespace brep { + const version wildcard_version (0, "0", nullopt, 0); + // dependency // string dependency:: -- cgit v1.1