mirror of
https://gitlab.alpinelinux.org/alpine/abuild.git
synced 2025-03-11 06:37:31 +00:00
abuild-keygen: new utility to generate keys for signing packages
This commit is contained in:
parent
3dc07fb7e4
commit
9a62271545
2
Makefile
2
Makefile
@ -7,7 +7,7 @@ sysconfdir ?= /etc
|
|||||||
datadir ?= $(prefix)/share/$(PACKAGE)
|
datadir ?= $(prefix)/share/$(PACKAGE)
|
||||||
apkcache ?= ~/.cache/apks
|
apkcache ?= ~/.cache/apks
|
||||||
|
|
||||||
SCRIPTS := abuild devbuild mkalpine buildrepo
|
SCRIPTS := abuild devbuild mkalpine buildrepo abuild-keygen
|
||||||
USR_BIN_FILES := $(SCRIPTS) abuild-tar
|
USR_BIN_FILES := $(SCRIPTS) abuild-tar
|
||||||
SAMPLES := sample.APKBUILD sample.initd sample.confd \
|
SAMPLES := sample.APKBUILD sample.initd sample.confd \
|
||||||
sample.pre-install sample.post-install
|
sample.pre-install sample.post-install
|
||||||
|
65
abuild-keygen.in
Normal file
65
abuild-keygen.in
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# generate signing keys
|
||||||
|
# Copyright (c) 2009 Natanael Copa <ncopa@alpinelinux.org>
|
||||||
|
#
|
||||||
|
# Distributed under GPL-2
|
||||||
|
#
|
||||||
|
# Depends on: busybox utilities, fakeroot,
|
||||||
|
#
|
||||||
|
|
||||||
|
abuild_ver=@VERSION@
|
||||||
|
sysconfdir=@sysconfdir@
|
||||||
|
|
||||||
|
abuild_conf=${ABUILD_CONF:-"$sysconfdir/abuild.conf"}
|
||||||
|
abuild_home=${ABUILD_USERDIR:-"$HOME/.abuild"}
|
||||||
|
abuild_userconf=${ABUILD_USERCONF:-"$abuild_home/abuild.conf"}
|
||||||
|
|
||||||
|
# read config
|
||||||
|
[ -f "$abuild_conf" ] && . "$abuild_conf"
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
else
|
||||||
|
default_name="$USER"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$abuild_home"
|
||||||
|
|
||||||
|
echo "Generating public/private rsa key pair for abuild"
|
||||||
|
echo -n "Enter file in which to save the key ($abuild_home/$default_name.rsa): "
|
||||||
|
|
||||||
|
read line
|
||||||
|
if [ -z "$line" ]; then
|
||||||
|
privkey="$abuild_home/$default_name.rsa"
|
||||||
|
else
|
||||||
|
privkey="$line"
|
||||||
|
fi
|
||||||
|
pubkey="$privkey.pub"
|
||||||
|
|
||||||
|
# generate the private key in a subshell with stricter umask
|
||||||
|
(
|
||||||
|
umask 0077
|
||||||
|
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"
|
||||||
|
echo ""
|
||||||
|
echo "Please remember to make a safe backup of $privkey"
|
||||||
|
echo ""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user