summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/opkg/opkg/conf_override.patch
blob: b1698d8774332bac2ef3db2a87c24acac0775020 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
From 45d0468f7f9e9be633b2819aa43ab9b6287b8e6a Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Mon, 9 Jul 2012 11:01:15 +0100
Subject: [PATCH] Do not read /etc/opkg/*.conf if -f is specified

If a configuration file is specified on the command line, we should
assume it contains all of the configuration and not try to read the
configuration in /etc/opkg.

Upstream-Status: Pending

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 libopkg/opkg_conf.c |   55 ++++++++++++++++++++++++++-------------------------
 1 file changed, 28 insertions(+), 27 deletions(-)

diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c
index 4711ce7..1e65bad 100644
--- a/libopkg/opkg_conf.c
+++ b/libopkg/opkg_conf.c
@@ -473,39 +473,40 @@ opkg_conf_load(void)
 				&conf->pkg_src_list, &conf->dist_src_list))
 			goto err1;
 	}
-
-	if (conf->offline_root)
-		sprintf_alloc(&etc_opkg_conf_pattern, "%s/etc/opkg/*.conf", conf->offline_root);
 	else {
-		const char *conf_file_dir = getenv("OPKG_CONF_DIR");
-		if (conf_file_dir == NULL)
-			conf_file_dir = OPKG_CONF_DEFAULT_CONF_FILE_DIR;
-			sprintf_alloc(&etc_opkg_conf_pattern, "%s/*.conf", conf_file_dir);
-	}
-
-	memset(&globbuf, 0, sizeof(globbuf));
-	glob_ret = glob(etc_opkg_conf_pattern, 0, glob_errfunc, &globbuf);
-	if (glob_ret && glob_ret != GLOB_NOMATCH) {
-		free(etc_opkg_conf_pattern);
-		globfree(&globbuf);
-		goto err1;
-	}
-
-	free(etc_opkg_conf_pattern);
+		if (conf->offline_root)
+			sprintf_alloc(&etc_opkg_conf_pattern, "%s/etc/opkg/*.conf", conf->offline_root);
+		else {
+			const char *conf_file_dir = getenv("OPKG_CONF_DIR");
+			if (conf_file_dir == NULL)
+				conf_file_dir = OPKG_CONF_DEFAULT_CONF_FILE_DIR;
+				sprintf_alloc(&etc_opkg_conf_pattern, "%s/*.conf", conf_file_dir);
+		}
 
-	for (i = 0; i < globbuf.gl_pathc; i++) {
-		if (globbuf.gl_pathv[i])
-			if (conf->conf_file &&
-					!strcmp(conf->conf_file, globbuf.gl_pathv[i]))
-				continue;
-		if ( opkg_conf_parse_file(globbuf.gl_pathv[i],
-			&conf->pkg_src_list, &conf->dist_src_list)<0) {
+		memset(&globbuf, 0, sizeof(globbuf));
+		glob_ret = glob(etc_opkg_conf_pattern, 0, glob_errfunc, &globbuf);
+		if (glob_ret && glob_ret != GLOB_NOMATCH) {
+			free(etc_opkg_conf_pattern);
 			globfree(&globbuf);
 			goto err1;
 		}
-	}
 
-	globfree(&globbuf);
+		free(etc_opkg_conf_pattern);
+
+		for (i = 0; i < globbuf.gl_pathc; i++) {
+			if (globbuf.gl_pathv[i])
+				if (conf->conf_file &&
+						!strcmp(conf->conf_file, globbuf.gl_pathv[i]))
+					continue;
+			if ( opkg_conf_parse_file(globbuf.gl_pathv[i],
+				&conf->pkg_src_list, &conf->dist_src_list)<0) {
+				globfree(&globbuf);
+				goto err1;
+			}
+		}
+
+		globfree(&globbuf);
+	}
 
 	if (conf->offline_root)
 		sprintf_alloc (&lock_file, "%s/%s", conf->offline_root, OPKGLOCKFILE);
-- 
1.7.9.5