diff options
Diffstat (limited to 'mbpk.c')
| -rw-r--r-- | mbpk.c | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -0,0 +1,33 @@ +#include <string.h> +#include <stdio.h> +#include <unistd.h> +#include <pwd.h> +#include <xbps.h> +#include <stdlib.h> +#include <limits.h> + +int main(void) { + /* init xbps stuff */ + struct xbps_handle x; + + memset(&x, 0, sizeof(x)); + const char* home = getenv("HOME"); + if (home == NULL) { + struct passwd *pw = getpwuid(getuid()); + if (pw != NULL) { + home = pw->pw_dir; + } + } + snprintf(x.rootdir, sizeof(x.rootdir), "%s/.local/mbpk/prefix", home); + snprintf(x.cachedir, sizeof(x.cachedir), "%s/.local/mbpk/cache", home); + snprintf(x.confdir, sizeof(x.confdir), "%s/.local/mbpk/conf.d", home); + x.flags = XBPS_FLAG_VERBOSE; + + int r = xbps_init(&x); + if (r != 0) { + fprintf(stderr, "xbps_init failed: %s\n", strerror(r)); + return r; + } + + return 0; +} |
