From c09266504a422a214d11b9fbca9edfc52b362cc9 Mon Sep 17 00:00:00 2001
From: James Turner <zakalawe@mac.com>
Date: Tue, 24 Feb 2015 11:41:58 +0000
Subject: [PATCH] Revised Mac package script

---
 hudson_mac_package_release.rb | 59 +++++++++++------------------------
 1 file changed, 19 insertions(+), 40 deletions(-)

diff --git a/hudson_mac_package_release.rb b/hudson_mac_package_release.rb
index 74e1d54..71da5fe 100755
--- a/hudson_mac_package_release.rb
+++ b/hudson_mac_package_release.rb
@@ -22,19 +22,15 @@ puts "Code signing identity is #{$codeSignIdentity}"
 
 puts "osgVersion=#{osgVersion}, so-number=#{$osgSoVersion}"
 
-$svnLibs = ['svn_client', 'svn_wc', 'svn_delta', 'svn_diff', 'svn_ra', 
-  'svn_ra_local', 'svn_repos', 'svn_fs', 'svn_fs_fs', 'svn_fs_util',
-  'svn_ra_svn', 'svn_subr', 'svn_ra_neon']
-
 def fix_install_names(object)
   #puts "fixing install names for #{object}"
-  
+
   $osgLibs.each do |l|
     oldName = "lib#{l}.#{$osgSoVersion}.dylib"
     newName = "@executable_path/../Frameworks/#{oldName}"
     `install_name_tool -change #{oldName} #{newName} #{object}`
   end
-  
+
   oldName = "libOpenThreads.#{$openThreadsSoVersion}.dylib"
   newName= "@executable_path/../Frameworks/#{oldName}"
   `install_name_tool -change #{oldName} #{newName} #{object}`
@@ -44,25 +40,6 @@ $prefixDir=Dir.pwd + "/dist"
 dmgDir=Dir.pwd + "/image"
 srcDir=Dir.pwd + "/flightgear"
 
-def fix_svn_install_names(object)
-  $svnLibs.each do |l|
-    fileName = "lib#{l}-1.0.dylib"
-    newName = "@executable_path/../Frameworks/#{fileName}"
-    `install_name_tool -change #{fileName} #{newName} #{object}`
-  end
-end
-
-def copy_svn_libs()
-  puts "Copying Subversion client libraries"
-  $svnLibs.each do |l|
-    libFile = "lib#{l}-1.0.dylib"
-    path = "#{$frameworksDir}/#{libFile}"
-    `cp #{$prefixDir}/lib/#{libFile} #{$frameworksDir}`
-    fix_svn_install_names(path)
-   # `install_name_tool -id #{libFile}  #{path}`    
-  end
-end
-
 def code_sign(path)
   puts "Signing #{path}"
   `codesign -s "#{$codeSignIdentity}" #{path}`
@@ -72,6 +49,17 @@ end
 puts "Erasing previous image dir"
 `rm -rf #{dmgDir}`
 
+bundle=dmgDir + "/FlightGear.app"
+
+# run macdeployt before we rename the bundle, otherwise it
+# can't find the bundle executable
+puts "Running macdeployqt on the bundle to copy Qt libraries"
+`macdeployqt #{$prefixDir}/fgfs.app`
+
+puts "Moving & renaming app bundle"
+`mkdir -p #{dmgDir}`
+`mv #{$prefixDir}/fgfs.app #{bundle}`
+
 bundle=dmgDir + "/FlightGear.app"
 contents=bundle + "/Contents"
 macosDir=contents + "/MacOS"
@@ -94,18 +82,19 @@ puts "Creating directory structure"
 `mkdir -p #{resourcesDir}`
 `mkdir -p #{osgPluginsDir}`
 
-puts "Copying binaries"
-`cp #{$prefixDir}/fgfs.app/Contents/MacOS/fgfs #{macosDir}/fgfs`
-bins = ['fgjs', 'fgcom', 'fgviewer']
+# fix install names on the primary executable
+fix_install_names("#{macosDir}/fgfs")
+
+puts "Copying auxilliary binaries"
+bins = ['fgjs', 'fgcom']
 bins.each do |b|
   if !File.exist?("#{$prefixDir}/bin/#{b}")
     next
   end
-  
+
   outPath = "#{macosDir}/#{b}"
   `cp #{$prefixDir}/bin/#{b} #{outPath}`
   fix_install_names(outPath)
-  fix_svn_install_names(outPath)
 end
 
 puts "copying libraries"
@@ -125,16 +114,6 @@ $osgPlugins.each do |p|
   fix_install_names("#{osgPluginsDir}/#{pluginFile}")
 end
 
-copy_svn_libs()
-
-# Macflightgear launcher
-puts "Copying Macflightgear launcher files"
-
-Dir.chdir "maclauncher/FlightGearOSX" do
-  `cp FlightGear #{macosDir}`
-  `rsync -a *.rb *.lproj *.sh *.tiff *.html #{resourcesDir}`
-end
-
 if File.exist?("#{$prefixDir}/bin/fgcom-data")
   puts "Copying FGCom data files"
   `ditto #{$prefixDir}/bin/fgcom-data #{resourcesDir}/fgcom-data`