aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-06-22 13:24:58 +1200
committerArslaan Pathan <[email protected]>2026-06-22 13:24:58 +1200
commitcb430971bb21d7902817838a46d05deb8cc2f39e (patch)
tree1d47fdd3015ec52a3fbf8677bd850ef56b850020
parente9dd7eec231edfd631cc19f164bba6506f96384b (diff)
downloadmbpk-cb430971bb21d7902817838a46d05deb8cc2f39e.tar.xz
mbpk-cb430971bb21d7902817838a46d05deb8cc2f39e.zip
Finish mbpk_init and fix libmbpk.h
-rw-r--r--.cache/clangd/index/libmbpk.c.5519EF74B514E881.idxbin0 -> 1124 bytes
-rw-r--r--.cache/clangd/index/libmbpk.h.6D111388FF48512D.idxbin0 -> 2096 bytes
-rw-r--r--.cache/clangd/index/mbpk-install.c.22CCB3F29C69630E.idxbin0 -> 492 bytes
-rw-r--r--.gitignore1
-rw-r--r--include/libmbpk.h10
-rw-r--r--meson.build5
-rw-r--r--src/libmbpk.c18
-rw-r--r--src/mbpk-install.c8
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
new file mode 100644
index 0000000..b9c5360
--- /dev/null
+++ b/.cache/clangd/index/libmbpk.c.5519EF74B514E881.idx
Binary files differ
diff --git a/.cache/clangd/index/libmbpk.h.6D111388FF48512D.idx b/.cache/clangd/index/libmbpk.h.6D111388FF48512D.idx
new file mode 100644
index 0000000..9118847
--- /dev/null
+++ b/.cache/clangd/index/libmbpk.h.6D111388FF48512D.idx
Binary files differ
diff --git a/.cache/clangd/index/mbpk-install.c.22CCB3F29C69630E.idx b/.cache/clangd/index/mbpk-install.c.22CCB3F29C69630E.idx
new file mode 100644
index 0000000..47a8538
--- /dev/null
+++ b/.cache/clangd/index/mbpk-install.c.22CCB3F29C69630E.idx
Binary files differ
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);
+}