summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abuild-keygen.in36
1 files changed, 32 insertions, 4 deletions
diff --git a/abuild-keygen.in b/abuild-keygen.in
index 1e7f12d..65737f0 100644
--- a/abuild-keygen.in
+++ b/abuild-keygen.in
@@ -15,6 +15,17 @@ abuild_conf=${ABUILD_CONF:-"$sysconfdir/abuild.conf"}
abuild_home=${ABUILD_USERDIR:-"$HOME/.abuild"}
abuild_userconf=${ABUILD_USERCONF:-"$abuild_home/abuild.conf"}
+
+usage() {
+ echo "abuild-keygen $abuild_ver"
+ echo "usage: abuild-keygen [-ih]"
+ echo "options:"
+ echo " -i Install public key into /etc/apk/keys using sudo"
+ echo " -h Show this help"
+ echo ""
+ exit 1
+}
+
# read config
[ -f "$abuild_conf" ] && . "$abuild_conf"
@@ -35,6 +46,14 @@ else
default_name="$USER"
fi
+while getopts "hi" opt; do
+ case $opt in
+ h) usage;;
+ i) install_pubkey=yes;
+ esac
+done
+shift $(( $OPTIND - 1))
+
mkdir -p "$abuild_home"
echo "Generating public/private rsa key pair for abuild"
@@ -55,10 +74,19 @@ openssl genrsa -out "$privkey" 2048
)
openssl rsa -in "$privkey" -pubout -out "$pubkey"
-echo ""
-echo "You'll need to install $pubkey into "
-echo "/etc/apk/keys to be able to install packages and repositories signed with"
-echo "$privkey"
+
+if [ -n "$install_pubkey" ]; then
+ echo "Installing $pubkey to /etc/apk/keys..."
+ sudo mkdir -p /etc/apk/keys
+ sudo cp -i "$pubkey" /etc/apk/keys/
+else
+
+ echo ""
+ echo "You'll need to install $pubkey into "
+ echo "/etc/apk/keys to be able to install packages and repositories signed with"
+ echo "$privkey"
+fi
+
echo ""
echo "Please remember to make a safe backup of $privkey"
echo ""