int clib_package_install_dependencies(clib_package_t *pkg, const char *dir, int verbose) { if (!pkg || !dir) return -1; if (NULL == pkg->dependencies) return 0; return install_packages(pkg->dependencies, dir, verbose); }
int clib_package_install_development(clib_package_t *pkg, const char *dir, int verbose) { if (!pkg || !dir) return -1; if (NULL == pkg->development) return 0; return install_packages(pkg->development, dir, verbose); }
static void confirm_search_dialog_response_cb (GtkDialog *dialog, int response_id, gpointer user_data) { InstallerData *idata = user_data; gtk_widget_destroy (GTK_WIDGET (dialog)); if (response_id == GTK_RESPONSE_YES) { install_packages (idata); } else { fr_window_stop_batch (idata->window); installer_data_free (idata); } }
int main(int argc, char *argv[]) { #ifdef _WIN32 opts.dir = ".\\deps"; #else opts.dir = "./deps"; #endif opts.verbose = 1; opts.dev = 0; command_t program; command_init(&program , "clib-install" , CLIB_VERSION); program.usage = "[options] [name ...]"; command_option(&program , "-o" , "--out <dir>" , "change the output directory [deps]" , setopt_dir); command_option(&program , "-q" , "--quiet" , "disable verbose output" , setopt_quiet); command_option(&program , "-d" , "--dev" , "install development dependencies" , setopt_dev); command_parse(&program, argc, argv); int code = 0 == program.argc ? install_local_packages() : install_packages(program.argc, program.argv); command_free(&program); return code; }
static int command_install(int argc, const char *argv[]) { struct razor_root *root; struct razor_set *system, *upstream, *next; struct razor_transaction *trans; int i = 0, dependencies = 1; if (i < argc && strcmp(argv[i], "--no-dependencies") == 0) { dependencies = 0; i++; } root = razor_root_open(install_root); if (root == NULL) return 1; system = razor_root_get_system_set(root); upstream = razor_set_open(rawhide_repo_filename); if (upstream == NULL || razor_set_open_details(upstream, "rawhide-details.rzdb") || razor_set_open_files(upstream, "rawhide-files.rzdb")) { fprintf(stderr, "couldn't open rawhide repo\n"); razor_root_close(root); return 1; } trans = razor_transaction_create(system, upstream); for (; i < argc; i++) { if (mark_packages_for_update(trans, upstream, argv[i]) == 0) { fprintf(stderr, "no package matched %s\n", argv[i]); razor_root_close(root); return 1; } } if (dependencies) { razor_transaction_resolve(trans); if (razor_transaction_describe(trans) > 0) { razor_root_close(root); return 1; } } next = razor_transaction_finish(trans); razor_root_update(root, next); if (mkdir("rpms", 0777) && errno != EEXIST) { fprintf(stderr, "failed to create rpms directory.\n"); razor_root_close(root); return 1; } if (download_packages(system, next) < 0) { razor_root_close(root); return 1; } install_packages(system, next); razor_set_destroy(next); razor_set_destroy(upstream); return razor_root_commit(root); }