From 8c822383656f8dc451c574a0dc1b957d4bde31bf Mon Sep 17 00:00:00 2001 From: Konano Date: Fri, 8 Nov 2024 17:55:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(configure=5Fuser.sh):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=20GPG=20=E9=85=8D=E7=BD=AE=E5=92=8C=20Git=20GPG=20=E7=AD=BE?= =?UTF-8?q?=E5=90=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configure_user.sh | 49 +++++++++++++++++++++++++++++++++++----------- files/git.key.zip | Bin 0 -> 6722 bytes 2 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 files/git.key.zip diff --git a/configure_user.sh b/configure_user.sh index c3ef7e0..707ac7c 100755 --- a/configure_user.sh +++ b/configure_user.sh @@ -37,6 +37,41 @@ configure_git() { fi } +configure_gpg() { + [ -d ~/.gnupg ] && [ -f ~/.gnupg/gpg.conf ] && return + + if confirm_action "要配置 gpg 吗?" "Y"; then + mkdir -p ~/.gnupg + chmod 700 ~/.gnupg + cp $scriptdir/files/gpg.conf ~/.gnupg/gpg.conf + fi +} + +configure_git_gpg() { + [ ! -f ~/.gitconfig ] && return + ! command_exists git && return + [ -n "$(git config --global user.signingkey)" ] && return + + if confirm_action "要配置 git 使用 gpg 签名吗?" "N"; then + if ! command_exists 7za; then + echo "7zip 未安装,请运行 sudo apt install p7zip-full 安装" + return + fi + read_password + cp $scriptdir/files/git.key.zip $tempdir/git.key.zip + 7za x -p$password $tempdir/git.key.zip -o$tempdir > /dev/null 2>&1 + rm $tempdir/git.key.zip + if [ ! -s $tempdir/git.key ]; then + echo "Wrong password!" + return + fi + gpg --import $tempdir/git.key + rm $tempdir/git.key + git config --global user.signingkey 4ACB54FB3EFF978038BFB374A523E440E24B89CF + git config --global commit.gpgSign true + fi +} + configure_miniconda() { [ -d ~/.miniconda3 ] && return [ $offline -eq 1 ] && return @@ -85,16 +120,6 @@ configure_nvm() { fi } -configure_gpg() { - [ -d ~/.gnupg ] && [ -f ~/.gnupg/gpg.conf ] && return - - if confirm_action "要配置 gpg 吗?" "Y"; then - mkdir -p ~/.gnupg - chmod 700 ~/.gnupg - cp $scriptdir/files/gpg.conf ~/.gnupg/gpg.conf - fi -} - # ============================================================ if [ $# -ne 0 ]; then @@ -102,6 +127,7 @@ if [ $# -ne 0 ]; then declare -F configure_$func >/dev/null || continue echo "Configuring $func..." eval "configure_$func" + unset -f configure_$func done return fi @@ -109,7 +135,8 @@ fi configure_ssh configure_ssh_keygen configure_git +configure_gpg +configure_git_gpg configure_miniconda configure_miniforge configure_nvm -configure_gpg diff --git a/files/git.key.zip b/files/git.key.zip new file mode 100644 index 0000000000000000000000000000000000000000..09ff79beb00bfc51f03d41d889307e35da5c44ff GIT binary patch literal 6722 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 PpSAc;NB<*50Kk6%