Pārlūkot izejas kodu

Set SETUPTOOLS_USE_DISTUTILS for all plugin installs, seems like they all need it.

Jamie Curnow 3 mēneši atpakaļ
vecāks
revīzija
5f54490d86
2 mainītis faili ar 6 papildinājumiem un 8 dzēšanām
  1. 5 4
      backend/lib/certbot.js
  2. 1 4
      global/certbot-dns-plugins.json

+ 5 - 4
backend/lib/certbot.js

@@ -63,14 +63,15 @@ const certbot = {
 		plugin.version      = plugin.version.replace(/{{certbot-version}}/g, CERTBOT_VERSION_REPLACEMENT);
 		plugin.dependencies = plugin.dependencies.replace(/{{certbot-version}}/g, CERTBOT_VERSION_REPLACEMENT);
 
-		const opts = {};
+		// SETUPTOOLS_USE_DISTUTILS is required for certbot plugins to install correctly
+		// in new versions of Python
+		let env = Object.assign({}, process.env, {SETUPTOOLS_USE_DISTUTILS: 'stdlib'});
 		if (typeof plugin.env === 'object') {
-			// include process.env in opts
-			opts.env = Object.assign({}, process.env, plugin.env);
+			env = Object.assign(env, plugin.env);
 		}
 
 		const cmd = `. /opt/certbot/bin/activate && pip install --no-cache-dir ${plugin.dependencies} ${plugin.package_name}${plugin.version}  && deactivate`;
-		return utils.exec(cmd, opts)
+		return utils.exec(cmd, {env})
 			.then((result) => {
 				logger.complete(`Installed ${pluginKey}`);
 				return result;

+ 1 - 4
global/certbot-dns-plugins.json

@@ -477,10 +477,7 @@
 		"version": "~=0.2.1",
 		"dependencies": "PyYAML==5.3.1",
 		"credentials": "dns_powerdns_api_url = https://api.mypowerdns.example.org\ndns_powerdns_api_key = AbCbASsd!@34",
-		"full_plugin_name": "dns-powerdns",
-		"env": {
-			"SETUPTOOLS_USE_DISTUTILS": "stdlib"
-		}
+		"full_plugin_name": "dns-powerdns"
 	},
 	"regru": {
 		"name": "reg.ru",