#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
+#include <errno.h>
extern char *conf_file_dir;
{ "proxy_user", OPKG_OPT_TYPE_STRING, &conf->proxy_user },
{ "query-all", OPKG_OPT_TYPE_BOOL, &conf->query_all },
{ "verbosity", OPKG_OPT_TYPE_BOOL, &conf->verbosity },
+#if defined(HAVE_OPENSSL)
+ { "signature_ca_file", OPKG_OPT_TYPE_STRING, &conf->signature_ca_file },
+ { "signature_ca_path", OPKG_OPT_TYPE_STRING, &conf->signature_ca_path },
+#endif
{ NULL }
};
int opkg_conf_init(opkg_conf_t *conf, const args_t *args)
{
int err;
+ int errno_copy;
char *tmp_dir_base;
nv_pair_list_t tmp_dest_nv_pair_list;
char *lists_dir = NULL, *lock_file = NULL;
conf->lock_fd = creat (lock_file, S_IRUSR | S_IWUSR | S_IRGRP);
err = lockf (conf->lock_fd, F_TLOCK, 0);
+ errno_copy = errno;
free (lock_file);
if (err)
{
- opkg_message (conf, OPKG_ERROR, "Could not obtain administrative lock\n");
+ if(args->offline_root) {
+ opkg_message (conf, OPKG_ERROR, "Could not obtain administrative lock for offline root (ERR: %s) at %s/%s/lock\n",
+ strerror(errno_copy), args->offline_root, OPKG_STATE_DIR_PREFIX);
+ } else {
+ opkg_message (conf, OPKG_ERROR, "Could not obtain administrative lock (ERR: %s) at %s/lock\n",
+ strerror(errno_copy), OPKG_STATE_DIR_PREFIX);
+ }
return OPKG_CONF_ERR_LOCK;
}
if (args->force_downgrade) {
conf->force_downgrade = 1;
}
+ if (args->force_space) {
+ conf->force_space = 1;
+ }
if (args->force_reinstall) {
conf->force_reinstall = 1;
}
opkg_conf_free_string(&conf->cache);
+#if defined(HAVE_OPENSSL)
+ opkg_conf_free_string(&conf->signature_ca_file);
+ opkg_conf_free_string(&conf->signature_ca_path);
+#endif
+
if (conf->verbosity > 1) {
int i;
hash_table_t *hashes[] = {
pkg_dest_t *dest;
pkg_vec_t *all;
pkg_t *pkg;
- register int i;
+ int i;
int err;
FILE * status_file=NULL;