fetch: do not include installed non-repository files in search
we do not create mirror repositories from other valid repositories, not from what was installed locally.cute-signatures
parent
4b29ea2a08
commit
ef7d467083
|
@ -140,14 +140,17 @@ struct apk_db_file *apk_db_file_query(struct apk_database *db,
|
||||||
apk_blob_t dir,
|
apk_blob_t dir,
|
||||||
apk_blob_t name);
|
apk_blob_t name);
|
||||||
|
|
||||||
#define APK_OPENF_READ 0x0001
|
#define APK_OPENF_READ 0x0001
|
||||||
#define APK_OPENF_WRITE 0x0002
|
#define APK_OPENF_WRITE 0x0002
|
||||||
#define APK_OPENF_CREATE 0x0004
|
#define APK_OPENF_CREATE 0x0004
|
||||||
#define APK_OPENF_NO_INSTALLED 0x0010
|
#define APK_OPENF_NO_INSTALLED 0x0010
|
||||||
#define APK_OPENF_NO_SCRIPTS 0x0020
|
#define APK_OPENF_NO_SCRIPTS 0x0020
|
||||||
#define APK_OPENF_NO_WORLD 0x0040
|
#define APK_OPENF_NO_WORLD 0x0040
|
||||||
#define APK_OPENF_NO_REPOS 0x0080
|
#define APK_OPENF_NO_SYS_REPOS 0x0100
|
||||||
|
#define APK_OPENF_NO_INSTALLED_REPO 0x0200
|
||||||
|
|
||||||
|
#define APK_OPENF_NO_REPOS (APK_OPENF_NO_SYS_REPOS | \
|
||||||
|
APK_OPENF_NO_INSTALLED_REPO)
|
||||||
#define APK_OPENF_NO_STATE (APK_OPENF_NO_INSTALLED | \
|
#define APK_OPENF_NO_STATE (APK_OPENF_NO_INSTALLED | \
|
||||||
APK_OPENF_NO_SCRIPTS | \
|
APK_OPENF_NO_SCRIPTS | \
|
||||||
APK_OPENF_NO_WORLD)
|
APK_OPENF_NO_WORLD)
|
||||||
|
|
|
@ -1131,7 +1131,7 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts)
|
||||||
goto ret_r;
|
goto ret_r;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(dbopts->open_flags & APK_OPENF_NO_REPOS)) {
|
if (!(dbopts->open_flags & APK_OPENF_NO_INSTALLED_REPO)) {
|
||||||
if (apk_db_cache_active(db)) {
|
if (apk_db_cache_active(db)) {
|
||||||
bs = apk_bstream_from_file(db->cache_fd, "installed");
|
bs = apk_bstream_from_file(db->cache_fd, "installed");
|
||||||
if (bs != NULL) {
|
if (bs != NULL) {
|
||||||
|
@ -1139,7 +1139,8 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts)
|
||||||
bs->close(bs, NULL);
|
bs->close(bs, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (!(dbopts->open_flags & APK_OPENF_NO_SYS_REPOS)) {
|
||||||
list_for_each_entry(repo, &dbopts->repository_list, list) {
|
list_for_each_entry(repo, &dbopts->repository_list, list) {
|
||||||
r = apk_db_add_repository(db, APK_BLOB_STR(repo->url));
|
r = apk_db_add_repository(db, APK_BLOB_STR(repo->url));
|
||||||
rr = r ?: rr;
|
rr = r ?: rr;
|
||||||
|
|
|
@ -240,10 +240,12 @@ static struct apk_option fetch_options[] = {
|
||||||
|
|
||||||
static struct apk_applet apk_fetch = {
|
static struct apk_applet apk_fetch = {
|
||||||
.name = "fetch",
|
.name = "fetch",
|
||||||
.help = "Download PACKAGEs from repositories to a local directory from "
|
.help = "Download PACKAGEs from global repositories to a local "
|
||||||
"which a local mirror repository can be created.",
|
"directory from which a local mirror repository can be "
|
||||||
|
"created.",
|
||||||
.arguments = "PACKAGE...",
|
.arguments = "PACKAGE...",
|
||||||
.open_flags = APK_OPENF_READ|APK_OPENF_NO_STATE,
|
.open_flags = APK_OPENF_READ | APK_OPENF_NO_STATE |
|
||||||
|
APK_OPENF_NO_INSTALLED_REPO,
|
||||||
.context_size = sizeof(struct fetch_ctx),
|
.context_size = sizeof(struct fetch_ctx),
|
||||||
.num_options = ARRAY_SIZE(fetch_options),
|
.num_options = ARRAY_SIZE(fetch_options),
|
||||||
.options = fetch_options,
|
.options = fetch_options,
|
||||||
|
|
Loading…
Reference in New Issue