From 04e622ced2f7d978d0201d85e1c48701c583408f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=B6nke?= Date: Wed, 3 Apr 2019 18:37:23 +0000 Subject: [PATCH] http_proxy env support for Pkg mirroring --- libioc/Pkg.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/libioc/Pkg.py b/libioc/Pkg.py index eca31dd7..f91801aa 100644 --- a/libioc/Pkg.py +++ b/libioc/Pkg.py @@ -26,6 +26,7 @@ import typing import math import os.path +import os import re import libzfs @@ -112,15 +113,23 @@ def _update_host_repo(self, release_major_version: int) -> None: "--repository", self._get_repo_name(release_major_version) ], logger=self.logger, - env=dict( + env=self.__mixin_env(dict( ABI=self.__get_abi_string(release_major_version), SIGNATURE_TYPE="fingerprints" - ) + )) ) def __get_abi_string(self, release_major_version: int) -> str: return f"FreeBSD:{release_major_version}:{self.host.processor}" + @staticmethod + def __mixin_env(env: typing.Dict[str, str]) -> typing.Dict[str, str]: + env_clone_keys = ["http_proxy"] + for key in os.environ: + if key.lower() in env_clone_keys: + env[key.lower()] = os.environ[key] + return env + def _mirror_packages( self, packages: typing.List[str], @@ -135,10 +144,10 @@ def _mirror_packages( "--repository", self._get_repo_name(release_major_version) ] + packages, logger=self.logger, - env=dict( + env=self.__mixin_env(dict( ABI=self.__get_abi_string(release_major_version), SIGNATURE_TYPE="fingerprints" - ) + )) ) if (stderr is not None) and (len(stderr) > 0): @@ -155,11 +164,11 @@ def _build_mirror_index(self, release_major_version: int) -> None: "repo", cache_ds.mountpoint ], - env=dict( + env=self.__mixin_env(dict( ABI=self.__get_abi_string(release_major_version), SIGNATURE_TYPE="fingerprints", FINGERPRINTS="/usr/share/keys/pkg" - ), + )), logger=self.logger )