forked from mirrors/protonmail-bridge-docker
build: gpg-agent run fix & automated login process
The gpg-agent could not start if the /root is mounted by docker when the external path is long enough, a workaround is to use a different GNUPGHOME for gpg key generation, and copy generated files to /root/.gnupg afterwards bonus: thanks to expect, we can a automated login process, if both PROTONMAIL_USERNAME and PROTONMAIL_PASSWORD are set Signed-off-by: Jeffrey Stoke <me@arhat.dev>
This commit is contained in:
55
build/login.exp
Normal file
55
build/login.exp
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/expect -f
|
||||
|
||||
set timeout 15;
|
||||
|
||||
spawn {*}$argv ;
|
||||
|
||||
# wait for inital prompt
|
||||
expect {
|
||||
">>> " {
|
||||
# protonmail-bridge started without error, do nothing
|
||||
}
|
||||
|
||||
timeout {
|
||||
exit 2
|
||||
}
|
||||
}
|
||||
|
||||
send -- "login\r"
|
||||
expect {
|
||||
"Username: " {
|
||||
# login start, enter username
|
||||
}
|
||||
|
||||
timeout {
|
||||
exit 2
|
||||
}
|
||||
}
|
||||
|
||||
send -- "$env(PROTONMAIL_USERNAME)\r"
|
||||
expect {
|
||||
"Password: " {
|
||||
# username entered, enter password
|
||||
}
|
||||
|
||||
timeout {
|
||||
exit 2
|
||||
}
|
||||
}
|
||||
|
||||
send -- "$env(PROTONMAIL_PASSWORD)\r"
|
||||
expect {
|
||||
"was added successfully." {
|
||||
# login ok
|
||||
exit 0
|
||||
}
|
||||
|
||||
"Server error" {
|
||||
# login failed
|
||||
exit 1
|
||||
}
|
||||
|
||||
timeout {
|
||||
exit 2
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user