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:
parent
8fa301b5a3
commit
da0dfab9d3
6 changed files with 112 additions and 18 deletions
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
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue