X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopkg-lede.git;a=blobdiff_plain;f=tests%2Flibopkg_test.c;h=8c64b5e1fedf67c2fe7e78f461db609057575dd5;hp=205db5c2c8509122388df109dde66487af00ff03;hb=079a631d12f3d6ae6f33aef318a51799ea78027c;hpb=7e2978b5393e5de41aac4ba88b2061b751eab2c7 diff --git a/tests/libopkg_test.c b/tests/libopkg_test.c index 205db5c..8c64b5e 100644 --- a/tests/libopkg_test.c +++ b/tests/libopkg_test.c @@ -3,11 +3,34 @@ #include void -progress_callback (opkg_t *opkg, int percent, void *data) +progress_callback (opkg_t *opkg, const opkg_progress_data_t *progress, void *data) { - printf ("%s %d\n", (char*) data, percent); + printf ("\r%s %3d%%", (char*) data, progress->percentage); + fflush (stdout); } +void +package_list_callback (opkg_t *opkg, opkg_package_t *pkg, void *data) +{ + static install_count = 0; + static total_count = 0; + + if (pkg->installed) + install_count++; + + total_count++; + + printf ("\rPackage count: %d Installed, %d Total Available", install_count, total_count); + fflush (stdout); + + opkg_package_free (pkg); +} + +void +package_list_upgradable_callback (opkg_t *opkg, opkg_package_t *pkg, void *data) +{ + printf ("%s - %s\n", pkg->name, pkg->version); +} int main (int argc, char **argv) @@ -19,19 +42,28 @@ main (int argc, char **argv) opkg_set_option (opkg, "offline_root", "/tmp/"); - opkg_read_config_files (opkg); + opkg_re_read_config_files (opkg); err = opkg_update_package_lists (opkg, progress_callback, "Updating..."); - - printf ("opkg_update_package_lists returned %d\n", err); + printf ("\nopkg_update_package_lists returned %d\n", err); err = opkg_install_package (opkg, "aspell", progress_callback, "Installing..."); + printf ("\nopkg_install_package returned %d\n", err); - printf ("opkg_install_package returned %d\n", err); + err = opkg_upgrade_package (opkg, "aspell", progress_callback, "Upgrading..."); + printf ("\nopkg_upgrade_package returned %d\n", err); err = opkg_remove_package (opkg, "aspell", progress_callback, "Removing..."); + printf ("\nopkg_remove_package returned %d\n", err); + + printf ("Listing upgradable packages...\n"); + opkg_list_upgradable_packages (opkg, package_list_upgradable_callback, NULL); + + err = opkg_upgrade_all (opkg, progress_callback, "Upgrading all..."); + printf ("\nopkg_upgrade_all returned %d\n", err); - printf ("opkg_remove_package returned %d\n", err); + opkg_list_packages (opkg, package_list_callback, NULL); + printf ("\n"); opkg_free (opkg); }