[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] pointrelease: get files from release team via https, ask for confirmation sometimes



---
 config/debian/pointrelease | 58 +++++++++++++++++++++++++++++-----------------
 1 file changed, 37 insertions(+), 21 deletions(-)

diff --git a/config/debian/pointrelease b/config/debian/pointrelease
index a26d03d..acad5d2 100755
--- a/config/debian/pointrelease
+++ b/config/debian/pointrelease
@@ -57,6 +57,13 @@ function usage() {
     echo "Default for suite is jessie, version defaults to last plus one"
 }
 
+confirm() {
+    local y=N
+    while [ "${y}" != "y" ]; do
+        read -p "Continue [y/N]?" y
+    done
+}
+
 # Arguments, we like
 while getopts ":hs:v:" OPTION; do
     case ${OPTION} in
@@ -113,6 +120,7 @@ dak control-suite -l ${suite} > ${suite}.list
 
 echo "Is there anything to skip in this release? If so, please enter source package names, whitespace seperated, if not just hit enter"
 read -e -p "Source packages: " skiplist
+confirm
 if [[ -n ${skiplist} ]]; then
   mv ${pusuite}.list ${pusuite}.list.ori
   grep -vFf <(dak ls -f heidi -S -s ${pusuite} ${skip}) ${pusuite}.list.ori > ${pusuite}.list
@@ -125,6 +133,7 @@ chmod 0644 ${tmpfile}
 mv ${tmpfile} ${ftpdir}/dists/${suite}/ChangeLog
 if [[ -n ${skiplist} ]]; then
     echo "Please edit to remove the changelogs for the skipped packages"
+    confirm
     $EDITOR ${ftpdir}/dists/${suite}/ChangeLog
     rm -f ${ftpdir}/dists/${suite}/ChangeLog~
 fi
@@ -145,17 +154,27 @@ fi
 
 log "Checking for r0 additions and propups"
 cd ~/${suitename}_${newrev}
-if [[ -f /srv/release.debian.org/www/${suitename}/${newrev%%.*}/${newrev}/${suitename}-r0-additions.cs ]]; then
-    cp /srv/release.debian.org/www/${suitename}/${newrev%%.*}/${newrev}/${suitename}-r0-additions.cs .
-    dak control-suite --add ${suitename}-r0 < ${suitename}-r0-additions.cs
+release_base=https://release.debian.org/${suitename}/${newrev%%.*}/${newrev}
+
+f=${suitename}-r0-additions.cs
+if wget -O "${f}" "${release_base}/${f}"; then
+    echo "Please check ${f}"
+    confirm
+    dak control-suite --add ${suitename}-r0 < ${f}
 fi
-if [[ -f /srv/release.debian.org/www/${suitename}/${newrev%%.*}/${newrev}/propups.unstable ]]; then
-    cp /srv/release.debian.org/www/${suitename}/${newrev%%.*}/${newrev}/propups.unstable .
-    dak control-suite --force --add unstable <propups.unstable
+
+f=propups.unstable
+if wget -O "${f}" "${release_base}/${f}"; then
+    echo "Please check ${f}"
+    confirm
+    dak control-suite --force --add unstable < ${f}
 fi
-if [[ -f /srv/release.debian.org/www/${suitename}/${newrev%%.*}/${newrev}/propups.testing ]]; then
-    cp /srv/release.debian.org/www/${suitename}/${newrev%%.*}/${newrev}/propups.testing .
-    dak control-suite --force --add testing <propups.testing
+
+f=propups.testing
+if wget -O "${f}" "${release_base}/${f}"; then
+    echo "Please check ${f}"
+    confirm
+    dak control-suite --force --add testing < ${f}
 fi
 
 log "RM time"
@@ -177,6 +196,7 @@ done
 
 if [[ ${hadrms} -ne 0 ]]; then
     echo "You did some removals, please copy their entries into the changelog"
+    confirm
     $EDITOR ${ftpdir}/dists/${suite}/ChangeLog ${webdir}/removals.txt
 fi
 
@@ -184,6 +204,7 @@ log "Checking for d-i updates"
 echo "Are there d-i updates? Empty version string, if not."
 echo "Seperate old version to move to morgue by space."
 read -e -p "d-i updates: " diver dioldver
+confirm
 
 if [[ -n ${diver} ]]; then
     log "Installing new d-i version ${diver}"
@@ -295,19 +316,14 @@ log "Release file generated, waiting for RMs checking and (hopefully) signing"
 
 # Remove InRelease: Release can be signed by both ftpmaster & stable release keys
 rm ${ftpdir}/dists/${suite}/InRelease
-cd ${ftpdir}/dists/${suite}
-releasefile=/srv/release.debian.org/www/${suitename}/${newrev%%.*}/${newrev}/Release-${newrev}.gpg
-while :; do
-    if [[ -f ${releasefile} ]]; then
-        cat ${releasefile} >> Release.gpg
-        gpg --no-default-keyring --keyring /usr/share/keyrings/debian-archive-keyring.gpg --trust-model=always --verify Release.gpg Release
-        break
-    else
-        echo -n "."
-        sleep 10
-        continue
-    fi
+releasefile=Release-${newrev}.gpg
+cd ~/${suitename}_${newrev}
+while ! wget -O "${releasefile}" "${release_base}/${releasefile}"; do
+    sleep 10
 done
+cd ${ftpdir}/dists/${suite}
+cat ~/${suitename}_${newrev}/${releasefile} >> Release.gpg
+gpg --no-default-keyring --keyring /usr/share/keyrings/debian-archive-keyring.gpg --trust-model=always --verify Release.gpg Release
 echo "Done. Is a mirrorpush needed? Or just one to the cd-builder?"
 read -e -p "Mirrorpush? no/cd/yes" -i "cd" mirrorpush
 
-- 
2.1.4


Reply to: