test: improve loading of repositories, fix broken install-if test
parent
2c4f6bb503
commit
7e64edfad6
14
src/apk.c
14
src/apk.c
|
@ -513,6 +513,13 @@ int main(int argc, char **argv)
|
||||||
apk_blob_t spec = APK_BLOB_STR(test_repos->item[i]), name, tag;
|
apk_blob_t spec = APK_BLOB_STR(test_repos->item[i]), name, tag;
|
||||||
int repo_tag = 0, repo = APK_REPOSITORY_FIRST_CONFIGURED + i;
|
int repo_tag = 0, repo = APK_REPOSITORY_FIRST_CONFIGURED + i;
|
||||||
|
|
||||||
|
if (spec.ptr[0] == '!') {
|
||||||
|
/* cache's installed repository */
|
||||||
|
spec.ptr++;
|
||||||
|
spec.len--;
|
||||||
|
repo = -2;
|
||||||
|
}
|
||||||
|
|
||||||
if (apk_blob_split(spec, APK_BLOB_STR(":"), &tag, &name)) {
|
if (apk_blob_split(spec, APK_BLOB_STR(":"), &tag, &name)) {
|
||||||
repo_tag = apk_db_get_tag_id(&db, tag);
|
repo_tag = apk_db_get_tag_id(&db, tag);
|
||||||
} else {
|
} else {
|
||||||
|
@ -520,9 +527,14 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
bs = apk_bstream_from_file(AT_FDCWD, name.ptr);
|
bs = apk_bstream_from_file(AT_FDCWD, name.ptr);
|
||||||
if (bs != NULL) {
|
if (bs == NULL) {
|
||||||
|
apk_error("Failed to open repository: " BLOB_FMT, BLOB_PRINTF(name));
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
apk_db_index_read(&db, bs, repo);
|
apk_db_index_read(&db, bs, repo);
|
||||||
bs->close(bs, NULL);
|
bs->close(bs, NULL);
|
||||||
|
if (repo != -2) {
|
||||||
if (!(apk_flags & APK_NO_NETWORK))
|
if (!(apk_flags & APK_NO_NETWORK))
|
||||||
db.available_repos |= BIT(repo);
|
db.available_repos |= BIT(repo);
|
||||||
db.repo_tags[repo_tag].allowed_repos |= BIT(repo);
|
db.repo_tags[repo_tag].allowed_repos |= BIT(repo);
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
C:Q16m4HrGizBiH4lG6Mxd5EL239FFU=
|
||||||
|
P:appiif1
|
||||||
|
V:2
|
||||||
|
S:1
|
||||||
|
I:1
|
||||||
|
D:app broken-deps
|
||||||
|
i:app foo
|
||||||
|
|
Loading…
Reference in New Issue