commit f45202acde6a98d9338f162f8ba917b2432580aa
Author: Stephan Witt <[email protected]>
Date:   Thu Jul 23 12:55:02 2015 +0200

    Avoid duplicates of dictionaries and thesauri in distributed package

diff --git a/development/LyX-Mac-binary-release.sh 
b/development/LyX-Mac-binary-release.sh
index fc26c1e..a7f0620 100644
--- a/development/LyX-Mac-binary-release.sh
+++ b/development/LyX-Mac-binary-release.sh
@@ -799,6 +799,21 @@ convert_universal() {
        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() {
        if [ -d "${ASpellInstallDir}" -a "yes" = "${aspell_dictionaries}" ]; 
then
                ASpellResources="${LyxAppPrefix}/Contents/Resources"
@@ -814,11 +829,13 @@ copy_dictionaries() {
                HunSpellResources="${LyxAppPrefix}/Contents/Resources"
                if [ -d "${DictionarySourceDir}" ]; then
                        ( cd "${DictionarySourceDir}" && find dicts -name .svn 
-prune -o -type f -print | cpio -pmdv "${HunSpellResources}" )
+                       deduplicate "${HunSpellResources}"/dicts
                fi
        fi
        if [ -d "${DictionarySourceDir}" -a "yes" = "${thesaurus_deployment}" 
]; then
                MyThesResources="${LyxAppPrefix}/Contents/Resources"
                ( cd "${DictionarySourceDir}" && find thes -name .svn -prune -o 
-type f -print | cpio -pmdv "${MyThesResources}" )
+               deduplicate "${MyThesResources}"/thes
        fi
 }
 

Reply via email to