/* pow! - the pow!erful package manager Copyright (C) 2026 forever2k38 This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "args.h" #include "build.h" #include "config.h" #include "repo.h" #include "log.h" #include "curl/curl.h" #include "stdio.h" #include "stdlib.h" int main(int argc, char *argv[]) { curl_global_init(CURL_GLOBAL_ALL); pow_args args = {0}; pow_args_parse(argc, argv, &args); if (args.flags & POW_FLAG_HELP) { pow_args_print_help(); curl_global_cleanup(); return 0; } pow_config config = {0}; pow_open_config(&config, args.cfg_path); if (args.flags & POW_FLAG_QUERY) { pow_repo_check_package(&config, args.package); } if (args.flags & POW_FLAG_SYNC) { pow_package *pkg = malloc(sizeof(pow_package)); if (pow_repo_get_package(&config, pkg, args.package)) { pow_log_error("failed to get package"); return 1; } pow_package_build(pkg); pow_package_close(pkg); } if (args.flags == 0) { pow_log_error("no command specified"); } pow_close_config(&config); fflush(stdout); curl_global_cleanup(); return 0; }