From: Michael Tremer Date: Tue, 28 Sep 2021 10:29:24 +0000 (+0000) Subject: pakfire: Create @commandline repo all the time X-Git-Tag: 0.9.28~925 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53482d6d21f458c180abd67f2eb290a594b9938e;p=pakfire.git pakfire: Create @commandline repo all the time Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/pakfire.c b/src/libpakfire/pakfire.c index d6beabbac..b539357ce 100644 --- a/src/libpakfire/pakfire.c +++ b/src/libpakfire/pakfire.c @@ -407,6 +407,7 @@ static Id pakfire_namespace_callback(Pool* pool, void* data, Id ns, Id id) { static int pakfire_populate_pool(struct pakfire* pakfire) { struct pakfire_db* db; + struct pakfire_repo* commandline = NULL; struct pakfire_repo* dummy = NULL; struct pakfire_repo* system = NULL; int r; @@ -453,6 +454,11 @@ static int pakfire_populate_pool(struct pakfire* pakfire) { // Set this repository as the installed one pool_set_installed(pool, pakfire_repo_get_repo(system)); + // Create the command line repo + r = pakfire_repo_create(&commandline, pakfire, "@commandline"); + if (r) + goto ERROR; + // Load database content r = pakfire_db_load(db, system); if (r) @@ -461,6 +467,8 @@ static int pakfire_populate_pool(struct pakfire* pakfire) { ERROR: if (db) pakfire_db_unref(db); + if (commandline) + pakfire_repo_unref(commandline); if (dummy) pakfire_repo_unref(dummy); if (system) diff --git a/src/libpakfire/request.c b/src/libpakfire/request.c index 35708dec3..7abe90d8c 100644 --- a/src/libpakfire/request.c +++ b/src/libpakfire/request.c @@ -389,13 +389,12 @@ static int pakfire_request_add_job(struct pakfire_request* request, int action, static int pakfire_request_add_archive(struct pakfire_request* request, int action, struct pakfire_archive* archive, int extra_flags) { - struct pakfire_repo* repo = NULL; struct pakfire_package* package = NULL; int r; - r = pakfire_repo_create(&repo, request->pakfire, "@commandline"); - if (r) - return r; + struct pakfire_repo* repo = pakfire_get_repo(request->pakfire, "@commandline"); + if (!repo) + return 1; // Add it to the repository r = pakfire_repo_add_archive(repo, archive, &package);