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
Timo Teras 2010-03-04 14:01:37 +02:00
parent 4b29ea2a08
commit ef7d467083
3 changed files with 18 additions and 12 deletions

View File

@ -140,14 +140,17 @@ struct apk_db_file *apk_db_file_query(struct apk_database *db,
apk_blob_t dir,
apk_blob_t name);
#define APK_OPENF_READ 0x0001
#define APK_OPENF_WRITE 0x0002
#define APK_OPENF_CREATE 0x0004
#define APK_OPENF_NO_INSTALLED 0x0010
#define APK_OPENF_NO_SCRIPTS 0x0020
#define APK_OPENF_NO_WORLD 0x0040
#define APK_OPENF_NO_REPOS 0x0080
#define APK_OPENF_READ 0x0001
#define APK_OPENF_WRITE 0x0002
#define APK_OPENF_CREATE 0x0004
#define APK_OPENF_NO_INSTALLED 0x0010
#define APK_OPENF_NO_SCRIPTS 0x0020
#define APK_OPENF_NO_WORLD 0x0040
#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 | \
APK_OPENF_NO_SCRIPTS | \
APK_OPENF_NO_WORLD)

View File

@ -1131,7 +1131,7 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts)
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)) {
bs = apk_bstream_from_file(db->cache_fd, "installed");
if (bs != NULL) {
@ -1139,7 +1139,8 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts)
bs->close(bs, NULL);
}
}
}
if (!(dbopts->open_flags & APK_OPENF_NO_SYS_REPOS)) {
list_for_each_entry(repo, &dbopts->repository_list, list) {
r = apk_db_add_repository(db, APK_BLOB_STR(repo->url));
rr = r ?: rr;

View File

@ -240,10 +240,12 @@ static struct apk_option fetch_options[] = {
static struct apk_applet apk_fetch = {
.name = "fetch",
.help = "Download PACKAGEs from repositories to a local directory from "
"which a local mirror repository can be created.",
.help = "Download PACKAGEs from global repositories to a local "
"directory from which a local mirror repository can be "
"created.",
.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),
.num_options = ARRAY_SIZE(fetch_options),
.options = fetch_options,