From: Michael Tremer Date: Sat, 21 Jun 2025 18:14:13 +0000 (+0000) Subject: client: Rename the build service to client X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a455cba05e9fcfccb84eaecc328989d0572d01ba;p=pakfire.git client: Rename the build service to client This is simply to have way shorter function names, because things have started to become a little bit ridiculous. No functional changes. Signed-off-by: Michael Tremer --- diff --git a/Makefile.am b/Makefile.am index 4ab7bfd1..fd3f331f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -198,10 +198,10 @@ libpakfire_la_SOURCES = \ src/pakfire/buffer.h \ src/pakfire/build.c \ src/pakfire/build.h \ - src/pakfire/buildservice.c \ - src/pakfire/buildservice.h \ src/pakfire/cgroup.c \ src/pakfire/cgroup.h \ + src/pakfire/client.c \ + src/pakfire/client.h \ src/pakfire/config.c \ src/pakfire/config.h \ src/pakfire/constants.h \ diff --git a/src/cli/lib/auth.c b/src/cli/lib/auth.c index 031a0913..8178602f 100644 --- a/src/cli/lib/auth.c +++ b/src/cli/lib/auth.c @@ -18,7 +18,7 @@ # # #############################################################################*/ -#include +#include #include "auth.h" #include "command.h" @@ -58,7 +58,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_auth(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; struct cli_local_args local_args = {}; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; int r; // Parse the command line @@ -66,19 +66,19 @@ int cli_auth(void* data, int argc, char* argv[]) { if (r) goto ERROR; - // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + // Connect to the client + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // Authenticate - r = pakfire_buildservice_auth_user(service, local_args.username, local_args.password); + r = pakfire_client_auth_user(client, local_args.username, local_args.password); if (r < 0) goto ERROR; ERROR: - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); return r; } diff --git a/src/cli/lib/client-build.c b/src/cli/lib/client-build.c index d56d1fc1..c2a2a26a 100644 --- a/src/cli/lib/client-build.c +++ b/src/cli/lib/client-build.c @@ -20,7 +20,7 @@ #include -#include +#include #include "client-build.h" #include "command.h" @@ -76,7 +76,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { break; case OPT_DISABLE_TESTS: - args->flags |= PAKFIRE_BUILDSERVICE_DISABLE_TESTS; + args->flags |= PAKFIRE_CLIENT_DISABLE_TESTS; break; case OPT_REPO: @@ -100,7 +100,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_client_build(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; struct cli_local_args local_args = {}; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; char* upload = NULL; int r; @@ -110,13 +110,13 @@ int cli_client_build(void* data, int argc, char* argv[]) { goto ERROR; // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // Upload all packages for (unsigned int i = 0; i < local_args.num_packages; i++) { - r = pakfire_buildservice_upload(service, local_args.packages[i], NULL, &upload); + r = pakfire_client_upload(client, local_args.packages[i], NULL, &upload); if (r) goto ERROR; @@ -130,7 +130,7 @@ int cli_client_build(void* data, int argc, char* argv[]) { // Build all the things for (unsigned int i = 0; i < local_args.num_uploads; i++) { - r = pakfire_buildservice_build(service, local_args.uploads[i], local_args.repo, + r = pakfire_client_build(client, local_args.uploads[i], local_args.repo, local_args.arches, local_args.flags); if (r) goto ERROR; @@ -144,12 +144,12 @@ ERROR: // Delete & free all uploads that could not be processed for (unsigned int i = 0; i < local_args.num_uploads; i++) { if (local_args.uploads[i]) { - pakfire_buildservice_delete_upload(service, local_args.uploads[i]); + pakfire_client_delete_upload(client, local_args.uploads[i]); free(local_args.uploads[i]); } } - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); return r; } diff --git a/src/cli/lib/pakfire.c b/src/cli/lib/pakfire.c index 19e66d41..4a5da2f2 100644 --- a/src/cli/lib/pakfire.c +++ b/src/cli/lib/pakfire.c @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include @@ -140,7 +140,7 @@ ERROR: return r; } -int cli_setup_buildservice(struct pakfire_buildservice** service, struct cli_global_args* args) { +int cli_setup_client(struct pakfire_client** client, struct cli_global_args* args) { struct pakfire_config* config = NULL; const char* url = NULL; int r; @@ -154,7 +154,7 @@ int cli_setup_buildservice(struct pakfire_buildservice** service, struct cli_glo url = pakfire_config_get(config, "client", "url", "https://pakfire.ipfire.org/"); // Connect to the build service - r = pakfire_buildservice_create(service, args->ctx, url); + r = pakfire_client_create(client, args->ctx, url); if (r < 0) { fprintf(stderr, "Could not setup the build service: %s\n", strerror(-r)); goto ERROR; diff --git a/src/cli/lib/pakfire.h b/src/cli/lib/pakfire.h index 4dc2cc0d..1da58d69 100644 --- a/src/cli/lib/pakfire.h +++ b/src/cli/lib/pakfire.h @@ -22,7 +22,7 @@ #define PAKFIRE_CLI_PAKFIRE_H #include -#include +#include #include #include #include @@ -49,6 +49,6 @@ struct cli_global_args { int cli_setup_config(struct pakfire_config** config, struct cli_global_args* args); int cli_setup_pakfire(struct pakfire** pakfire, struct cli_global_args* args); int cli_setup_build(struct pakfire_build** build, struct cli_global_args* args, int flags); -int cli_setup_buildservice(struct pakfire_buildservice** service, struct cli_global_args* args); +int cli_setup_client(struct pakfire_client** client, struct cli_global_args* args); #endif /* PAKFIRE_CLI_PAKFIRE_H */ diff --git a/src/cli/lib/repo_create.c b/src/cli/lib/repo_create.c index c1e46cbc..1c7c84fe 100644 --- a/src/cli/lib/repo_create.c +++ b/src/cli/lib/repo_create.c @@ -22,7 +22,7 @@ #include -#include +#include #include "command.h" #include "dump.h" @@ -76,7 +76,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_repo_create(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; struct cli_local_args local_args = {}; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; struct json_object* repo = NULL; int r; @@ -86,13 +86,13 @@ int cli_repo_create(void* data, int argc, char* argv[]) { goto ERROR; // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // List repos - r = pakfire_buildservice_create_repo(service, - local_args.distro, local_args.name, local_args.description, &repo); + r = pakfire_client_create_repo(client, local_args.distro, local_args.name, + local_args.description, &repo); if (r) goto ERROR; @@ -102,8 +102,8 @@ int cli_repo_create(void* data, int argc, char* argv[]) { goto ERROR; ERROR: - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); if (repo) json_object_put(repo); diff --git a/src/cli/lib/repo_delete.c b/src/cli/lib/repo_delete.c index c5eda6cc..49a5c08d 100644 --- a/src/cli/lib/repo_delete.c +++ b/src/cli/lib/repo_delete.c @@ -22,7 +22,7 @@ #include -#include +#include #include "command.h" #include "dump.h" @@ -63,7 +63,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_repo_delete(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; struct cli_local_args local_args = {}; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; struct json_object* repo = NULL; int r; @@ -73,18 +73,18 @@ int cli_repo_delete(void* data, int argc, char* argv[]) { goto ERROR; // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // Delete the repository - r = pakfire_buildservice_delete_repo(service, local_args.distro, local_args.name); + r = pakfire_client_delete_repo(client, local_args.distro, local_args.name); if (r) goto ERROR; ERROR: - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); if (repo) json_object_put(repo); diff --git a/src/cli/lib/repo_list.c b/src/cli/lib/repo_list.c index 8f750042..1167169e 100644 --- a/src/cli/lib/repo_list.c +++ b/src/cli/lib/repo_list.c @@ -20,7 +20,7 @@ #include -#include +#include #include "command.h" #include "dump.h" @@ -55,7 +55,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_repo_list(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; struct cli_local_args local_args = {}; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; struct json_object* repos = NULL; int r; @@ -65,12 +65,12 @@ int cli_repo_list(void* data, int argc, char* argv[]) { goto ERROR; // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // List repos - r = pakfire_buildservice_list_repos(service, local_args.distro, &repos); + r = pakfire_client_list_repos(client, local_args.distro, &repos); if (r) goto ERROR; @@ -80,8 +80,8 @@ int cli_repo_list(void* data, int argc, char* argv[]) { goto ERROR; ERROR: - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); if (repos) json_object_put(repos); diff --git a/src/cli/lib/repo_show.c b/src/cli/lib/repo_show.c index c92a543c..f9481f9a 100644 --- a/src/cli/lib/repo_show.c +++ b/src/cli/lib/repo_show.c @@ -22,7 +22,7 @@ #include -#include +#include #include "command.h" #include "dump.h" @@ -61,7 +61,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_repo_show(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; struct cli_local_args local_args = {}; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; struct json_object* repo = NULL; int r; @@ -71,12 +71,12 @@ int cli_repo_show(void* data, int argc, char* argv[]) { goto ERROR; // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // List repos - r = pakfire_buildservice_get_repo(service, local_args.distro, local_args.name, &repo); + r = pakfire_client_get_repo(client, local_args.distro, local_args.name, &repo); if (r) goto ERROR; @@ -86,8 +86,8 @@ int cli_repo_show(void* data, int argc, char* argv[]) { goto ERROR; ERROR: - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); if (repo) json_object_put(repo); diff --git a/src/cli/lib/upload_create.c b/src/cli/lib/upload_create.c index 4df2360d..53f695c1 100644 --- a/src/cli/lib/upload_create.c +++ b/src/cli/lib/upload_create.c @@ -20,7 +20,7 @@ #include -#include +#include #include "command.h" #include "pakfire.h" @@ -58,7 +58,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_upload_create(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; struct cli_local_args local_args = {}; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; char* uuid = NULL; int r; @@ -68,13 +68,13 @@ int cli_upload_create(void* data, int argc, char* argv[]) { goto ERROR; // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // List uploads for (unsigned int i = 0; i < local_args.num_files; i++) { - r = pakfire_buildservice_upload(service, local_args.files[i], NULL, &uuid); + r = pakfire_client_upload(client, local_args.files[i], NULL, &uuid); if (r) goto ERROR; @@ -85,8 +85,8 @@ int cli_upload_create(void* data, int argc, char* argv[]) { } ERROR: - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); return r; } diff --git a/src/cli/lib/upload_delete.c b/src/cli/lib/upload_delete.c index 5101729a..de49231b 100644 --- a/src/cli/lib/upload_delete.c +++ b/src/cli/lib/upload_delete.c @@ -20,7 +20,7 @@ #include -#include +#include #include #include "command.h" @@ -63,7 +63,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_upload_delete(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; struct cli_local_args local_args = {}; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; int r; // Parse the command line @@ -72,20 +72,20 @@ int cli_upload_delete(void* data, int argc, char* argv[]) { goto ERROR; // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // Delete uploads for (unsigned int i = 0; i < local_args.num_uploads; i++) { - r = pakfire_buildservice_delete_upload(service, local_args.uploads[i]); + r = pakfire_client_delete_upload(client, local_args.uploads[i]); if (r) goto ERROR; } ERROR: - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); return r; } diff --git a/src/cli/lib/upload_list.c b/src/cli/lib/upload_list.c index ccebc9dd..2809e7c3 100644 --- a/src/cli/lib/upload_list.c +++ b/src/cli/lib/upload_list.c @@ -20,7 +20,7 @@ #include -#include +#include #include "command.h" #include "dump.h" @@ -31,7 +31,7 @@ static const char* doc = "Lists all uploads"; int cli_upload_list(void* data, int argc, char* argv[]) { struct cli_global_args* global_args = data; - struct pakfire_buildservice* service = NULL; + struct pakfire_client* client = NULL; struct json_object* uploads = NULL; int r; @@ -41,12 +41,12 @@ int cli_upload_list(void* data, int argc, char* argv[]) { goto ERROR; // Connect to the build service - r = cli_setup_buildservice(&service, global_args); + r = cli_setup_client(&client, global_args); if (r < 0) goto ERROR; // List uploads - r = pakfire_buildservice_list_uploads(service, &uploads); + r = pakfire_client_list_uploads(client, &uploads); if (r) goto ERROR; @@ -56,8 +56,8 @@ int cli_upload_list(void* data, int argc, char* argv[]) { goto ERROR; ERROR: - if (service) - pakfire_buildservice_unref(service); + if (client) + pakfire_client_unref(client); if (uploads) json_object_put(uploads); diff --git a/src/pakfire/buildservice.c b/src/pakfire/client.c similarity index 74% rename from src/pakfire/buildservice.c rename to src/pakfire/client.c index 7f1ae677..af6cae4f 100644 --- a/src/pakfire/buildservice.c +++ b/src/pakfire/client.c @@ -24,7 +24,7 @@ #include -#include +#include #include #include #include @@ -37,7 +37,7 @@ #include #include -struct pakfire_buildservice { +struct pakfire_client { struct pakfire_ctx* ctx; int nrefs; @@ -54,24 +54,24 @@ struct pakfire_buildservice { time_t refresh_token_expires_at; }; -static int pakfire_buildservice_xfer_create(struct pakfire_xfer** xfer, - struct pakfire_buildservice* service, const char* url, ...) __attribute__((format(printf, 3, 4))); +static int pakfire_client_xfer_create(struct pakfire_xfer** xfer, + struct pakfire_client* self, const char* url, ...) __attribute__((format(printf, 3, 4))); -static int pakfire_buildservice_xfer_create(struct pakfire_xfer** xfer, - struct pakfire_buildservice* service, const char* url, ...) { +static int pakfire_client_xfer_create(struct pakfire_xfer** xfer, + struct pakfire_client* self, const char* url, ...) { struct pakfire_xfer* x = NULL; va_list args; int r; // Create a new xfer va_start(args, url); - r = pakfire_xfer_create(&x, service->ctx, url, args); + r = pakfire_xfer_create(&x, self->ctx, url, args); va_end(args); if (r < 0) goto ERROR; // Set the base URL - r = pakfire_xfer_set_baseurl(x, service->url); + r = pakfire_xfer_set_baseurl(x, self->url); if (r < 0) goto ERROR; @@ -90,7 +90,7 @@ ERROR: return r; } -static int pakfire_buildservice_set_access_token(struct pakfire_buildservice* self, const char* token) { +static int pakfire_client_set_access_token(struct pakfire_client* self, const char* token) { char expires_at[1024]; int r; @@ -118,7 +118,7 @@ static int pakfire_buildservice_set_access_token(struct pakfire_buildservice* se return 0; } -static int pakfire_buildservice_set_refresh_token(struct pakfire_buildservice* self, const char* token) { +static int pakfire_client_set_refresh_token(struct pakfire_client* self, const char* token) { char expires_at[1024]; int r; @@ -146,7 +146,7 @@ static int pakfire_buildservice_set_refresh_token(struct pakfire_buildservice* s return 0; } -static int pakfire_buildservice_token_has_expired(const time_t t) { +static int pakfire_client_token_has_expired(const time_t t) { time_t now = -1; // Fetch the current time @@ -158,7 +158,7 @@ static int pakfire_buildservice_token_has_expired(const time_t t) { return (t - now) < 60; } -static int pakfire_buildservice_auth_refresh(struct pakfire_buildservice* self) { +static int pakfire_client_auth_refresh(struct pakfire_client* self) { struct pakfire_xfer* xfer = NULL; struct json_object* request = NULL; struct json_object* response = NULL; @@ -170,11 +170,11 @@ static int pakfire_buildservice_auth_refresh(struct pakfire_buildservice* self) return -ENOTSUP; // We cannot do this either if the refresh token has expired - else if (pakfire_buildservice_token_has_expired(self->refresh_token_expires_at)) + else if (pakfire_client_token_has_expired(self->refresh_token_expires_at)) return -ENOTSUP; // Create a new transfer - r = pakfire_buildservice_xfer_create(&xfer, self, "/api/v1/auth/refresh"); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/auth/refresh"); if (r < 0) goto ERROR; @@ -201,7 +201,7 @@ static int pakfire_buildservice_auth_refresh(struct pakfire_buildservice* self) } // Store the new access token - r = pakfire_buildservice_set_access_token(self, access_token); + r = pakfire_client_set_access_token(self, access_token); if (r < 0) goto ERROR; @@ -216,7 +216,7 @@ ERROR: return r; } -static int pakfire_buildservice_xfer_auth(struct pakfire_buildservice* self, struct pakfire_xfer* xfer) { +static int pakfire_client_xfer_auth(struct pakfire_client* self, struct pakfire_xfer* xfer) { int r; // Fail if not authenticated @@ -224,11 +224,11 @@ static int pakfire_buildservice_xfer_auth(struct pakfire_buildservice* self, str return -ENOTSUP; // Refresh if the access token has expired - if (pakfire_buildservice_token_has_expired(self->access_token_expires_at)) { + if (pakfire_client_token_has_expired(self->access_token_expires_at)) { DEBUG(self->ctx, "The access token has expired. Trying to refresh...\n"); // Refresh the access token - r = pakfire_buildservice_auth_refresh(self); + r = pakfire_client_auth_refresh(self); if (r < 0) return r; } @@ -241,71 +241,68 @@ static int pakfire_buildservice_xfer_auth(struct pakfire_buildservice* self, str return 0; } -static void pakfire_buildservice_free(struct pakfire_buildservice* service) { - if (service->ctx) - pakfire_ctx_unref(service->ctx); +static void pakfire_client_free(struct pakfire_client* self) { + if (self->ctx) + pakfire_ctx_unref(self->ctx); - free(service); + free(self); } -int pakfire_buildservice_create( - struct pakfire_buildservice** service, struct pakfire_ctx* ctx, const char* url) { - struct pakfire_buildservice* s = NULL; +int pakfire_client_create(struct pakfire_client** client, + struct pakfire_ctx* ctx, const char* url) { + struct pakfire_client* self = NULL; int r; // Allocate some memory - s = calloc(1, sizeof(*s)); - if (!s) + self = calloc(1, sizeof(*self)); + if (!self) return -errno; // Store a reference to the context - s->ctx = pakfire_ctx_ref(ctx); + self->ctx = pakfire_ctx_ref(ctx); // Initialize the reference counter - s->nrefs = 1; + self->nrefs = 1; // Store the URL - r = pakfire_string_set(s->url, url); + r = pakfire_string_set(self->url, url); if (r < 0) goto ERROR; - DEBUG(s->ctx, "Pakfire Build Service initialized for %s\n", - pakfire_buildservice_get_url(s)); + DEBUG(self->ctx, "Pakfire Build Service initialized for %s\n", + pakfire_client_get_url(self)); // Return the pointer - *service = s; + *client = self; return 0; ERROR: - pakfire_buildservice_free(s); - + pakfire_client_free(self); return r; } -struct pakfire_buildservice* pakfire_buildservice_ref( - struct pakfire_buildservice* service) { - ++service->nrefs; +struct pakfire_client* pakfire_client_ref(struct pakfire_client* self) { + ++self->nrefs; - return service; + return self; } -struct pakfire_buildservice* pakfire_buildservice_unref( - struct pakfire_buildservice* service) { - if (--service->nrefs > 0) - return service; +struct pakfire_client* pakfire_client_unref(struct pakfire_client* self) { + if (--self->nrefs > 0) + return self; - pakfire_buildservice_free(service); + pakfire_client_free(self); return NULL; } -const char* pakfire_buildservice_get_url(struct pakfire_buildservice* service) { - return service->url; +const char* pakfire_client_get_url(struct pakfire_client* self) { + return self->url; } // Authenticate -int pakfire_buildservice_auth_user(struct pakfire_buildservice* self, +int pakfire_client_auth_user(struct pakfire_client* self, const char* username, const char* password) { struct json_object* response = NULL; struct pakfire_xfer* xfer = NULL; @@ -320,7 +317,7 @@ int pakfire_buildservice_auth_user(struct pakfire_buildservice* self, const char* refresh_token = NULL; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, self, "/api/v1/auth/user"); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/auth/user"); if (r < 0) goto ERROR; @@ -364,12 +361,12 @@ int pakfire_buildservice_auth_user(struct pakfire_buildservice* self, } // Store the access token - r = pakfire_buildservice_set_access_token(self, access_token); + r = pakfire_client_set_access_token(self, access_token); if (r < 0) goto ERROR; // Store the refresh token - r = pakfire_buildservice_set_refresh_token(self, refresh_token); + r = pakfire_client_set_refresh_token(self, refresh_token); if (r < 0) goto ERROR; @@ -390,19 +387,19 @@ ERROR: // Build -int pakfire_buildservice_build(struct pakfire_buildservice* service, const char* upload, +int pakfire_client_build(struct pakfire_client* self, const char* upload, const char* repo, const char** arches, int flags) { struct pakfire_xfer* xfer = NULL; struct json_object* request = NULL; int r; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/builds"); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/builds"); if (r) goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r) goto ERROR; @@ -432,7 +429,7 @@ int pakfire_buildservice_build(struct pakfire_buildservice* service, const char* // Disable tests? r = pakfire_json_add_boolean(request, "disable_test_builds", - flags & PAKFIRE_BUILDSERVICE_DISABLE_TESTS); + flags & PAKFIRE_CLIENT_DISABLE_TESTS); if (r < 0) goto ERROR; @@ -448,7 +445,7 @@ ERROR: return r; } -static int pakfire_buildservice_api_response_string(struct pakfire_buildservice* self, +static int pakfire_client_api_response_string(struct pakfire_client* self, struct json_object* response, const char* key, char** value) { struct json_object* object = NULL; const char* s = NULL; @@ -492,7 +489,7 @@ ERROR: // Uploads -static int pakfire_buildservice_create_upload(struct pakfire_buildservice* service, +static int pakfire_client_create_upload(struct pakfire_client* self, const char* path, const char* filename, FILE* f, char** uuid) { struct pakfire_hashes hashes = {}; struct pakfire_xfer* xfer = NULL; @@ -507,15 +504,15 @@ static int pakfire_buildservice_create_upload(struct pakfire_buildservice* servi // Stat the file r = fstat(fd, &stat); if (r) { - ERROR(service->ctx, "Could not stat %s: %s\n", path, strerror(errno)); + ERROR(self->ctx, "Could not stat %s: %s\n", path, strerror(errno)); r = -errno; goto ERROR; } // Compute the digest - r = pakfire_hash_file(service->ctx, f, PAKFIRE_HASH_BLAKE2B512, &hashes); + r = pakfire_hash_file(self->ctx, f, PAKFIRE_HASH_BLAKE2B512, &hashes); if (r < 0) { - ERROR(service->ctx, "Could not compute the checksum of %s: %s\n", + ERROR(self->ctx, "Could not compute the checksum of %s: %s\n", path, strerror(-r)); goto ERROR; } @@ -526,12 +523,12 @@ static int pakfire_buildservice_create_upload(struct pakfire_buildservice* servi goto ERROR; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/uploads"); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/uploads"); if (r < 0) goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r < 0) goto ERROR; @@ -562,7 +559,7 @@ static int pakfire_buildservice_create_upload(struct pakfire_buildservice* servi // Fetch the ID if (uuid) { - r = pakfire_buildservice_api_response_string(service, response, "uuid", uuid); + r = pakfire_client_api_response_string(self, response, "uuid", uuid); if (r < 0) goto ERROR; } @@ -583,13 +580,13 @@ ERROR: return r; } -static int pakfire_buildservice_upload_payload(struct pakfire_buildservice* service, +static int pakfire_client_upload_payload(struct pakfire_client* self, const char* filename, const char* uuid, FILE* f) { struct pakfire_xfer* xfer = NULL; int r; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/uploads/%s", uuid); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/uploads/%s", uuid); if (r < 0) goto ERROR; @@ -599,7 +596,7 @@ static int pakfire_buildservice_upload_payload(struct pakfire_buildservice* serv goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r) goto ERROR; @@ -620,7 +617,7 @@ ERROR: return r; } -int pakfire_buildservice_upload(struct pakfire_buildservice* service, +int pakfire_client_upload(struct pakfire_client* self, const char* path, const char* filename, char** uuid) { char basename[NAME_MAX]; FILE* f = NULL; @@ -638,23 +635,23 @@ int pakfire_buildservice_upload(struct pakfire_buildservice* service, // Open the source file f = fopen(path, "r"); if (!f) { - ERROR(service->ctx, "Could not open file for upload %s: %m\n", path); + ERROR(self->ctx, "Could not open file for upload %s: %m\n", path); return -errno; } // Create a new upload - r = pakfire_buildservice_create_upload(service, path, filename, f, uuid); + r = pakfire_client_create_upload(self, path, filename, f, uuid); if (r < 0) { - ERROR(service->ctx, "Failed to create upload: %s\n", strerror(-r)); + ERROR(self->ctx, "Failed to create upload: %s\n", strerror(-r)); goto ERROR; } - DEBUG(service->ctx, "Created a new upload (%s)\n", *uuid); + DEBUG(self->ctx, "Created a new upload (%s)\n", *uuid); // Send the payload - r = pakfire_buildservice_upload_payload(service, filename, *uuid, f); + r = pakfire_client_upload_payload(self, filename, *uuid, f); if (r < 0) { - ERROR(service->ctx, "Failed to upload the payload for %s: %s\n", *uuid, strerror(-r)); + ERROR(self->ctx, "Failed to upload the payload for %s: %s\n", *uuid, strerror(-r)); goto ERROR; } @@ -671,20 +668,19 @@ ERROR: return r; } -int pakfire_buildservice_list_uploads( - struct pakfire_buildservice* service, struct json_object** p) { +int pakfire_client_list_uploads(struct pakfire_client* self, struct json_object** p) { struct pakfire_xfer* xfer = NULL; struct json_object* response = NULL; struct json_object* uploads = NULL; int r; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/uploads"); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/uploads"); if (r) goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r) goto ERROR; @@ -696,7 +692,7 @@ int pakfire_buildservice_list_uploads( // Fetch the uploads uploads = json_object_object_get(response, "uploads"); if (!uploads) { - ERROR(service->ctx, "Malformed response\n"); + ERROR(self->ctx, "Malformed response\n"); r = -EBADMSG; goto ERROR; } @@ -713,14 +709,13 @@ ERROR: return r; } -int pakfire_buildservice_delete_upload( - struct pakfire_buildservice* service, const char* uuid) { +int pakfire_client_delete_upload(struct pakfire_client* self, const char* uuid) { struct pakfire_xfer* xfer = NULL; struct json_object* response = NULL; int r; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/uploads/%s", uuid); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/uploads/%s", uuid); if (r) goto ERROR; @@ -730,7 +725,7 @@ int pakfire_buildservice_delete_upload( goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r) goto ERROR; @@ -750,7 +745,7 @@ ERROR: // Repositories -int pakfire_buildservice_list_repos(struct pakfire_buildservice* service, +int pakfire_client_list_repos(struct pakfire_client* self, const char* distro, struct json_object** p) { struct pakfire_xfer* xfer = NULL; struct json_object* response = NULL; @@ -762,12 +757,12 @@ int pakfire_buildservice_list_repos(struct pakfire_buildservice* service, return -EINVAL; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/repos/%s", distro); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/repos/%s", distro); if (r) goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r) goto ERROR; @@ -778,7 +773,7 @@ int pakfire_buildservice_list_repos(struct pakfire_buildservice* service, // Fetch the repos if (!json_object_object_get_ex(response, "repos", &repos)) { - ERROR(service->ctx, "Malformed response\n"); + ERROR(self->ctx, "Malformed response\n"); r = -EBADMSG; goto ERROR; } @@ -795,7 +790,7 @@ ERROR: return r; } -int pakfire_buildservice_get_repo(struct pakfire_buildservice* service, +int pakfire_client_get_repo(struct pakfire_client* self, const char* distro, const char* name, struct json_object** p) { struct pakfire_xfer* xfer = NULL; struct json_object* response = NULL; @@ -806,12 +801,12 @@ int pakfire_buildservice_get_repo(struct pakfire_buildservice* service, return -EINVAL; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/repos/%s/%s", distro, name); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/repos/%s/%s", distro, name); if (r) goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r) goto ERROR; @@ -832,7 +827,7 @@ ERROR: return r; } -int pakfire_buildservice_create_repo(struct pakfire_buildservice* service, +int pakfire_client_create_repo(struct pakfire_client* self, const char* distro, const char* name, const char* description, struct json_object** p) { struct pakfire_xfer* xfer = NULL; struct json_object* request = NULL; @@ -844,12 +839,12 @@ int pakfire_buildservice_create_repo(struct pakfire_buildservice* service, return -EINVAL; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/repos/%s", distro); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/repos/%s", distro); if (r) goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r) goto ERROR; @@ -890,13 +885,13 @@ ERROR: return r; } -int pakfire_buildservice_delete_repo(struct pakfire_buildservice* service, +int pakfire_client_delete_repo(struct pakfire_client* self, const char* distro, const char* name) { struct pakfire_xfer* xfer = NULL; int r; // Create a new xfer - r = pakfire_buildservice_xfer_create(&xfer, service, "/api/v1/repos/%s/%s", distro, name); + r = pakfire_client_xfer_create(&xfer, self, "/api/v1/repos/%s/%s", distro, name); if (r) goto ERROR; @@ -906,7 +901,7 @@ int pakfire_buildservice_delete_repo(struct pakfire_buildservice* service, goto ERROR; // Enable authentication - r = pakfire_buildservice_xfer_auth(service, xfer); + r = pakfire_client_xfer_auth(self, xfer); if (r) goto ERROR; diff --git a/src/pakfire/buildservice.h b/src/pakfire/client.h similarity index 60% rename from src/pakfire/buildservice.h rename to src/pakfire/client.h index 7761900b..b02f0d7f 100644 --- a/src/pakfire/buildservice.h +++ b/src/pakfire/client.h @@ -18,55 +18,53 @@ # # #############################################################################*/ -#ifndef PAKFIRE_BUILDSERVICE_H -#define PAKFIRE_BUILDSERVICE_H +#ifndef PAKFIRE_CLIENT_H +#define PAKFIRE_CLIENT_H -struct pakfire_buildservice; +struct pakfire_client; #include #include -int pakfire_buildservice_create(struct pakfire_buildservice** service, +int pakfire_client_create(struct pakfire_client** client, struct pakfire_ctx* ctx, const char* url); -struct pakfire_buildservice* pakfire_buildservice_ref(struct pakfire_buildservice* service); -struct pakfire_buildservice* pakfire_buildservice_unref(struct pakfire_buildservice* service); +struct pakfire_client* pakfire_client_ref(struct pakfire_client* client); +struct pakfire_client* pakfire_client_unref(struct pakfire_client* client); -const char* pakfire_buildservice_get_url(struct pakfire_buildservice* service); +const char* pakfire_client_get_url(struct pakfire_client* client); // Authentication -int pakfire_buildservice_auth_user(struct pakfire_buildservice* service, +int pakfire_client_auth_user(struct pakfire_client* client, const char* username, const char* password); // Builds -typedef enum pakfire_buildservice_build_flags { - PAKFIRE_BUILDSERVICE_DISABLE_TESTS = (1 << 0), -} pakfire_buildservice_build_flags_t; +typedef enum pakfire_client_build_flags { + PAKFIRE_CLIENT_DISABLE_TESTS = (1 << 0), +} pakfire_client_build_flags_t; -int pakfire_buildservice_build(struct pakfire_buildservice* service, const char* upload, +int pakfire_client_build(struct pakfire_client* client, const char* upload, const char* repo, const char** arches, int flags); // Uploads -int pakfire_buildservice_upload(struct pakfire_buildservice* service, +int pakfire_client_upload(struct pakfire_client* client, const char* path, const char* filename, char** uuid); -int pakfire_buildservice_list_uploads( - struct pakfire_buildservice* service, struct json_object** uploads); -int pakfire_buildservice_delete_upload( - struct pakfire_buildservice* service, const char* uuid); +int pakfire_client_list_uploads(struct pakfire_client* client, struct json_object** uploads); +int pakfire_client_delete_upload(struct pakfire_client* client, const char* uuid); // Repositories -int pakfire_buildservice_list_repos(struct pakfire_buildservice* service, +int pakfire_client_list_repos(struct pakfire_client* client, const char* distro, struct json_object** repos); -int pakfire_buildservice_get_repo(struct pakfire_buildservice* service, +int pakfire_client_get_repo(struct pakfire_client* client, const char* distro, const char* name, struct json_object** repo); -int pakfire_buildservice_create_repo(struct pakfire_buildservice* service, +int pakfire_client_create_repo(struct pakfire_client* client, const char* distro, const char* name, const char* description, struct json_object** repo); -int pakfire_buildservice_delete_repo(struct pakfire_buildservice* service, +int pakfire_client_delete_repo(struct pakfire_client* client, const char* distro, const char* name); -#endif /* PAKFIRE_BUILDSERVICE_H */ +#endif /* PAKFIRE_CLIENT_H */ diff --git a/src/pakfire/daemon.c b/src/pakfire/daemon.c index 567ab3ab..705f8cbd 100644 --- a/src/pakfire/daemon.c +++ b/src/pakfire/daemon.c @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -57,10 +58,10 @@ struct pakfire_daemon { int nrefs; // HTTP Client - struct pakfire_httpclient* client; + struct pakfire_httpclient* httpclient; - // Build Service - struct pakfire_buildservice* service; + // Pakfire Client + struct pakfire_client* client; // URL char url[PATH_MAX]; @@ -668,7 +669,7 @@ static int pakfire_daemon_close(struct pakfire_xfer* xfer, int code, void* data) int r; // Remove the connection from the client - r = pakfire_httpclient_dequeue(daemon->client, xfer); + r = pakfire_httpclient_dequeue(daemon->httpclient, xfer); if (r < 0) { ERROR(daemon->ctx, "Failed to remove the control connection: %s\n", strerror(-r)); return r; @@ -888,7 +889,7 @@ static int pakfire_daemon_connect(sd_event_source* s, uint64_t usec, void* data) goto ERROR; // Enqueue the transfer - r = pakfire_httpclient_enqueue(daemon->client, xfer); + r = pakfire_httpclient_enqueue(daemon->httpclient, xfer); if (r) goto ERROR; @@ -1308,10 +1309,10 @@ static void pakfire_daemon_free(struct pakfire_daemon* daemon) { sd_event_source_unref(daemon->connect_timer); if (daemon->stats_timer) sd_event_source_unref(daemon->stats_timer); - if (daemon->service) - pakfire_buildservice_unref(daemon->service); + if (daemon->httpclient) + pakfire_httpclient_unref(daemon->httpclient); if (daemon->client) - pakfire_httpclient_unref(daemon->client); + pakfire_client_unref(daemon->client); if (daemon->cgroup) pakfire_cgroup_unref(daemon->cgroup); if (daemon->control) @@ -1364,7 +1365,7 @@ int pakfire_daemon_create(struct pakfire_daemon** daemon, struct pakfire_ctx* ct goto ERROR; // Connect to the build service - r = pakfire_buildservice_create(&d->service, d->ctx, d->url); + r = pakfire_client_create(&d->client, d->ctx, d->url); if (r < 0) goto ERROR; @@ -1374,7 +1375,7 @@ int pakfire_daemon_create(struct pakfire_daemon** daemon, struct pakfire_ctx* ct goto ERROR; // Create the HTTP client - r = pakfire_httpclient_create(&d->client, d->ctx, d->loop); + r = pakfire_httpclient_create(&d->httpclient, d->ctx, d->loop); if (r < 0) goto ERROR; @@ -1411,12 +1412,12 @@ sd_event* pakfire_daemon_loop(struct pakfire_daemon* daemon) { return sd_event_ref(daemon->loop); } -struct pakfire_buildservice* pakfire_daemon_buildservice(struct pakfire_daemon* daemon) { - return pakfire_buildservice_ref(daemon->service); +struct pakfire_client* pakfire_daemon_client(struct pakfire_daemon* daemon) { + return pakfire_client_ref(daemon->client); } struct pakfire_httpclient* pakfire_daemon_httpclient(struct pakfire_daemon* daemon) { - return pakfire_httpclient_ref(daemon->client); + return pakfire_httpclient_ref(daemon->httpclient); } const char* pakfire_daemon_url(struct pakfire_daemon* daemon) { diff --git a/src/pakfire/daemon.h b/src/pakfire/daemon.h index 03ac723c..5d80cada 100644 --- a/src/pakfire/daemon.h +++ b/src/pakfire/daemon.h @@ -23,7 +23,7 @@ struct pakfire_daemon; -#include +#include #include #include @@ -35,7 +35,7 @@ struct pakfire_daemon* pakfire_daemon_ref(struct pakfire_daemon* daemon); struct pakfire_daemon* pakfire_daemon_unref(struct pakfire_daemon* daemon); sd_event* pakfire_daemon_loop(struct pakfire_daemon* daemon); -struct pakfire_buildservice* pakfire_daemon_buildservice(struct pakfire_daemon* daemon); +struct pakfire_client* pakfire_daemon_client(struct pakfire_daemon* daemon); struct pakfire_httpclient* pakfire_daemon_httpclient(struct pakfire_daemon* daemon); const char* pakfire_daemon_url(struct pakfire_daemon* daemon); diff --git a/src/pakfire/job.c b/src/pakfire/job.c index e5f98ff4..d1d9d87b 100644 --- a/src/pakfire/job.c +++ b/src/pakfire/job.c @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -54,8 +55,8 @@ struct pakfire_job { // Daemon struct pakfire_daemon* daemon; - // Build Service - struct pakfire_buildservice* service; + // Client + struct pakfire_client* client; // Event Loop sd_event* loop; @@ -245,8 +246,8 @@ static void pakfire_job_free(struct pakfire_job* job) { if (job->log.stream) sd_event_source_unref(job->log.stream); - if (job->service) - pakfire_buildservice_unref(job->service); + if (job->client) + pakfire_client_unref(job->client); if (job->uploads) pakfire_strings_free(job->uploads); if (job->config) @@ -321,7 +322,7 @@ static int pakfire_job_finished(struct pakfire_job* job, int status) { } // Upload the log file - r = pakfire_buildservice_upload(job->service, path, filename, &logfile); + r = pakfire_client_upload(job->client, path, filename, &logfile); if (r < 0) { ERROR(job->ctx, "Could not upload the log file: %s\n", strerror(-r)); goto ERROR; @@ -458,7 +459,7 @@ static int pakfire_job_result(struct pakfire_ctx* ctx, struct pakfire* pakfire, } // Upload the file - r = pakfire_buildservice_upload(job->service, path, filename, &uuid); + r = pakfire_client_upload(job->client, path, filename, &uuid); if (r < 0) { ERROR(job->ctx, "Could not upload %s: %s\n", nevra, strerror(-r)); goto ERROR; @@ -899,8 +900,8 @@ int pakfire_job_create(struct pakfire_job** job, struct pakfire_ctx* ctx, goto ERROR; } - // Fetch a reference to the build service - j->service = pakfire_daemon_buildservice(daemon); + // Fetch a reference to the client + j->client = pakfire_daemon_client(daemon); // Initialize the PID file descriptor j->pidfd = -EBADF;