X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from dal-a2.localdomain (unknown [74.117.189.115]) by mail.alpinelinux.org (Postfix) with ESMTP id 64194DC00B9 for ; Mon, 8 Jul 2013 14:55:46 +0000 (UTC) Received: from ncopa-desktop.alpinelinux.org (3.203.202.84.customer.cdi.no [84.202.203.3]) (using SSLv3 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: ncopa@tanael.org) by dal-a2.localdomain (Postfix) with ESMTPSA id 9A1CABC2BA1; Mon, 8 Jul 2013 14:55:45 +0000 (UTC) Date: Mon, 8 Jul 2013 16:55:29 +0200 From: Natanael Copa To: Dubiousjim Cc: alpine-devel@lists.alpinelinux.org Subject: Re: [alpine-devel] [PATCH 05/31] abuild-keygen: refactor Message-ID: <20130708165529.2ffdf33e@ncopa-desktop.alpinelinux.org> In-Reply-To: References: X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.20; x86_64-unknown-linux-gnu) X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Thanks a bunch for those patches. I have applied 1-4 so far. On Fri, 5 Jul 2013 00:21:14 -0400 Dubiousjim wrote: > --- > abuild-keygen.in | 119 ++++++++++++++++++++++++++++--------------------------- > 1 file changed, 61 insertions(+), 58 deletions(-) Could you please give some explanation why we refactor? Possibly a new patch with the explanation in commit message. You can also just say it here and I'll git commit --amend it. (same with [PATCH 06/31] abuild-sign: refactor) Thanks! -nc > > diff --git a/abuild-keygen.in b/abuild-keygen.in > index a095068..3cf5531 100644 > --- a/abuild-keygen.in > +++ b/abuild-keygen.in > @@ -22,6 +22,20 @@ msg() { > # ask for privkey unless non-interactive mode > # returns value in global $privkey > get_privkey_file() { > + emailaddr=${PACKAGER##*<} > + emailaddr=${emailaddr%%>*} > + > + # if PACKAGER does not contain a valid email address, then ask git > + if [ -z "$emailaddr" ] || [ "${emailaddr##*@}" = "$emailaddr" ]; then > + emailaddr=$(git config --get user.email 2>/dev/null) > + fi > + > + if [ -n "$emailaddr" ]; then > + default_name="$emailaddr-$(printf "%x" $(date +%s))" > + else > + default_name="$USER-$(printf "%x" $(date +%s))" > + fi > + > privkey="$abuild_home/$default_name.rsa" > [ "$non_interactive" = "yes" ] && return 0 > echo "Generating public/private rsa key pair for abuild" > @@ -33,6 +47,52 @@ get_privkey_file() { > fi > } > > +do_keygen() { > + mkdir -p "$abuild_home" > + > + get_privkey_file > + pubkey="$privkey.pub" > + > + # generate the private key in a subshell with stricter umask > + ( > + umask 0007 > + openssl genrsa -out "$privkey" 2048 > + ) > + openssl rsa -in "$privkey" -pubout -out "$pubkey" > + > + > + 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/ > + else > + > + msg "" > + msg "You'll need to install $pubkey into " > + msg "/etc/apk/keys to be able to install packages and repositories signed with" > + msg "$privkey" > + fi > + > + if [ -n "$append_config" ]; then > + if [ -f "$abuild_userconf" ]; then > + # comment out the existing values > + sed -i -e 's/^\(PACKAGER_PRIVKEY=.*\)/\#\1/' "$abuild_userconf" > + fi > + echo "PACKAGER_PRIVKEY=\"$privkey\"" >> "$abuild_userconf" > + else > + msg "" > + msg "You might want add following line to $abuild_userconf:" > + msg "" > + msg "PACKAGER_PRIVKEY=\"$privkey\"" > + msg "" > + fi > + > + msg "" > + msg "Please remember to make a safe backup of your private key:" > + msg "$privkey" > + msg "" > +} > + > # print usage and exit > usage() { > echo "abuild-keygen $abuild_ver" > @@ -53,20 +113,6 @@ usage() { > # read user config if exists > [ -f "$abuild_userconf" ] && . "$abuild_userconf" > > -emailaddr=${PACKAGER##*<} > -emailaddr=${emailaddr%%>*} > - > -# if PACKAGER does not contain a valid email address, then ask git > -if [ -z "$emailaddr" ] || [ "${emailaddr##*@}" = "$emailaddr" ]; then > - emailaddr=$(git config --get user.email 2>/dev/null) > -fi > - > -if [ -n "$emailaddr" ]; then > - default_name="$emailaddr-$(printf "%x" $(date +%s))" > -else > - default_name="$USER-$(printf "%x" $(date +%s))" > -fi > - > while getopts "ahinq" opt; do > case $opt in > a) append_config=yes;; > @@ -78,47 +124,4 @@ while getopts "ahinq" opt; do > done > shift $(( $OPTIND - 1)) > > -mkdir -p "$abuild_home" > - > -get_privkey_file > -pubkey="$privkey.pub" > - > -# generate the private key in a subshell with stricter umask > -( > -umask 0007 > -openssl genrsa -out "$privkey" 2048 > -) > -openssl rsa -in "$privkey" -pubout -out "$pubkey" > - > - > -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/ > -else > - > - msg "" > - msg "You'll need to install $pubkey into " > - msg "/etc/apk/keys to be able to install packages and repositories signed with" > - msg "$privkey" > -fi > - > -if [ -n "$append_config" ]; then > - if [ -f "$abuild_userconf" ]; then > - # comment out the existing values > - sed -i -e 's/^\(PACKAGER_PRIVKEY=.*\)/\#\1/' "$abuild_userconf" > - fi > - echo "PACKAGER_PRIVKEY=\"$privkey\"" >> "$abuild_userconf" > -else > - msg "" > - msg "You might want add following line to $abuild_userconf:" > - msg "" > - msg "PACKAGER_PRIVKEY=\"$privkey\"" > - msg "" > -fi > - > -msg "" > -msg "Please remember to make a safe backup of your private key:" > -msg "$privkey" > -msg "" > - > +do_keygen --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---