*/
#define _GNU_SOURCE
-#include "config.h"
-
#include <stdio.h>
#include <getopt.h>
#include <fnmatch.h>
ARGS_OPT_AUTOREMOVE,
ARGS_OPT_CACHE,
ARGS_OPT_FORCE_SIGNATURE,
+ ARGS_OPT_NO_CHECK_CERTIFICATE,
+ ARGS_OPT_VERIFY_PROGRAM,
ARGS_OPT_SIZE,
};
{"force_checksum", 0, 0, ARGS_OPT_FORCE_CHECKSUM},
{"force-signature", 0, 0, ARGS_OPT_FORCE_SIGNATURE},
{"force_signature", 0, 0, ARGS_OPT_FORCE_SIGNATURE},
+ {"no-check-certificate", 0, 0, ARGS_OPT_NO_CHECK_CERTIFICATE},
+ {"no_check_certificate", 0, 0, ARGS_OPT_NO_CHECK_CERTIFICATE},
{"noaction", 0, 0, ARGS_OPT_NOACTION},
{"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY},
{"nodeps", 0, 0, ARGS_OPT_NODEPS},
{"lists-dir", 1, 0, 'l'},
{"lists_dir", 1, 0, 'l'},
{"verbosity", 2, 0, 'V'},
+ {"verify-program", 1, 0, ARGS_OPT_VERIFY_PROGRAM},
+ {"verify_program", 1, 0, ARGS_OPT_VERIFY_PROGRAM},
{"version", 0, 0, 'v'},
{0, 0, 0, 0}
};
case ARGS_OPT_FORCE_SIGNATURE:
conf->force_signature = 1;
break;
+ case ARGS_OPT_NO_CHECK_CERTIFICATE:
+ conf->no_check_certificate = 1;
+ break;
+ case ARGS_OPT_VERIFY_PROGRAM:
+ conf->verify_program = xstrdup(optarg);
+ break;
case ':':
parse_err = -1;
break;
printf(" directory name in a pinch).\n");
printf("\t-o <dir> Use <dir> as the root directory for\n");
printf("\t--offline-root <dir> offline installation of packages.\n");
+ printf
+ ("\t--verify-program <path> Use the given program to verify usign signatures\n");
printf
("\t--add-arch <arch>:<prio> Register architecture with given priority\n");
printf
printf
("\t--force-remove Remove package even if prerm script fails\n");
printf("\t--force-checksum Don't fail on checksum mismatches\n");
+ printf("\t--no-check-certificate Don't validate SSL certificates\n");
printf("\t--noaction No action -- test only\n");
printf("\t--download-only No action -- download only\n");
printf("\t--nodeps Do not follow dependencies\n");
!strcmp(cmd_name, "print-architecture") ||
!strcmp(cmd_name, "print_architecture") ||
!strcmp(cmd_name, "print-installation-architecture") ||
- !strcmp(cmd_name, "print_installation_architecture"))
+ !strcmp(cmd_name, "print_installation_architecture") ||
+ !strcmp(cmd_name, "compare_versions") ||
+ !strcmp(cmd_name, "compare-versions"))
nocheckfordirorfile = 1;
if (!strcmp(cmd_name, "flag") ||
!strcmp(cmd_name, "remove") ||
!strcmp(cmd_name, "files") ||
!strcmp(cmd_name, "search") ||
- !strcmp(cmd_name, "compare_versions") ||
- !strcmp(cmd_name, "compare-versions") ||
+ !strcmp(cmd_name, "list") ||
!strcmp(cmd_name, "list_installed") ||
!strcmp(cmd_name, "list-installed") ||
!strcmp(cmd_name, "list_changed_conffiles") ||
!strcmp(cmd_name, "list-changed-conffiles") ||
- !strcmp(cmd_name, "status"))
+ !strcmp(cmd_name, "status") ||
+ !strcmp(cmd_name, "update"))
noreadfeedsfile = 1;
cmd = opkg_cmd_find(cmd_name);
if (!nocheckfordirorfile) {
if (!noreadfeedsfile) {
- if (pkg_hash_load_feeds(SF_NEED_DETAIL))
+ if (pkg_hash_load_feeds(SF_NEED_DETAIL, NULL, NULL))
goto err1;
}
- if (pkg_hash_load_status_files())
+ if (pkg_hash_load_status_files(NULL, NULL))
goto err1;
}
err = opkg_cmd_exec(cmd, argc - opts, (const char **)(argv + opts));
-#ifdef HAVE_CURL
- opkg_curl_cleanup();
-#endif
err1:
opkg_conf_deinit();