Avoid duplicates of dictionaries and thesauri in distributed package

This commit is contained in:
Stephan Witt 2015-07-23 12:55:02 +02:00
parent 19600aca71
commit f45202acde

View File

@ -799,6 +799,21 @@ convert_universal() {
done done
} }
deduplicate() {
find "$@" -type f -print | while read file ; do
echo $(md5 -q "$file") "$file"
done | sort | while read hash file ; do
if [ "$phash" = "$hash" ]; then
cmp -s "$pfile" "$file" && (
rm "$file"
ln -s "$pfile" "$file" && echo link for "$file" created
)
fi
phash="$hash"
pfile="$file"
done
}
copy_dictionaries() { copy_dictionaries() {
if [ -d "${ASpellInstallDir}" -a "yes" = "${aspell_dictionaries}" ]; then if [ -d "${ASpellInstallDir}" -a "yes" = "${aspell_dictionaries}" ]; then
ASpellResources="${LyxAppPrefix}/Contents/Resources" ASpellResources="${LyxAppPrefix}/Contents/Resources"
@ -814,11 +829,13 @@ copy_dictionaries() {
HunSpellResources="${LyxAppPrefix}/Contents/Resources" HunSpellResources="${LyxAppPrefix}/Contents/Resources"
if [ -d "${DictionarySourceDir}" ]; then if [ -d "${DictionarySourceDir}" ]; then
( cd "${DictionarySourceDir}" && find dicts -name .svn -prune -o -type f -print | cpio -pmdv "${HunSpellResources}" ) ( cd "${DictionarySourceDir}" && find dicts -name .svn -prune -o -type f -print | cpio -pmdv "${HunSpellResources}" )
deduplicate "${HunSpellResources}"/dicts
fi fi
fi fi
if [ -d "${DictionarySourceDir}" -a "yes" = "${thesaurus_deployment}" ]; then if [ -d "${DictionarySourceDir}" -a "yes" = "${thesaurus_deployment}" ]; then
MyThesResources="${LyxAppPrefix}/Contents/Resources" MyThesResources="${LyxAppPrefix}/Contents/Resources"
( cd "${DictionarySourceDir}" && find thes -name .svn -prune -o -type f -print | cpio -pmdv "${MyThesResources}" ) ( cd "${DictionarySourceDir}" && find thes -name .svn -prune -o -type f -print | cpio -pmdv "${MyThesResources}" )
deduplicate "${MyThesResources}"/thes
fi fi
} }