summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2014-03-22 10:40:04 +0000
committerbdrewery <bdrewery@FreeBSD.org>2014-03-22 10:40:04 +0000
commitcbf71ae1cf07231a229b9dbbc54154af65327287 (patch)
treee46a96a572d66d4d073a82d3791a8fa2f10526bf /usr.sbin
parent6b2cc0eea64831d1ea73c01b4284440bc55dfe7f (diff)
downloadFreeBSD-src-cbf71ae1cf07231a229b9dbbc54154af65327287.zip
FreeBSD-src-cbf71ae1cf07231a229b9dbbc54154af65327287.tar.gz
MFC r263180:
Fix ABI from /usr/local/etc/pkg.conf not being respected.
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/pkg/config.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.sbin/pkg/config.c b/usr.sbin/pkg/config.c
index a6250c7..db4a434 100644
--- a/usr.sbin/pkg/config.c
+++ b/usr.sbin/pkg/config.c
@@ -66,6 +66,7 @@ struct config_entry {
char *value;
STAILQ_HEAD(, config_value) *list;
bool envset;
+ bool main_only; /* Only set in pkg.conf. */
};
static struct config_entry c[] = {
@@ -76,6 +77,7 @@ static struct config_entry c[] = {
NULL,
NULL,
false,
+ false,
},
[ABI] = {
PKG_CONFIG_STRING,
@@ -84,6 +86,7 @@ static struct config_entry c[] = {
NULL,
NULL,
false,
+ true,
},
[MIRROR_TYPE] = {
PKG_CONFIG_STRING,
@@ -92,6 +95,7 @@ static struct config_entry c[] = {
NULL,
NULL,
false,
+ false,
},
[ASSUME_ALWAYS_YES] = {
PKG_CONFIG_BOOL,
@@ -100,6 +104,7 @@ static struct config_entry c[] = {
NULL,
NULL,
false,
+ true,
},
[SIGNATURE_TYPE] = {
PKG_CONFIG_STRING,
@@ -108,6 +113,7 @@ static struct config_entry c[] = {
NULL,
NULL,
false,
+ false,
},
[FINGERPRINTS] = {
PKG_CONFIG_STRING,
@@ -116,6 +122,7 @@ static struct config_entry c[] = {
NULL,
NULL,
false,
+ false,
},
[REPOS_DIR] = {
PKG_CONFIG_LIST,
@@ -124,6 +131,7 @@ static struct config_entry c[] = {
NULL,
NULL,
false,
+ true,
},
};
@@ -597,6 +605,9 @@ config_parse(ucl_object_t *obj, pkg_conf_file_t conftype)
for (i = 0; i < CONFIG_SIZE; i++) {
if (c[i].envset)
continue;
+ /* Prevent overriding ABI, ASSUME_ALWAYS_YES, etc. */
+ if (conftype != CONFFILE_PKG && c[i].main_only == true)
+ continue;
switch (c[i].type) {
case PKG_CONFIG_LIST:
c[i].list = temp_config[i].list;
OpenPOWER on IntegriCloud