#!/bin/bash if [ "$1" = "--debug" ]; then DEBUG="echo" fi HOMEDIR=$(pwd) ROOTDIR=/anonftp/ftp/mirrors/ftp.gnome.org FIND=find XARGS=xargs SOURCEDIRS="stable/sources/ unstable/sources/ pre-gnome2/sources/ 2.0.1/sources/ 2.0.2/sources/" if cd $ROOTDIR 2> /dev/null; then : ; else echo "ROOTDIR does not exist!" exit 1 fi echo echo "Creating new root directories..." mkdir platform desktop fifth-toe hacker-tools office teams echo echo "Removing cruft, making custom changes and release directories..." rm -rf -- contrib extra-src i18n testing 2.0.0 pre-gnome2/sources/gedit $FIND stable/releases/pre-1.0/gnome-0.25 -type l | $XARGS rm -- $FIND -type l -name "enlightenment-conf-*" -o -name "xml-i18n-tool-*" -o -name "xalf-0.12.tgz" -o -name "esound-0.2.23.tar.bz2" -o -name "procman-1.1.2.tar.*" -o -name "merlin-cpufire-*" -o -name "Lokkit-*" -o -name "googlizer.tar.gz" | $XARGS rm -- for MANIFEST in $(cat $HOMEDIR/gnome-ftp-migrate.data); do export $(echo $MANIFEST | sed 's/^\(.*\):\(.*\)/FROM=\1 TO=\2/') mkdir -p $TO mv $FROM $TO done echo echo "Moving tarballs to single sources tree..." for MODDIR in $(find $SOURCEDIRS -type d -mindepth 1 -maxdepth 1); do MODULE=$(basename $MODDIR) # use all of the tarballs called $MODULE*, so we can pick up stuff like # gedit2, etc. for TARBALL in $(find $MODDIR -type f -iname "$MODULE*.tar.gz"); do MODULE=$(echo $TARBALL | sed "s#.*/\([A-Za-z0-9\_\+\-]*\)-[[:digit:]].*.tar.gz#\1#i") VERSION=$(echo $TARBALL | sed "s#.*/$MODULE-\(.*\).tar.gz#\1#i") MAJMIN=$(echo $VERSION | sed "s#\([[:digit:]]\+\.[[:digit:]]\+\).*#\1#i") if [ -z $DEBUG ]; then : ; else echo echo "---" echo "tarball: $TARBALL" echo " moddir: $MODDIR" echo " module: $MODULE" echo "version: $VERSION" echo " majmin: $MAJMIN" echo fi mkdir -p sources/$MODULE/$MAJMIN/ mv $(dirname $TARBALL)/$MODULE-$VERSION.tar.* sources/$MODULE/$MAJMIN/ mv $(dirname $TARBALL)/$MODULE-*-$VERSION.diff.* sources/$MODULE/$MAJMIN/ 2> /dev/null if [ -L $(dirname $TARBALL)/LATEST-IS-$VERSION ]; then rm -f -- sources/$MODULE/$MAJMIN/LATEST-IS-* mv $(dirname $TARBALL)/LATEST-IS-$VERSION sources/$MODULE/$MAJMIN/ fi done done echo echo "Moving old directories to archive..." mkdir archive mv GDP stable unstable pre-gnome2 2.0.1 2.0.2 archive/ echo echo "Relinking release sources..." for SYMLINK in $(find platform desktop fifth-toe hacker-tools office -type l); do BASENAME=$(basename $SYMLINK) DIRNAME=$(dirname $SYMLINK) MODULE=$(echo $SYMLINK | sed "s#.*/\([A-Za-z0-9\_\+\-]*\)-[[:digit:]].*.tar.*#\1#i") VERSION=$(echo $SYMLINK | sed "s#.*/$MODULE-\(.*\).tar.*#\1#i") MAJMIN=$(echo $VERSION | sed "s#\([[:digit:]]\+\.[[:digit:]]\+\).*#\1#i") if [ -z $DEBUG ]; then : ; else echo echo "---" echo "symlink: $SYMLINK" echo "dirname: $DIRNAME" echo " module: $MODULE" echo "version: $VERSION" echo " majmin: $MAJMIN" echo fi rm -- $SYMLINK cd $DIRNAME ln -s ../../../../sources/$MODULE/$MAJMIN/$BASENAME $BASENAME cd - done cd $HOMEDIR