summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
author0x221E <0x221E@0xinfinity.dev>2026-05-13 16:50:15 +0200
committer0x221E <0x221E@0xinfinity.dev>2026-05-13 16:52:52 +0200
commita532b3eb7e8610fb51cc703c9634532704e9b381 (patch)
tree7ad12176952943f39dfb3e2d38a6243e2f3ea807 /src/main.c
parent922d616c65573bdbbb52f1e2fa663d283d0fbd35 (diff)
downloadpkgman-dev.tar.gz
refactor: add pkgman_config struct and move download to net.cHEADdev
Added option to change mirror, tmp, staging directoryfrom the user interface of the pkgman library. Added TRY and TRY_IFNOT macros for better code readability.
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/main.c b/src/main.c
index c866c89..914279c 100644
--- a/src/main.c
+++ b/src/main.c
@@ -51,35 +51,40 @@ int cmd_install(int argc, char **argv)
if (argc < 1) {
install_usage();
return USAGE;
- }
+ }
+
+ struct pkgman_config pc;
+ pc.dir_tmp = "/tmp/pkgman";
+ pc.dir_staging = "/var/pkgman";
+ pc.upstream = "https://packages.0xinfinity.dev";
char *pkg = argv[0];
- int ret = pkgman_upstream_check(pkg);
+ int ret = pkgman_upstream_check(&pc, pkg);
+ TRY(ret == SUCCESS, ret);
- if (ret != SUCCESS)
- return -PKGNOTFND;
+ ret = pkgman_upstream_integrity_download(&pc, pkg);
+ TRY(ret == SUCCESS, ret);
- ret = pkgman_upstream_integrity_download(pkg);
-
- if (ret != SUCCESS)
- return ret;
-
- ret = pkgman_install_pkg(pkg);
-
- if (ret != SUCCESS)
- return ret;
+ ret = pkgman_install_pkg(&pc, pkg);
+ TRY(ret == SUCCESS, ret);
return SUCCESS;
}
int cmd_build(int argc, char** argv)
{
- // ZSTD_compress("test", 60, "aaa.pkg", 30, 3);
- printf("Produced a tar file!");
+ // ZSTD_compress("test", 60, "aaa.pkg", 30, 3);
+ printf("NOT IMPLEMENTED: Build command issued!\n");
return SUCCESS;
}
+int cmd_remove(int argc, char** argv)
+{
+ printf("NOT IMPLEMENTED: Remove command issued!\n");
+ return SUCCESS;
+}
+
typedef int (*cmd_fn)(int, char**);
struct cmd_entry
@@ -92,6 +97,7 @@ struct cmd_entry
struct cmd_entry table[] = {
{ SV("build"), cmd_build },
{ SV("install"), cmd_install },
+ { SV("remove"), cmd_remove },
{ SV(NULL), NULL },
};