darkside@poseidon /release/weekly/arm $ ls -l current-stage3-armv7* lrwxrwxrwx 1 root root 39 May 5 12:30 current-stage3-armv7a -> 20110503/armv7a-hardfloat-linux-gnueabi lrwxrwxrwx 1 root root 39 May 5 12:30 current-stage3-armv7a_hardfp -> 20110503/armv7a-hardfloat-linux-gnueabi darkside@poseidon /release/weekly/arm $ ls 20110*/armv7*/*.bz2 20110408/armv7a-hardfloat-linux-gnueabi/stage3-armv7a_hardfp-20110408.tar.bz2 20110408/armv7a-unknown-linux-gnueabi/stage3-armv7a-20110408.tar.bz2 20110419/armv7a-unknown-linux-gnueabi/stage3-armv7a-20110419.tar.bz2 20110426/armv7a-hardfloat-linux-gnueabi/stage3-armv7a_hardfp-20110426.tar.bz2 20110503/armv7a-hardfloat-linux-gnueabi/stage3-armv7a_hardfp-20110503.tar.bz2 This is bad for two reasons: 1) It could cause the only variant to fall off the mirrors if no current* symlink references it. 2) It is wrong info.
The critical line is: variant_path=$(find 20* -iname "${v}*" \( -name '*.tar.bz2' -o - iname '*.iso' \) -print | sed -e "s,.*/$a/autobuilds/,,g" | sort -k1,1 -t/ | tail -n1 ) Note that the ${v}* matches both stage3-armv7a & stage3-armv7a_hardfp !! These are the "$v" values: darkside@poseidon /release/weekly/arm $ find 20* \( -iname '*.iso' -o -iname '*.tar.bz2' \) -printf '%f\n' |sed -e 's,-20[012][0-9]\{5\}.*,,g' -r | sort | uniqstage3-armv4tl stage3-armv5tel stage3-armv6j stage3-armv7a stage3-armv7a_hardfp which results in something like: darkside@poseidon /release/weekly/arm $ find 20* -iname "stage3-armv7a*" \( -name '*.tar.bz2' -o -iname '*.iso' \) -print | sed -e "s,.*/$a/autobuilds/,,g" | sort -k1,1 -t/ | tail -n1 20110503/armv7a-hardfloat-linux-gnueabi/stage3-armv7a_hardfp-20110503.tar.bz2
I really can't see why we would need to match $v* instead of just $v, here are all the $v values. Can someone comment? darkside@poseidon /release/weekly $ for i in *; do cd $i; echo -n "PWD: " ;pwd; find 20* \( -iname '*.iso' -o -iname '*.tar.bz2' \) -printf '%f\n' |sed -e 's,-20[012][0-9]\{5\}.*,,g' -r | sort | uniq; cd ../;echo;done PWD: /release/weekly/alpha install-alpha-minimal stage3-alpha PWD: /release/weekly/amd64 install-amd64-minimal stage3-amd64 stage3-amd64-hardened stage3-amd64-hardened+nomultilib PWD: /release/weekly/arm stage3-armv4tl stage3-armv5tel stage3-armv6j stage3-armv7a stage3-armv7a_hardfp PWD: /release/weekly/hppa stage3-hppa1.1 stage3-hppa2.0 PWD: /release/weekly/ia64 install-ia64-minimal stage3-ia64 PWD: /release/weekly/ppc install-powerpc-minimal stage3-ppc stage3-ppc64-32ul stage3-ppc64-64ul PWD: /release/weekly/s390 stage3-s390 stage3-s390x PWD: /release/weekly/sh stage3-sh4 stage3-sh4a PWD: /release/weekly/sparc install-sparc64-minimal stage3-sparc64 stage3-sparc64-multilib PWD: /release/weekly/x86 install-x86-minimal stage3-i486 stage3-i686 stage3-i686-hardened
So, I think this is a one character change to the script. Here is what I'll do: 1) make a backup copy of /release/weekly 2) edit script 3) verify the "fix" didn't remove the wrong files 4) report back Yey or nay on that plan?
FYI, jmbsvicetto told me to go ahead with this and I did, but it didn't go well. I'll try more testing in my sandbox. =/
What about: variant_path=$(find 20* -iname "${v}-*" \( -name '*.tar.bz2' -o - iname '*.iso' \) -print | sed -e "s,.*/$a/autobuilds/,,g" | sort -k1,1 -t/ | tail -n1 ) The only change is adding '-' between ${v} and *
I've applied my fix since it seems to work, i'm leaving this open to confirm it
Seems to work well