eclipse/eclipse-reconciler.sh
Sami Wagiaalla 1eeb3a573c Fix .so removal issue.
- Stop using -clean option.
- Use -Dosgi.checkConfiguration=true when updating the platform.
- Remove cache.timestamps and .bundledata* when running the reconciler
  with -Dosgi.checkConfiguration=true.
- Do not verify %{_libdir}/%{name}/artifacts.xml.
2011-11-29 14:13:51 -05:00

78 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# This script runs the eclipse can do the following:
# - backup configuration files
# - restore configuration files from backup loation
# - run the eclipse reconciler
# - delete the backup files.
# A list of the files of directory that are to be backed up
config_files=("artifacts.xml" "eclipse.ini" "p2" "configuration")
# If the reconciler was run with the -clean options rerun the initializer.
if [[ "$@" == *-clean* ]]
then
echo "Do not run the reconciler with -clean option use -vmargs -Dosgi.checkConfiguration=true instead"
exit 0;
fi
if [ ! -e /var/run/eclipse/run-reconciler ] && [[ "$@" != *-Dosgi.checkConfiguration=true* ]]
then
echo "run-reconciler file not present. No need to run the reconciler"
exit 0
fi
tmp_dir=/var/run/eclipse
if [ -e /usr/lib64/eclipse ]
then
eclipse_dir=/usr/lib64/eclipse
else
eclipse_dir=/usr/lib/eclipse
fi
echo "Removing run-reconciler file"
rm -f /var/run/eclipse/run-reconciler
# if we are running the reconciler with -Dosgi.checkConfiguration=true
# probably doing an upgrade remove time stamp file(s).
if [[ "$@" == *-Dosgi.checkConfiguration=true* ]]
then
find $eclipse_dir -name cache.timestamps -delete
find $eclipse_dir -name .bundledata* -delete
fi
echo "backing up configuration files"
for file in ${config_files[@]}
do
echo $file
cp -rp $eclipse_dir/$file $tmp_dir/$file
done
echo "Running eclipse reconciler"
pushd $eclipse_dir
./eclipse --launcher.suppressErrors -nosplash -consolelog -application org.eclipse.equinox.p2.reconciler.application "$@"
r_exit_value=$?
# Check exit value
if [ ! $r_exit_value -eq 0 ]
then
# Restore files
echo "Reconciler failed. Restoring files"
for file in ${config_files[@]}
do
echo $file
cp --remove-destination -Trp $tmp_dir/$file $eclipse_dir/$file
done
fi
popd
# delete the backup files
for file in ${config_files[@]}
do
rm -rf $tmp_dir/$file
done
exit $r_exit_value