From: Yaroslav Halchenko Date: Wed, 6 Aug 2014 20:30:40 +0000 (-0400) Subject: Support popularity-contest >= 1.61 encrypting submissions X-Git-Url: https://git.donarmstrong.com/?p=neurodebian.git;a=commitdiff_plain;h=f0f927adb0bb0b73b55a7da2f8f70018c97a56fd Support popularity-contest >= 1.61 encrypting submissions - provide GPG public key for encryption of submissions --- diff --git a/debian/changelog b/debian/changelog index 2f339f6..7d7dd34 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +neurodebian (0.33~a1) UNRELEASED; urgency=medium + + * Support popularity-contest >= 1.61 encrypting submissions: + - provide GPG public key for encryption of submissions + + -- Yaroslav Halchenko Wed, 06 Aug 2014 16:21:04 -0400 + neurodebian (0.32) neurodebian; urgency=low [ Michael Hanke ] diff --git a/debian/neurodebian-popularity-contest.dirs b/debian/neurodebian-popularity-contest.dirs new file mode 100644 index 0000000..ff41a38 --- /dev/null +++ b/debian/neurodebian-popularity-contest.dirs @@ -0,0 +1,2 @@ +usr/share/popularity-contest +etc/popularity-contest.d diff --git a/debian/neurodebian-popularity-contest.install b/debian/neurodebian-popularity-contest.install new file mode 100644 index 0000000..88ddd33 --- /dev/null +++ b/debian/neurodebian-popularity-contest.install @@ -0,0 +1,2 @@ +popcon/neurodebian.conf /etc/popularity-contest.d +popcon/neurodebian-popcon.gpg /usr/share/popularity-contest diff --git a/debian/neurodebian-popularity-contest.postinst b/debian/neurodebian-popularity-contest.postinst index 3bb1437..fb003d5 100755 --- a/debian/neurodebian-popularity-contest.postinst +++ b/debian/neurodebian-popularity-contest.postinst @@ -1,8 +1,25 @@ #!/bin/bash -e +# following to be duplicated within postrm as well, but may be with +# "Removing" message popcon_conf=/etc/popularity-contest.conf -if [ "$1" = "configure" -o "$1" = "abort-upgrade" ]; then +nd_popcon_conf=/etc/popularity-contest.d/neurodebian.conf +remove_neurodebian_popcon_pre161() { # Adjust popularity-contest.conf + if [ -e "$popcon_conf" ] \ + && grep -q "http://neuro.debian.net/cgi-bin/popcon-submit.cgi" $popcon_conf; then + #echo "Removing NeuroDebian url for Popularity Contest submissions." + # First remove any explicit mentioning and then empty additions + sed -i -e 's,http://neuro.debian.net/cgi-bin/popcon-submit.cgi,,g' \ + -e '/SUBMITURLS+=" *"/d' \ + -e '/SUBMITURLS="$SUBMITURLS *"/d' \ + "$popcon_conf" + fi +} + +add_neurodebian_popcon_pre161() { + # Adjust main popularity-contest configuration file. Should be + # used only with older versions of the popularity contest. if [ -e "$popcon_conf" ]; then # Fix dashism missing += operator if grep -q 'SUBMITURLS+="' "$popcon_conf"; then @@ -14,6 +31,26 @@ if [ "$1" = "configure" -o "$1" = "abort-upgrade" ]; then echo -e 'SUBMITURLS="$SUBMITURLS http://neuro.debian.net/cgi-bin/popcon-submit.cgi"' >> "$popcon_conf" fi fi +} + +add_neurodebian_popcon_161() { + # 1.60 introduced encryption and a way to provide multiple keys to + # encrypt submissions to multiple servers. + + # "Installation" is taken care of through installing files under + # /etc/popularity-contest.d, so no additional actions necessary here + : +} + +popcon_version=$(dpkg -l popularity-contest | tail -n 1 | awk '{print $3;}') + +if [ "$1" = "configure" -o "$1" = "abort-upgrade" ]; then + if dpkg --compare-versions $popcon_version lt 1.61; then + add_neurodebian_popcon_pre161 + else + # Assure that we have no "old" settings for submission + remove_neurodebian_popcon_pre161 || : + fi fi #DEBHELPER# diff --git a/debian/neurodebian-popularity-contest.postrm b/debian/neurodebian-popularity-contest.postrm index 6615555..92bb35d 100755 --- a/debian/neurodebian-popularity-contest.postrm +++ b/debian/neurodebian-popularity-contest.postrm @@ -2,11 +2,12 @@ #DEBHELPER# -# If requested to be purged -- remove our entry popcon_conf=/etc/popularity-contest.conf -if [ "$1" = "purge" ]; then +nd_popcon_conf=/etc/popularity-contest.d/neurodebian.conf +remove_neurodebian_popcon_pre161() { # Adjust popularity-contest.conf - if [ -e "$popcon_conf" ]; then + if [ -e "$popcon_conf" ] \ + && grep -q "http://neuro.debian.net/cgi-bin/popcon-submit.cgi" $popcon_conf; then echo "Removing NeuroDebian url for Popularity Contest submissions." # First remove any explicit mentioning and then empty additions sed -i -e 's,http://neuro.debian.net/cgi-bin/popcon-submit.cgi,,g' \ @@ -14,4 +15,9 @@ if [ "$1" = "purge" ]; then -e '/SUBMITURLS="$SUBMITURLS *"/d' \ "$popcon_conf" fi +} + +# If requested to be purged -- remove our entry +if [ "$1" = "purge" ]; then + remove_neurodebian_popcon_pre161 fi diff --git a/popcon/neurodebian-popcon.gpg b/popcon/neurodebian-popcon.gpg new file mode 100644 index 0000000..d5e8c9b Binary files /dev/null and b/popcon/neurodebian-popcon.gpg differ diff --git a/popcon/neurodebian.conf b/popcon/neurodebian.conf new file mode 100644 index 0000000..5d0ecee --- /dev/null +++ b/popcon/neurodebian.conf @@ -0,0 +1,3 @@ +KEYRING="$KEYRING --keyring /usr/share/popularity-contest/neurodebian-popcon.gpg" +POPCONKEY="$POPCONKEY -r 0x544665CB8B48DE1D" +SUBMITURLS="$SUBMITURLS http://neuro.debian.net/cgi-bin/popcon-submit.cgi"