#include "../../include/all.h" #include "./common.h" #include #include #include int main(int argc, char *argv[]) { int ret = EXIT_FAILURE; lm_pkg_t pkg; lm_ctx_t ctx; lm_package_init(&pkg); if (argc != 2) { printf("usage: %s \n", argv[0]); return ret; } if (!mkdir_ifnot(ROOT_DIR)) { printf("failed to create root dir: %s\n", ROOT_DIR); return ret; } lm_ctx_init(&ctx); if (!lm_ctx_set_data(&ctx, DATA_DIR)) { printf("failed to set data dir: %s (%d)\n", lm_strerror(), lm_error()); goto end; } if (!lm_ctx_set_temp(&ctx, TEMP_DIR)) { printf("failed to set temp dir: %s (%d)\n", lm_strerror(), lm_error()); goto end; } if (!lm_ctx_set_root(&ctx, ROOT_DIR)) { printf("failed to set root dir: %s (%d)\n", lm_strerror(), lm_error()); goto end; } if (!lm_ctx_database_find(&ctx, &pkg, argv[1], NULL)) { printf("failed to find package: %s (%d)\n", lm_strerror(), lm_error()); goto end; } if (!lm_ctx_removeable(&ctx, &pkg)) { printf("cannot remove package: %s (%d)", lm_strerror(), lm_error()); goto end; } printf("removing package: %s (%s)...\n", pkg.name, pkg.version); if (!lm_ctx_remove(&ctx, &pkg, NULL, NULL)) { printf("failed to remove package: %s (%d)\n", lm_strerror(), lm_error()); goto end; } ret = EXIT_SUCCESS; end: lm_package_free(&pkg); lm_ctx_free(&ctx); return ret; }