Преглед на файлове

gluon-core: upgrade: don't print an error message on systems without opkg

Matthias Schiffer преди 7 години
родител
ревизия
0a8e028e8f
променени са 1 файла, в които са добавени 26 реда и са изтрити 24 реда
  1. 26 24
      package/gluon-core/luasrc/lib/gluon/upgrade/500-opkg

+ 26 - 24
package/gluon-core/luasrc/lib/gluon/upgrade/500-opkg

@@ -24,35 +24,37 @@ end
 
 local prefix = subst['%%n'] .. '_'
 
-local distfeeds = {}
-for line in io.lines('/etc/opkg/distfeeds.conf') do
-	table.insert(distfeeds, line)
-end
-
-local f = io.open('/etc/opkg/distfeeds.conf', 'w')
+if fs.access('/etc/opkg/distfeeds.conf') then
+	local distfeeds = {}
+	for line in io.lines('/etc/opkg/distfeeds.conf') do
+		table.insert(distfeeds, line)
+	end
 
-for _, line in ipairs(distfeeds) do
-	local name = line:match('^src/gz%s' .. prefix .. '(%S+)%s')
-	if name == 'core' then
-		f:write('# ' .. line .. '\n')
-	elseif name and site.opkg and site.opkg.lede then
-		f:write(string.format('src/gz %s %s/%s\n', prefix .. name, replace_patterns(site.opkg.lede), name))
-	else
-		f:write(line .. '\n')
+	local f = io.open('/etc/opkg/distfeeds.conf', 'w')
+
+	for _, line in ipairs(distfeeds) do
+		local name = line:match('^src/gz%s' .. prefix .. '(%S+)%s')
+		if name == 'core' then
+			f:write('# ' .. line .. '\n')
+		elseif name and site.opkg and site.opkg.lede then
+			f:write(string.format('src/gz %s %s/%s\n', prefix .. name, replace_patterns(site.opkg.lede), name))
+		else
+			f:write(line .. '\n')
+		end
 	end
-end
 
-f:close()
+	f:close()
 
-if site.opkg and site.opkg.extra and next(site.opkg.extra) then
-	local f = io.open('/etc/opkg/gluon.conf', 'w')
+	if site.opkg and site.opkg.extra and next(site.opkg.extra) then
+		local f = io.open('/etc/opkg/gluon.conf', 'w')
 
-	for k, v in pairs(site.opkg.extra) do
-		f:write(string.format('src/gz %s %s\n', k, replace_patterns(v)))
-	end
+		for k, v in pairs(site.opkg.extra) do
+			f:write(string.format('src/gz %s %s\n', k, replace_patterns(v)))
+		end
 
-	f:close()
+		f:close()
 
-else
-	os.remove('/etc/opkg/gluon.conf')
+	else
+		os.remove('/etc/opkg/gluon.conf')
+	end
 end