From 2372692660c80e79f1161f6ea99dd5eeea60a6d4 Mon Sep 17 00:00:00 2001 From: Timo Teräs Date: Thu, 12 Jan 2012 10:27:09 +0200 Subject: add: fail if repository tag does not exist --- src/add.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/add.c b/src/add.c index 5980605..2863761 100644 --- a/src/add.c +++ b/src/add.c @@ -107,13 +107,21 @@ static int add_main(void *ctx, struct apk_database *db, int argc, char **argv) } apk_dep_from_pkg(&dep, db, pkg); } else { + struct apk_repository_tag *tag; apk_blob_t b = APK_BLOB_STR(argv[i]); + apk_blob_pull_dep(&b, db, &dep); if (APK_BLOB_IS_NULL(b)) { - apk_error("'%s' is not a valid dependency, format is name(@tag)([<>=]version)", + apk_error("'%s' is not a valid dependency, format is name(@tag)([<>=]version)", argv[i]); return -1; } + tag = &db->repo_tags[dep.repository_tag]; + if (!tag->allowed_repos) { + apk_error("Repository tag '" BLOB_FMT "' is not defined", + BLOB_PRINTF(*tag->name)); + return -1; + } } if (virtpkg == NULL) { -- cgit v1.2.3-70-g09d2