abuild-keygen: make cp non-interactive with -n
only use interactive copy when -n is omitted, so abuild-keygen --install becomes non-interactive. Add tests for both ineractive and non-interactive --install. Fixes https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10049
This commit is contained in:
parent
62066fa2b9
commit
e510181626
|
@ -33,7 +33,7 @@ get_privkey_file() {
|
|||
default_name="${emailaddr:-$USER}-$(printf "%x" $(date +%s))"
|
||||
|
||||
privkey="$ABUILD_USERDIR/$default_name.rsa"
|
||||
if [ -n "$non_interactive" ]; then
|
||||
if [ -z "$interactive" ]; then
|
||||
return 0
|
||||
fi
|
||||
msg "Generating public/private rsa key pair for abuild"
|
||||
|
@ -60,8 +60,8 @@ do_keygen() {
|
|||
|
||||
if [ -n "$install_pubkey" ]; then
|
||||
msg "Installing $pubkey to /etc/apk/keys..."
|
||||
$SUDO mkdir -p /etc/apk/keys
|
||||
$SUDO cp -i "$pubkey" /etc/apk/keys/
|
||||
$SUDO mkdir -p "${abuild_keygen_install_root}"/etc/apk/keys
|
||||
$SUDO cp ${interactive:+-i} "$pubkey" "${abuild_keygen_install_root}"/etc/apk/keys/
|
||||
else
|
||||
|
||||
msg ""
|
||||
|
@ -112,7 +112,7 @@ usage() {
|
|||
|
||||
append_config=
|
||||
install_pubkey=
|
||||
non_interactive=
|
||||
interactive=1
|
||||
numbits=2048
|
||||
quiet=
|
||||
|
||||
|
@ -126,7 +126,7 @@ while true; do
|
|||
case $1 in
|
||||
-a|--append) append_config=1;;
|
||||
-i|--install) install_pubkey=1;;
|
||||
-n) non_interactive=1;;
|
||||
-n) unset interactive ;;
|
||||
-b|--numbits) numbits="$2"; shift 1;;
|
||||
-q|--quiet) quiet=1;; # suppresses msg
|
||||
-h|--help) usage; exit;;
|
||||
|
|
|
@ -4,6 +4,7 @@ setup() {
|
|||
tmpdir="$BATS_TMPDIR"/abuild-keygen
|
||||
export ABUILD_USERDIR="$tmpdir"/user
|
||||
mkdir -p "$ABUILD_USERDIR"
|
||||
export abuild_keygen_install_root=${ABUILD_USERDIR}
|
||||
|
||||
# provide a fake git
|
||||
mkdir -p "$tmpdir"/bin
|
||||
|
@ -37,3 +38,11 @@ teardown() {
|
|||
[ $status -ne 0 ]
|
||||
}
|
||||
|
||||
@test "abuild-keygen: --install option (interactive)" {
|
||||
yes | SUDO= $ABUILD_KEYGEN --install
|
||||
}
|
||||
|
||||
@test "abuild-keygen: --install -n (non-interacive)" {
|
||||
SUDO= $ABUILD_KEYGEN --install -n
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue