aboutsummaryrefslogtreecommitdiff
path: root/libbrep/build-package.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2019-07-08 21:27:53 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2019-07-09 14:03:46 +0300
commitc28758a9327efc0f3bfc2f3c14d12b533750d94b (patch)
tree6d40474dddd28973a2dc8899fe18c2cb4ea6ff40 /libbrep/build-package.hxx
parent4dcc80df759c7ba1ada65b52a8dc6c793d56e4e5 (diff)
Add support for marking internal repository as non-buildable
Diffstat (limited to 'libbrep/build-package.hxx')
-rw-r--r--libbrep/build-package.hxx15
1 files changed, 6 insertions, 9 deletions
diff --git a/libbrep/build-package.hxx b/libbrep/build-package.hxx
index 3f15012..c491b9e 100644
--- a/libbrep/build-package.hxx
+++ b/libbrep/build-package.hxx
@@ -78,6 +78,7 @@ namespace brep
package_id id;
upstream_version version;
lazy_shared_ptr<build_repository> internal_repository;
+ bool buildable;
// Mapped to the package object builds member using the PostgreSQL foreign
// table mechanism.
@@ -101,7 +102,7 @@ namespace brep
build_package () = default;
};
- // Packages that can potentially be built (internal non-stub).
+ // Packages that can potentially be built.
//
// Note that ADL can't find the equal operator, so we use the function call
// notation.
@@ -109,11 +110,9 @@ namespace brep
#pragma db view \
object(build_package) \
object(build_repository inner: \
+ build_package::buildable && \
brep::operator== (build_package::internal_repository, \
- build_repository::id) && \
- brep::compare_version_ne (build_package::id.version, \
- brep::wildcard_version, \
- false)) \
+ build_repository::id)) \
object(build_tenant: build_package::id.tenant == build_tenant::id)
struct buildable_package
{
@@ -128,11 +127,9 @@ namespace brep
#pragma db view \
object(build_package) \
object(build_repository inner: \
+ build_package::buildable && \
brep::operator== (build_package::internal_repository, \
- build_repository::id) && \
- brep::compare_version_ne (build_package::id.version, \
- brep::wildcard_version, \
- false)) \
+ build_repository::id)) \
object(build_tenant: build_package::id.tenant == build_tenant::id)
struct buildable_package_count
{