diff options
| -rw-r--r-- | .cache/clangd/index/libmbpk.c.5519EF74B514E881.idx | bin | 0 -> 1124 bytes | |||
| -rw-r--r-- | .cache/clangd/index/libmbpk.h.6D111388FF48512D.idx | bin | 0 -> 2096 bytes | |||
| -rw-r--r-- | .cache/clangd/index/mbpk-install.c.22CCB3F29C69630E.idx | bin | 0 -> 492 bytes | |||
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | include/libmbpk.h | 10 | ||||
| -rw-r--r-- | meson.build | 5 | ||||
| -rw-r--r-- | src/libmbpk.c | 18 | ||||
| -rw-r--r-- | src/mbpk-install.c | 8 |
8 files changed, 34 insertions, 8 deletions
diff --git a/.cache/clangd/index/libmbpk.c.5519EF74B514E881.idx b/.cache/clangd/index/libmbpk.c.5519EF74B514E881.idx Binary files differnew file mode 100644 index 0000000..b9c5360 --- /dev/null +++ b/.cache/clangd/index/libmbpk.c.5519EF74B514E881.idx diff --git a/.cache/clangd/index/libmbpk.h.6D111388FF48512D.idx b/.cache/clangd/index/libmbpk.h.6D111388FF48512D.idx Binary files differnew file mode 100644 index 0000000..9118847 --- /dev/null +++ b/.cache/clangd/index/libmbpk.h.6D111388FF48512D.idx diff --git a/.cache/clangd/index/mbpk-install.c.22CCB3F29C69630E.idx b/.cache/clangd/index/mbpk-install.c.22CCB3F29C69630E.idx Binary files differnew file mode 100644 index 0000000..47a8538 --- /dev/null +++ b/.cache/clangd/index/mbpk-install.c.22CCB3F29C69630E.idx diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/include/libmbpk.h b/include/libmbpk.h index e97c789..319e464 100644 --- a/include/libmbpk.h +++ b/include/libmbpk.h @@ -1,7 +1,13 @@ #ifndef LIBMBPK_H #define LIBMBPK_H -typedef struct mbpk_pkg { +#define MBPK_OK 0 +#define MBPK_DB_FAIL 1 +#define MBPK_REPO_FAIL 2 + +typedef struct mbpk_pkg mbpk_pkg; + +struct mbpk_pkg { const char *pkgname; const char *version; const char *desc; @@ -9,7 +15,7 @@ typedef struct mbpk_pkg { mbpk_pkg **deps; const char *maintainer; const char *license; -} mbpk_pkg; +}; int mbpk_init(void); int mbpk_search(const char *package_name, mbpk_pkg ***pkgs); diff --git a/meson.build b/meson.build index 4783e80..f9b6369 100644 --- a/meson.build +++ b/meson.build @@ -9,6 +9,7 @@ deps += dependency('libzstd') deps += dependency('inih') libdir = get_option('libdir') +bindir = get_option('bindir') libmbpk_src = [ 'src/libmbpk.c' @@ -18,6 +19,10 @@ libmbpk = shared_library('libmbpk', libmbpk_src, include_directories: inc, depen install_headers('include/libmbpk.h') +deps += declare_dependency(link_with: libmbpk, include_directories: inc, dependencies: deps) + +executable('mbpk-install', 'src/mbpk-install.c', dependencies: deps, install: true, install_dir: bindir) + pkg = import('pkgconfig') pkg.generate(libmbpk, subdirs: 'libmbpk', diff --git a/src/libmbpk.c b/src/libmbpk.c index ee7fe75..dd93565 100644 --- a/src/libmbpk.c +++ b/src/libmbpk.c @@ -1,26 +1,32 @@ #include <stdio.h> #include <stdlib.h> +#include "libmbpk.h" #include <string.h> #include <errno.h> #include <sys/stat.h> +#define MBPK_DB_DIR "/var/lib/mbpk" +#define MBPK_REPO_DIR "/var/lib/mbpk-repo" +#define MBPK_REPO_CONFIG "/etc/mbpk-repos.ini" + typedef struct { const char* name; const char* desc; const char* url; } mbpk_repository; -#define MBPK_DB_DIR "/var/lib/mbpk" -#define MBPK_REPO_DIR "/var/lib/mbpk-repo" -#define MBPK_REPO_CONFIG "/etc/mbpk-repos.ini" +mbpk_repository **repos; int mbpk_init(void) { struct stat st; if (stat(MBPK_DB_DIR, &st) == -1) { if (mkdir(MBPK_DB_DIR, 0755) == -1) { - fprintf(stderr, "mbpk: failed to create %s: %s\n", MBPK_DB_DIR, strerror(errno)); + fprintf(stderr, "mbpk [err]: failed to create %s: %s\n", MBPK_DB_DIR, strerror(errno)); + return MBPK_DB_FAIL; } - return 1; } - return 0; + if (stat(MBPK_REPO_DIR, &st) == -1) { + fprintf(stderr, "mbpk [warn]: no repositories found! you might want to sync all repositories using mbpk-update.\n"); + } + return MBPK_OK; } diff --git a/src/mbpk-install.c b/src/mbpk-install.c new file mode 100644 index 0000000..da7a39e --- /dev/null +++ b/src/mbpk-install.c @@ -0,0 +1,8 @@ +#include <stdio.h> +#include "libmbpk.h" + +int main(void) { + printf("[mbpk_install] calling mbpk_init()\n"); + int result = mbpk_init(); + printf("result: %d", result); +} |
