db: apk_db_read_state() needs to be before apk_db_add_repository()
Otherwise installed db load fails due to internal reasons. This would cause a lot of other funny stuff happen.cute-signatures
parent
82b9cb31fd
commit
edfaac3099
|
@ -645,15 +645,6 @@ int apk_db_open(struct apk_database *db, const char *root)
|
||||||
free(db->root);
|
free(db->root);
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (apk_repos == NULL)
|
|
||||||
apk_repos = "/etc/apk/repositories";
|
|
||||||
blob = apk_blob_from_file(apk_repos);
|
|
||||||
if (!APK_BLOB_IS_NULL(blob)) {
|
|
||||||
apk_blob_for_each_segment(blob, "\n",
|
|
||||||
apk_db_add_repository, db);
|
|
||||||
free(blob.ptr);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
blob = APK_BLOB_STR("etc:-etc/init.d");
|
blob = APK_BLOB_STR("etc:-etc/init.d");
|
||||||
|
@ -663,6 +654,19 @@ int apk_db_open(struct apk_database *db, const char *root)
|
||||||
if (r != 0)
|
if (r != 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
if (root != NULL) {
|
||||||
|
if (apk_repos == NULL)
|
||||||
|
apk_repos = "/etc/apk/repositories";
|
||||||
|
blob = apk_blob_from_file(apk_repos);
|
||||||
|
if (!APK_BLOB_IS_NULL(blob)) {
|
||||||
|
r = apk_blob_for_each_segment(blob, "\n",
|
||||||
|
apk_db_add_repository, db);
|
||||||
|
free(blob.ptr);
|
||||||
|
if (r != 0)
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (apk_repository != NULL)
|
if (apk_repository != NULL)
|
||||||
apk_db_add_repository(db, APK_BLOB_STR(apk_repository));
|
apk_db_add_repository(db, APK_BLOB_STR(apk_repository));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue