diff options
Diffstat (limited to 'libopkg')
-rw-r--r-- | libopkg/libopkg.c | 356 | ||||
-rw-r--r-- | libopkg/libopkg.h | 37 | ||||
-rw-r--r-- | libopkg/opkg_cmd.c | 41 | ||||
-rw-r--r-- | libopkg/opkg_cmd.h | 7 | ||||
-rw-r--r-- | libopkg/opkg_conf.c | 22 |
5 files changed, 6 insertions, 457 deletions
diff --git a/libopkg/libopkg.c b/libopkg/libopkg.c index 68da96d..d4910de 100644 --- a/libopkg/libopkg.c +++ b/libopkg/libopkg.c @@ -29,362 +29,6 @@ opkg_status_callback opkg_cb_status = NULL; opkg_list_callback opkg_cb_list = NULL; - -int -opkg_init (opkg_message_callback mcall, - opkg_response_callback rcall, - args_t * args) -{ - opkg_cb_message = mcall; - opkg_cb_response = rcall; - - args_init (args); - - return 0; -} - - -int -opkg_deinit (args_t * args) -{ - args_deinit (args); - opkg_cb_message = NULL; - opkg_cb_response = NULL; - - /* place other cleanup stuff here */ - - return 0; -} - - -int -opkg_packages_list(args_t *args, - const char *packages, - opkg_list_callback cblist, - void *userdata) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - opkg_cb_list = cblist; - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("list"); - if (packages) - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &packages, userdata); - else - err = opkg_cmd_exec (cmd, &opkg_conf, 0, NULL, userdata); - opkg_cb_list = NULL; - opkg_conf_deinit (&opkg_conf); - return (err); -} - - -int -opkg_packages_status(args_t *args, - const char *packages, - opkg_status_callback cbstatus, - void *userdata) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - opkg_cb_status = cbstatus; - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("status"); - if (packages) - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &packages, userdata); - else - err = opkg_cmd_exec (cmd, &opkg_conf, 0, NULL, userdata); - - opkg_cb_status = NULL; - opkg_conf_deinit (&opkg_conf); - return (err); -} - - -int -opkg_packages_info(args_t *args, - const char *packages, - opkg_status_callback cbstatus, - void *userdata) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - opkg_cb_status = cbstatus; - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("info"); - if (packages) - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &packages, userdata); - else - err = opkg_cmd_exec (cmd, &opkg_conf, 0, NULL, userdata); - - opkg_cb_status = NULL; - opkg_conf_deinit (&opkg_conf); - return (err); -} - - -int -opkg_packages_install (args_t * args, const char *name) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - /* this error should be handled in application */ - if (!name || !strlen (name)) - return (-1); - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("install"); - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &name, NULL); - - opkg_conf_deinit(&opkg_conf); - return (err); -} - - -int -opkg_packages_remove(args_t *args, const char *name, int purge) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - /* this error should be handled in application */ - if (!name || !strlen (name)) - return (-1); - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - if (purge) - cmd = opkg_cmd_find ("purge"); - else - cmd = opkg_cmd_find ("remove"); - - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &name, NULL); - - opkg_conf_deinit(&opkg_conf); - return (err); -} - - -int -opkg_lists_update(args_t *args) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("update"); - - err = opkg_cmd_exec (cmd, &opkg_conf, 0, NULL, NULL); - - opkg_conf_deinit(&opkg_conf); - return (err); -} - - -int -opkg_packages_upgrade(args_t *args) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("upgrade"); - - err = opkg_cmd_exec (cmd, &opkg_conf, 0, NULL, NULL); - - opkg_conf_deinit(&opkg_conf); - return (err); -} - - -int -opkg_packages_download (args_t * args, const char *name) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - /* this error should be handled in application */ - if (!name || !strlen (name)) - return (-1); - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - opkg_print_error_list (&opkg_conf); - return err; - } - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("download"); - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &name, NULL); - - opkg_conf_deinit(&opkg_conf); - return (err); -} - - -int -opkg_package_files(args_t *args, - const char *name, - opkg_list_callback cblist, - void *userdata) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - /* this error should be handled in application */ - if (!name || !strlen (name)) - return (-1); - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - opkg_cb_list = cblist; - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("files"); - - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &name, userdata); - - opkg_cb_list = NULL; - opkg_conf_deinit(&opkg_conf); - return (err); -} - - -int -opkg_file_search(args_t *args, - const char *file, - opkg_list_callback cblist, - void *userdata) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - /* this error should be handled in application */ - if (!file || !strlen (file)) - return (-1); - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - opkg_cb_list = cblist; - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find ("search"); - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &file, userdata); - - opkg_cb_list = NULL; - opkg_conf_deinit(&opkg_conf); - return(err); -} - - -int -opkg_file_what(args_t *args, const char *file, const char* command) -{ - opkg_cmd_t *cmd; - opkg_conf_t opkg_conf; - int err; - - /* this error should be handled in application */ - if (!file || !strlen (file)) - return (-1); - - err = opkg_conf_init (&opkg_conf, args); - if (err) - { - return err; - } - - /* we need to do this because of static declarations, - * maybe a good idea to change */ - cmd = opkg_cmd_find (command); - err = opkg_cmd_exec (cmd, &opkg_conf, 1, &file, NULL); - - opkg_conf_deinit(&opkg_conf); - return(err); -} - -#define opkg_package_whatdepends(args,file) opkg_file_what(args,file,"whatdepends") -#define opkg_package_whatrecommends(args, file) opkg_file_what(args,file,"whatrecommends") -#define opkg_package_whatprovides(args, file) opkg_file_what(args,file,"whatprovides") -#define opkg_package_whatconflicts(args, file) opkg_file_what(args,file,"whatconflicts") -#define opkg_package_whatreplaces(args, file) opkg_file_what(args,file,"whatreplaces") - - int default_opkg_message_callback(opkg_conf_t *conf, message_level_t level, char *msg) { diff --git a/libopkg/libopkg.h b/libopkg/libopkg.h index 1c83b98..c4f741d 100644 --- a/libopkg/libopkg.h +++ b/libopkg/libopkg.h @@ -36,43 +36,7 @@ typedef int (*opkg_status_callback)(char *name, int istatus, char *desc, typedef int (*opkg_list_callback)(char *name, char *desc, char *version, pkg_state_status_t status, void *userdata); typedef void (*opkg_progress_callback)(int complete, int total, void *userdata); - extern int opkg_op(int argc, char *argv[]); /* opkglib.c */ -extern int opkg_init (opkg_message_callback mcall, - opkg_response_callback rcall, - args_t * args); - -extern int opkg_deinit (args_t *args); -extern int opkg_packages_list(args_t *args, - const char *packages, - opkg_list_callback cblist, - void *userdata); -extern int opkg_packages_status(args_t *args, - const char *packages, - opkg_status_callback cbstatus, - void *userdata); -extern int opkg_packages_info(args_t *args, - const char *packages, - opkg_status_callback cbstatus, - void *userdata); -extern int opkg_packages_install(args_t *args, const char *name); -extern int opkg_packages_remove(args_t *args, const char *name, int purge); -extern int opkg_lists_update(args_t *args); -extern int opkg_packages_upgrade(args_t *args); -extern int opkg_packages_download(args_t *args, const char *name); -extern int opkg_package_files(args_t *args, - const char *name, - opkg_list_callback cblist, - void *userdata); -extern int opkg_file_search(args_t *args, - const char *file, - opkg_list_callback cblist, - void *userdata); -extern int opkg_package_whatdepends(args_t *args, const char *file); -extern int opkg_package_whatrecommends(args_t *args, const char *file); -extern int opkg_package_whatprovides(args_t *args, const char *file); -extern int opkg_package_whatconflicts(args_t *args, const char *file); -extern int opkg_package_whatreplaces(args_t *args, const char *file); extern opkg_message_callback opkg_cb_message; /* opkg_message.c */ extern opkg_response_callback opkg_cb_response; /* user.c */ @@ -80,5 +44,4 @@ extern opkg_status_callback opkg_cb_status; extern opkg_list_callback opkg_cb_list; extern opkg_download_progress_callback opkg_cb_download_progress; /* opkg_download.c */ extern opkg_state_changed_callback opkg_cb_state_changed; /* opkg_state.c */ - #endif diff --git a/libopkg/opkg_cmd.c b/libopkg/opkg_cmd.c index e91a24c..6eb01eb 100644 --- a/libopkg/opkg_cmd.c +++ b/libopkg/opkg_cmd.c @@ -72,6 +72,7 @@ static int opkg_whatreplaces_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_compare_versions_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_print_architecture_cmd(opkg_conf_t *conf, int argc, char **argv); static int opkg_configure_cmd(opkg_conf_t *conf, int argc, char **argv); +static int pkg_mark_provides(pkg_t *pkg); /* XXX: CLEANUP: The usage strings should be incorporated into this array for easier maintenance */ @@ -300,36 +301,6 @@ static int opkg_update_cmd(opkg_conf_t *conf, int argc, char **argv) } -/* scan the args passed and cache the local filenames of the packages */ -int opkg_multiple_files_scan(opkg_conf_t *conf, int argc, char **argv) -{ - int i; - int err; - - /* - * First scan through package names/urls - * For any urls, download the packages and install in database. - * For any files, install package info in database. - */ - for (i = 0; i < argc; i ++) { - char *filename = argv [i]; - //char *tmp = basename (tmp); - //int tmplen = strlen (tmp); - - //if (strcmp (tmp + (tmplen - strlen (OPKG_PKG_EXTENSION)), OPKG_PKG_EXTENSION) != 0) - // continue; - //if (strcmp (tmp + (tmplen - strlen (DPKG_PKG_EXTENSION)), DPKG_PKG_EXTENSION) != 0) - // continue; - - opkg_message(conf, OPKG_DEBUG2, "Debug mfs: %s \n",filename ); - - err = opkg_prepare_url_for_install(conf, filename, &argv[i]); - if (err) - return err; - } - return 0; -} - struct opkg_intercept { char *oldpath; @@ -338,7 +309,7 @@ struct opkg_intercept typedef struct opkg_intercept *opkg_intercept_t; -opkg_intercept_t opkg_prep_intercepts(opkg_conf_t *conf) +static opkg_intercept_t opkg_prep_intercepts(opkg_conf_t *conf) { opkg_intercept_t ctx; char *newpath; @@ -367,7 +338,7 @@ opkg_intercept_t opkg_prep_intercepts(opkg_conf_t *conf) return ctx; } -int opkg_finalize_intercepts(opkg_intercept_t ctx) +static int opkg_finalize_intercepts(opkg_intercept_t ctx) { char *cmd; DIR *dir; @@ -415,7 +386,7 @@ int opkg_finalize_intercepts(opkg_intercept_t ctx) used to end recursion and avoid an infinite loop on graph cycles. pkg_vec ordered will finally contain the ordered set of packages. */ -int opkg_recurse_pkgs_in_order(opkg_conf_t *conf, pkg_t *pkg, pkg_vec_t *all, +static int opkg_recurse_pkgs_in_order(opkg_conf_t *conf, pkg_t *pkg, pkg_vec_t *all, pkg_vec_t *visited, pkg_vec_t *ordered) { int j,k,l,m; @@ -497,7 +468,7 @@ int opkg_recurse_pkgs_in_order(opkg_conf_t *conf, pkg_t *pkg, pkg_vec_t *all, } -int opkg_configure_packages(opkg_conf_t *conf, char *pkg_name) +static int opkg_configure_packages(opkg_conf_t *conf, char *pkg_name) { pkg_vec_t *all, *ordered, *visited; int i; @@ -1329,7 +1300,7 @@ static int opkg_what_depends_conflicts_cmd(opkg_conf_t *conf, enum what_field_ty return 0; } -int pkg_mark_provides(pkg_t *pkg) +static int pkg_mark_provides(pkg_t *pkg) { int provides_count = pkg->provides_count; abstract_pkg_t **provides = pkg->provides; diff --git a/libopkg/opkg_cmd.h b/libopkg/opkg_cmd.h index 43fc428..c597555 100644 --- a/libopkg/opkg_cmd.h +++ b/libopkg/opkg_cmd.h @@ -31,13 +31,6 @@ typedef struct opkg_cmd opkg_cmd_t; opkg_cmd_t *opkg_cmd_find(const char *name); int opkg_cmd_exec(opkg_cmd_t *cmd, opkg_conf_t *conf, int argc, const char **argv, void *userdata); -int opkg_multiple_files_scan (opkg_conf_t *conf, int argc, char *argv[]); -/* install any packges with state_want == SW_INSTALL */ -int opkg_install_wanted_packages(opkg_conf_t *conf); -/* ensure that all dependences are satisfied */ -int opkg_configure_packages(opkg_conf_t *conf, char *pkg_name); - -int pkg_mark_provides(pkg_t *pkg); void opkg_print_error_list (opkg_conf_t *conf); #endif diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c index 965618f..93ef823 100644 --- a/libopkg/opkg_conf.c +++ b/libopkg/opkg_conf.c @@ -138,7 +138,6 @@ int opkg_conf_init(opkg_conf_t *conf, const args_t *args) return OPKG_CONF_ERR_LOCK; } - if (args->tmp_dir) tmp_dir_base = args->tmp_dir; else @@ -153,27 +152,6 @@ int opkg_conf_init(opkg_conf_t *conf, const args_t *args) return OPKG_CONF_ERR_TMP_DIR; } - conf->force_depends = 0; - conf->force_defaults = 0; - conf->force_overwrite = 0; - conf->force_downgrade = 0; - conf->force_reinstall = 0; - conf->force_space = 0; - conf->force_removal_of_essential_packages = 0; - conf->force_removal_of_dependent_packages = 0; - conf->nodeps = 0; - conf->offline_root = NULL; - conf->offline_root_pre_script_cmd = NULL; - conf->offline_root_post_script_cmd = NULL; - conf->verbosity = 1; - conf->noaction = 0; - - conf->http_proxy = NULL; - conf->ftp_proxy = NULL; - conf->no_proxy = NULL; - conf->proxy_user = NULL; - conf->proxy_passwd = NULL; - pkg_hash_init("pkg-hash", &conf->pkg_hash, OPKG_CONF_DEFAULT_HASH_LEN); hash_table_init("file-hash", &conf->file_hash, OPKG_CONF_DEFAULT_HASH_LEN); hash_table_init("obs-file-hash", &conf->obs_file_hash, OPKG_CONF_DEFAULT_HASH_LEN); |