diff --git a/tools/config-pre-0.7-to-0.7.sh b/tools/config-pre-0.7-to-0.7.sh new file mode 100755 index 0000000..f83341f --- /dev/null +++ b/tools/config-pre-0.7-to-0.7.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# +# 2008 Nico Schottelius (nico-ccollect at schottelius.org) +# +# This file is part of ccollect. +# +# ccollect is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# ccollect is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with ccollect. If not, see . +# +# Convert configuration to 0.6 layout + +if [ $# -ne 1 ]; then + echo "$0: ccollect-configuration directory" + echo "" + echo " Fix pre 0.7 configuration directories to match 0.7 style" + echo "" + exit 23 +fi + +dir="$1" +script=$(echo $0 | sed 's/\.sh$/.sub.sh/') + +find "${dir}/sources/" -name destination -exec "${script}" {} \; + +echo "Finished." diff --git a/tools/config-pre-0.7-to-0.7.sub.sh b/tools/config-pre-0.7-to-0.7.sub.sh new file mode 100755 index 0000000..4579924 --- /dev/null +++ b/tools/config-pre-0.7-to-0.7.sub.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# +# 2008 Nico Schottelius (nico-ccollect at schottelius.org) +# +# This file is part of ccollect. +# +# ccollect is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# ccollect is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with ccollect. If not, see . +# + +if [ $# -ne 1 ]; then + echo "$0: destination-file" + echo "" + echo " Fix pre 0.7 configuration directories to match 0.6 style (sub)" + echo "" + exit 23 +fi + +tmp=$(mktemp) +file="$1" + +echo "Working on $file ..." + +if [ -L "${file}" ]; then + echo "Converting ${file} ..." + dir="$(cd "${file}" && pwd)"; ret=$? + + if [ $ret -ne 0 ]; then + echo "ERROR: $file is a broken link" + exit 1 + else + echo "${dir}" > "${tmp}" + rm -f "${file}"; ret=$? + if [ $ret -ne 0 ]; then + echo "ERROR: Removing $file failed" + exit 1 + fi + mv "${tmp}" "${file}"; ret=$? + if [ $ret -ne 0 ]; then + echo "ERROR: Moving ${tmp} to ${file} failed, your source is broken." + exit 1 + fi + fi +else + echo "$file is not a link, not converting" + exit 1 +fi