gitRepo: Add import to ssl module to avoid runtime error (#125373)

Co-authored-by: Ricardo M. Correia <rcorreia@wizy.org>
This commit is contained in:
Otavio Salvador 2021-06-03 11:24:19 -03:00 committed by GitHub
parent e6e137c197
commit 8f166b95c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 3 deletions

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, makeWrapper, nix-update-script
, python3, git, gnupg, less
, python3, git, gnupg, less, openssh
}:
stdenv.mkDerivation rec {
@ -10,9 +10,12 @@ stdenv.mkDerivation rec {
owner = "android";
repo = "tools_repo";
rev = "v${version}";
sha256 = "sha256-3FSkWpHda1jVhy/633B+ippWcbKd83IlQcJYS9Qx5wQ=";
sha256 = "sha256-SuHp6C5ueUErvRiWDQNEmCybFIa7Iu7C/FtnHys9XqU=";
};
# Fix 'NameError: name 'ssl' is not defined'
patches = [ ./import-ssl-module.patch ];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ python3 ];
@ -34,7 +37,7 @@ stdenv.mkDerivation rec {
# Important runtime dependencies
postFixup = ''
wrapProgram $out/bin/repo --prefix PATH ":" \
"${lib.makeBinPath [ git gnupg less ]}"
"${lib.makeBinPath [ git gnupg less openssh ]}"
'';
passthru = {

View file

@ -0,0 +1,28 @@
Fix runtime error due missing import
Traceback (most recent call last):
File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 1339, in <module>
main(sys.argv[1:])
File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 1304, in main
_Init(args, gitc_init=(cmd == 'gitc-init'))
File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 607, in _Init
_Clone(url, dst, opt.clone_bundle, opt.quiet, opt.verbose)
File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 912, in _Clone
if clone_bundle and _DownloadBundle(url, cwd, quiet, verbose):
File "/nix/store/4qqhr7g9ri3n7v6ik9ahlpvyp18wcn4p-git-repo-2.15.3/bin/.repo-wrapped", line 860, in _DownloadBundle
r = urllib.request.urlopen(url, context=ssl.create_default_context())
NameError: name 'ssl' is not defined
builder for '/nix/store/4hvds8fv8xmzlm86yg9cf1lj6hrya7sg-amdvlk-src.drv' failed with exit code 1
diff --git a/repo b/repo
index 8b05def..f394b3e 100755
--- a/repo
+++ b/repo
@@ -236,6 +236,7 @@ import optparse
import re
import shutil
import stat
+import ssl
if sys.version_info[0] == 3:
import urllib.request