From 391ffe388cdee37383152051fdecec5cb4ce4044 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Tue, 14 Aug 2018 21:03:35 -0400 Subject: update refresh-keyring script --- bin/refresh-keyring | 33 ++++++++++++++++------- skel/Desktop/parabola-irc.desktop | 2 +- skel/parabola-irc.sh | 55 +++++++++++++++++++++++---------------- 3 files changed, 57 insertions(+), 33 deletions(-) mode change 100755 => 100644 skel/parabola-irc.sh diff --git a/bin/refresh-keyring b/bin/refresh-keyring index 880364b..b807bf9 100755 --- a/bin/refresh-keyring +++ b/bin/refresh-keyring @@ -1,13 +1,26 @@ #!/bin/bash +readonly PACMAN_GNUPG_BACKUP_DIR=/etc/pacman.d.gnupg-backup-$(date '+%s') -pacman -Sy --noconfirm archlinux-keyring \ - archlinux32-keyring \ - archlinuxarm-keyring \ - parabola-keyring && \ -pacman-key --init && \ -pacman-key --populate archlinux \ - archlinux32 \ - archlinuxarm \ - parabola && \ -pacman-key --refresh-keys + +mv /etc/pacman.d/gnupg $PACMAN_GNUPG_BACKUP_DIR 2> /dev/null +if sudo pacman -Scc && + sudo pacman -Syy --noconfirm archlinux-keyring \ + archlinux32-keyring \ + archlinuxarm-keyring \ + parabola-keyring && + sudo pacman-key --init && + sudo pacman-key --populate archlinux \ + archlinux32 \ + archlinuxarm \ + parabola && + sudo pacman-key --refresh-keys +then echo "the parabola keyring has been refreshed" + rm -rf $PACMAN_GNUPG_BACKUP_DIR +else echo "there was a problem refreshing the parabola keyring" + if [ -d "$PACMAN_GNUPG_BACKUP_DIR" ] + then rm -rf /etc/pacman.d/gnupg 2> /dev/null + mv $PACMAN_GNUPG_BACKUP_DIR /etc/pacman.d/gnupg + else echo "/etc/pacman.d/gnupg is locked" + fi +fi diff --git a/skel/Desktop/parabola-irc.desktop b/skel/Desktop/parabola-irc.desktop index e760c40..6e336f5 100644 --- a/skel/Desktop/parabola-irc.desktop +++ b/skel/Desktop/parabola-irc.desktop @@ -6,7 +6,7 @@ Name[es_ES]=Canal de IRC de la Parabola Name[fr]=Canal IRC de Parabola Name[gl_ES]=Canle IRC da Parabola Name[pt_BR]=Canal de IRC da Parabola -Exec=pidgin +Exec=sh -c "~/parabola-irc.sh" Icon=pidgin StartupNotify=true Terminal=false diff --git a/skel/parabola-irc.sh b/skel/parabola-irc.sh old mode 100755 new mode 100644 index b457e71..3f87fa7 --- a/skel/parabola-irc.sh +++ b/skel/parabola-irc.sh @@ -1,32 +1,43 @@ #!/bin/bash -DEFAULT_NICK='parabola-user' # ASSERT: as defined in ~/.purple/accounts.xml and ~/.purple/blist.xml +readonly DEFAULT_NICK='parabola-user' # ASSERT: as defined in ~/.purple/accounts.xml and ~/.purple/blist.xml +readonly NETWORK='@irc.freenode.net' +readonly DEFAULT_ACCOUNT="${DEFAULT_NICK}${NETWORK}" +readonly CURRENT_NICK=$(grep '.*' ~/.purple/accounts.xml | sed "s|.*\(.*\)${NETWORK}.*|\1|") +readonly KEEP_NICK_MSG="Your Parabola IRC nick-name is currently '${CURRENT_NICK}'.\n\n \ +Would you like to keep this nick-name, or choose another?\n\n \ +Note that choosing another will delete any changes you have may have made to pidgin." -if [ -z "$(grep $DEFAULT_NICK@irc.freenode.net ~/.purple/accounts.xml)" ] || \ - [ -z "$(grep $DEFAULT_NICK@irc.freenode.net ~/.purple/blist.xml )" ] -then if zenity --question --width=320 \ - --title="Parabola IRC Login" \ - --text="The default 'parabola-user' freenode IRC account has been modified. \ -This desktop shortcut is only for that account. You can either restore Pidgin to it's default \ -configuration (deleting any changes you have made); or delete this shortcut from the desktop." \ - --ok-label="Reset Pidgin completely" \ - --cancel-label="Remove this desktop shortcut" +# gxmessage -title "Parabola IRC Login" \ +# -buttons "Choose a different nick-name:0,Keep this nickname:1" \ +# -default "Choose a different nick-name" \ +# -geometry 620x460 \ +# -center -wrap -ontop -sticky \ +# "$KEEP_NICK_MSG" +# if which gxmessage > /dev/null +if which zenity > /dev/null +then if (diff ~/.purple/accounts.default.xml ~/.purple/accounts.xml > /dev/null && \ + diff ~/.purple/blist.default.xml ~/.purple/blist.xml > /dev/null ) || \ + zenity --question --width=480 \ + --title="Parabola IRC Login" \ + --text="${KEEP_NICK_MSG}" \ + --ok-label="Choose a different nick-name" \ + --cancel-label="Keep this nick-name" then cp ~/.purple/accounts.default.xml ~/.purple/accounts.xml cp ~/.purple/blist.default.xml ~/.purple/blist.xml - else rm ~/Desktop/parabola-irc.desktop - rm ~/parabola-irc.sh - exit - fi -fi -nick=$(zenity --entry --width=320 \ - --title="Parabola IRC Login" \ - --text="Choose a nick-name:" \ - --entry-text=$DEFAULT_NICK ) -nick=${nick// /} ; [ "$nick" ] || nick=$DEFAULT_NICK ; + nick=$(zenity --entry --width=320 \ + --title="Parabola IRC Login" \ + --text="Choose a nick-name:" \ + --entry-text=${DEFAULT_NICK} ) + nick=${nick// /} ; [ "$nick" ] || nick=${DEFAULT_NICK} ; -sed -i "s|$DEFAULT_NICK@irc.freenode.net|$nick@irc.freenode.net|" ~/.purple/accounts.xml -sed -i "s|$DEFAULT_NICK@irc.freenode.net|$nick@irc.freenode.net|" ~/.purple/blist.xml + sed -i "s|${DEFAULT_ACCOUNT}|${nick}${NETWORK}|" ~/.purple/accounts.xml + sed -i "s|${DEFAULT_ACCOUNT}|${nick}${NETWORK}|" ~/.purple/blist.xml + else sed -i 's|^Exec=.*|Exec=pidgin|' ~/Desktop/parabola-irc.desktop + rm $0 + fi +fi pidgin -- cgit v1.2.2