X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopkg-lede.git;a=blobdiff_plain;f=libopkg%2Fopkg_cmd.c;h=26ec73d5d5279ea94973de20b971e569bb0eabc6;hp=b7abd155f1751c9fb2014980ab71a264bc1eeda7;hb=6e6742af3d1dbc27a84afb7c78e296afa976a39d;hpb=83137c7907329b8529e4a6b9f0bc6317927ae36c diff --git a/libopkg/opkg_cmd.c b/libopkg/opkg_cmd.c index b7abd15..26ec73d 100644 --- a/libopkg/opkg_cmd.c +++ b/libopkg/opkg_cmd.c @@ -48,12 +48,10 @@ static int opkg_upgrade_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_list_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_info_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_status_cmd(opkg_conf_t *conf, int argc, char **argv); -static int opkg_install_pending_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_install_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_list_installed_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_list_upgradable_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_remove_cmd(opkg_conf_t *conf, int argc, char **argv); -static int opkg_purge_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_flag_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_files_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_search_cmd(opkg_conf_t *conf, int argc, char **argv); @@ -84,11 +82,8 @@ static opkg_cmd_t cmds[] = { {"info", 0, (opkg_cmd_fun_t)opkg_info_cmd}, {"flag", 1, (opkg_cmd_fun_t)opkg_flag_cmd}, {"status", 0, (opkg_cmd_fun_t)opkg_status_cmd}, - {"install_pending", 0, (opkg_cmd_fun_t)opkg_install_pending_cmd}, - {"install-pending", 0, (opkg_cmd_fun_t)opkg_install_pending_cmd}, {"install", 1, (opkg_cmd_fun_t)opkg_install_cmd}, {"remove", 1, (opkg_cmd_fun_t)opkg_remove_cmd}, - {"purge", 1, (opkg_cmd_fun_t)opkg_purge_cmd}, {"configure", 0, (opkg_cmd_fun_t)opkg_configure_cmd}, {"files", 1, (opkg_cmd_fun_t)opkg_files_cmd}, {"search", 1, (opkg_cmd_fun_t)opkg_search_cmd}, @@ -805,44 +800,6 @@ static int opkg_configure_cmd(opkg_conf_t *conf, int argc, char **argv) return err; } -static int opkg_install_pending_cmd(opkg_conf_t *conf, int argc, char **argv) -{ - int i, err; - char *globpattern; - glob_t globbuf; - - sprintf_alloc(&globpattern, "%s/*" OPKG_PKG_EXTENSION, conf->pending_dir); - err = glob(globpattern, 0, NULL, &globbuf); - free(globpattern); - if (err) { - return 0; - } - - opkg_message(conf, OPKG_NOTICE, - "The following packages in %s will now be installed.\n", - conf->pending_dir); - for (i = 0; i < globbuf.gl_pathc; i++) { - opkg_message(conf, OPKG_NOTICE, - "%s%s", i == 0 ? "" : " ", globbuf.gl_pathv[i]); - } - opkg_message(conf, OPKG_NOTICE, "\n"); - for (i = 0; i < globbuf.gl_pathc; i++) { - err = opkg_install_from_file(conf, globbuf.gl_pathv[i]); - if (err == 0) { - err = unlink(globbuf.gl_pathv[i]); - if (err) { - opkg_message(conf, OPKG_ERROR, - "%s: ERROR: failed to unlink %s: %s\n", - __FUNCTION__, globbuf.gl_pathv[i], strerror(err)); - return err; - } - } - } - globfree(&globbuf); - - return err; -} - static int opkg_remove_cmd(opkg_conf_t *conf, int argc, char **argv) { int i, a, done; @@ -896,37 +853,6 @@ static int opkg_remove_cmd(opkg_conf_t *conf, int argc, char **argv) return 0; } -static int opkg_purge_cmd(opkg_conf_t *conf, int argc, char **argv) -{ - int i; - pkg_t *pkg; - - global_conf = conf; - signal(SIGINT, sigint_handler); - - pkg_info_preinstall_check(conf); - - for (i=0; i < argc; i++) { - if (conf->restrict_to_default_dest) { - pkg = pkg_hash_fetch_installed_by_name_dest(&conf->pkg_hash, - argv[i], - conf->default_dest); - } else { - pkg = pkg_hash_fetch_installed_by_name(&conf->pkg_hash, argv[i]); - } - - if (pkg == NULL) { - opkg_message(conf, OPKG_ERROR, - "Package %s is not installed.\n", argv[i]); - continue; - } - opkg_purge_pkg(conf, pkg); - } - - write_status_files_if_changed(conf); - return 0; -} - static int opkg_flag_cmd(opkg_conf_t *conf, int argc, char **argv) { int i; @@ -954,11 +880,15 @@ static int opkg_flag_cmd(opkg_conf_t *conf, int argc, char **argv) ( strcmp(flags,"user")==0)||( strcmp(flags,"ok")==0)) { pkg->state_flag = pkg_state_flag_from_str(flags); } -/* pb_ asked this feature 03292004 */ -/* Actually I will use only this two, but this is an open for various status */ + + /* + * Useful if a package is installed in an offline_root, and + * should be configured by opkg-cl configure at a later date. + */ if (( strcmp(flags,"installed")==0)||( strcmp(flags,"unpacked")==0)){ pkg->state_status = pkg_state_status_from_str(flags); } + opkg_state_changed++; opkg_message(conf, OPKG_NOTICE, "Setting flags for package %s to %s\n",