]> git.deb.at Git - deb/packages.git/commitdiff
extract_changelogs: Fix broken current links
authorFrank Lichtenheld <frank@lichtenheld.de>
Wed, 16 Apr 2008 22:36:22 +0000 (00:36 +0200)
committerFrank Lichtenheld <frank@lichtenheld.de>
Wed, 16 Apr 2008 22:36:22 +0000 (00:36 +0200)
Happens mostly due to removal of packages from unstable.

bin/extract_changelogs

index 7d6f3e4769bafb894f7469b1b5c26443db6b2c80..9a85a7dc51e8f41f6f28aead28fd549b1fa48381 100755 (executable)
@@ -40,13 +40,28 @@ for part in $parts; do
 done
 
 if [ "$successful" -eq 1 ]; then
-    find "${htmldir}/changelogs/" -name log -cmin +14440 \
+    find -H "${htmldir}/changelogs/" -name log -cmin +14440 \
      | while read logfile; do
        dir=$(dirname "$logfile")
        echo deleting $dir
        rm -r "$dir"
        rmdir --ignore-fail-on-non-empty $(dirname "$dir")
     done
+    cdir=$(pwd)
+    find -H "${htmldir}/changelogs/" -name current -not -xtype d \
+     | while read link; do
+       dir=$(dirname "$link")
+       echo repairing current link $link
+       rm -v "$link"
+       target=$(ls -t1 "$dir" | tail -n1)
+       if [ -n "$target" ]; then
+               cd $dir && ln -sv $target current
+               cd $cdir
+       else
+               rmdir -v $dir
+       fi
+    done
+
 else
     echo clean-up skipped because at least one of the extraction runs failed >&2
 fi