[61108] trunk/dports/_resources/port1.0/group/muniversal-1.0.tcl
ryandesign at macports.org
ryandesign at macports.org
Tue Dec 1 19:34:14 PST 2009
Revision: 61108
http://trac.macports.org/changeset/61108
Author: ryandesign at macports.org
Date: 2009-12-01 19:34:12 -0800 (Tue, 01 Dec 2009)
Log Message:
-----------
muniversal-1.0.tcl: compare contents of compressed files, not the compressed files themselves; see #22650
Modified Paths:
--------------
trunk/dports/_resources/port1.0/group/muniversal-1.0.tcl
Modified: trunk/dports/_resources/port1.0/group/muniversal-1.0.tcl
===================================================================
--- trunk/dports/_resources/port1.0/group/muniversal-1.0.tcl 2009-12-02 03:18:19 UTC (rev 61107)
+++ trunk/dports/_resources/port1.0/group/muniversal-1.0.tcl 2009-12-02 03:34:12 UTC (rev 61108)
@@ -503,14 +503,42 @@
switch -glob ${fl} {
*.jar {
# jar files can be different becasue of timestamp
- ui_debug "universal: merge: ${prefixDir}/${fl} is different in ${base1} and ${base2}; assume timestamp difference"
+ ui_debug "universal: merge: ${prefixDir}/${fl} differs in ${base1} and ${base2}; assume timestamp difference"
copy ${dir1}/${fl} ${dir}
}
*.elc {
# elc files can be different because they record when and where they were built.
- ui_debug "universal: merge: ${prefixDir}/${fl} is different in ${base1} and ${base2}; assume trivial difference"
+ ui_debug "universal: merge: ${prefixDir}/${fl} differs in ${base1} and ${base2}; assume trivial difference"
copy ${dir1}/${fl} ${dir}
}
+ *.gz -
+ *.bz2 {
+ # compressed files can differ due to entropy
+ switch -glob ${fl} {
+ *.gz {
+ set cat /usr/bin/gzcat
+ }
+ *.bz2 {
+ set cat /usr/bin/bzcat
+ }
+ }
+ set tempdir [mkdtemp "/tmp/muniversal.XXXXXXXX"]
+ set tempfile1 "${tempdir}/${arch1}-[file rootname ${fl}]"
+ set tempfile2 "${tempdir}/${arch2}-[file rootname ${fl}]"
+ system "${cat} ${dir1}/${fl} > ${tempfile1}"
+ system "${cat} ${dir2}/${fl} > ${tempfile2}"
+ set identical "no"
+ if { ! [catch {system "/usr/bin/cmp -s ${tempfile1} ${tempfile2}"}] } {
+ # files are identical
+ ui_debug "universal: merge: ${prefixDir}/${fl} differs in ${base1} and ${base2} but the contents are the same"
+ set identical "yes"
+ copy ${dir1}/${fl} ${dir}
+ }
+ delete ${tempfile1} ${tempfile2} ${tempdir}
+ if {${identical}=="no"} {
+ return -code error "${prefixDir}/${fl} differs in ${base1} and ${base2} and cannot be merged"
+ }
+ }
default {
return -code error "${prefixDir}/${fl} differs in ${base1} and ${base2} and cannot be merged"
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20091201/951a94ae/attachment.html>
More information about the macports-changes
mailing list