MAINT-5360: restore builds for the EDU package
parent
5a5c023e29
commit
0c94c3bbf0
|
|
@ -70,15 +70,12 @@ additional_packages = ""
|
|||
# the viewer_channel_suffix is prefixed by a blank and then appended to the viewer_channel
|
||||
# for the package in a setting that overrides the compiled-in value
|
||||
################################################################
|
||||
## Removed 2015-07-02 (MAINT-5360) until we fix packaging step in Team City
|
||||
## additional_packages = "EDU"
|
||||
additional_packages = "EDU"
|
||||
|
||||
# The EDU package allows us to create a separate release channel whose expirations
|
||||
# are synchronized as much as possible with the academic year
|
||||
## Removed 2015-07-02 (MAINT-5360) until we fix packaging step in Team City
|
||||
## EDU_sourceid = ""
|
||||
## Removed 2015-07-02 (MAINT-5360) until we fix packaging step in Team City
|
||||
## EDU_viewer_channel_suffix = "edu"
|
||||
EDU_sourceid = ""
|
||||
EDU_viewer_channel_suffix = "edu"
|
||||
|
||||
# Notifications - to configure email notices, add a setting like this:
|
||||
# <username>_<reponame>.email = <email-address>
|
||||
|
|
|
|||
|
|
@ -1536,11 +1536,11 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>6b9eaaf83fcf8bfd4bb6966c24df7f29</string>
|
||||
<string>29a1f64df46094eda0d681821a98d17e</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>md5</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llceflib_3p-llceflib/rev/310043/arch/Darwin/installer/llceflib-1.5.1.310043-darwin-310043.tar.bz2</string>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llceflib_3p-llceflib/rev/311349/arch/Darwin/installer/llceflib-1.5.3.311349-darwin-311349.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin</string>
|
||||
|
|
@ -1550,11 +1550,11 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>578f21be02efc98bbf426529f916fce8</string>
|
||||
<string>827b7c339a2cd401d9d23f9ee02cb83f</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>md5</string>
|
||||
<key>url</key>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llceflib_3p-llceflib/rev/310043/arch/CYGWIN/installer/llceflib-1.5.1.310043-windows-310043.tar.bz2</string>
|
||||
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llceflib_3p-llceflib/rev/311349/arch/CYGWIN/installer/llceflib-1.5.3.311349-windows-311349.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
|
|||
|
|
@ -114,4 +114,12 @@ if (DARWIN)
|
|||
LINK_FLAGS "-exported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/../base/media_plugin_base.exp"
|
||||
)
|
||||
|
||||
add_custom_command(TARGET media_plugin_cef
|
||||
POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "@executable_path/Chromium Embedded Framework"
|
||||
"@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework"
|
||||
"$<TARGET_FILE:media_plugin_cef>"
|
||||
VERBATIM
|
||||
COMMENT "Fixing path to CEF Framework"
|
||||
)
|
||||
|
||||
endif (DARWIN)
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ $/LicenseInfo$
|
|||
"""
|
||||
import sys
|
||||
import os.path
|
||||
import shutil
|
||||
import errno
|
||||
import re
|
||||
import tarfile
|
||||
|
|
@ -855,14 +856,17 @@ class Darwin_i386_Manifest(ViewerManifest):
|
|||
# This code constructs a relative path from the
|
||||
# target framework folder back to the location of the symlink.
|
||||
# It needs to be relative so that the symlink still works when
|
||||
# (as is normal) the user moves the app bunlde out of the DMG
|
||||
# (as is normal) the user moves the app bundle out of the DMG
|
||||
# and into the /Applications folder. Note we also call 'raise'
|
||||
# to terminate the process if we get an error since without
|
||||
# this symlink, Second Life web media can't possibly work.
|
||||
# Real Framework folder:
|
||||
# Second Life.app/Contents/Frameworks/Chromium Embedded Framework.framework/
|
||||
# Location of symlink and why it'ds relavie
|
||||
# Location of symlink and why it'ds relative
|
||||
# Second Life.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework/
|
||||
# Real Frameworks folder, with the symlink inside the bundled SLPlugin.app (and why it's relative)
|
||||
# <top level>.app/Contents/Frameworks/Chromium Embedded Framework.framework/
|
||||
# <top level>.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework ->
|
||||
frameworkpath = os.path.join(os.pardir, os.pardir, os.pardir, os.pardir, "Frameworks", "Chromium Embedded Framework.framework")
|
||||
try:
|
||||
symlinkf(frameworkpath, pluginframeworkpath)
|
||||
|
|
@ -872,10 +876,6 @@ class Darwin_i386_Manifest(ViewerManifest):
|
|||
|
||||
self.end_prefix("Contents")
|
||||
|
||||
# fix up media_plugin.dylib so it knows where to look for CEF files it needs
|
||||
self.run_command('install_name_tool -change "@executable_path/Chromium Embedded Framework" "@executable_path/../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" "%(config)s/Second Life.app/Contents/Resources/llplugin/media_plugin_cef.dylib"' %
|
||||
{ 'config' : self.args['configuration'] })
|
||||
|
||||
# NOTE: the -S argument to strip causes it to keep enough info for
|
||||
# annotated backtraces (i.e. function names in the crash log). 'strip' with no
|
||||
# arguments yields a slightly smaller binary but makes crash logs mostly useless.
|
||||
|
|
@ -1247,12 +1247,33 @@ def symlinkf(src, dst):
|
|||
# file, but that strategy doesn't work so well if we don't have
|
||||
# permissions to remove it. Check to see if it's already the
|
||||
# symlink we want, which is the usual reason for EEXIST.
|
||||
if not (os.path.islink(dst) and os.readlink(dst) == src):
|
||||
# Here either dst isn't a symlink or it's the wrong symlink.
|
||||
# Remove and recreate. Caller will just have to deal with any
|
||||
# exceptions at this stage.
|
||||
elif os.path.islink(dst):
|
||||
if os.readlink(dst) == src:
|
||||
# the requested link already exists
|
||||
pass
|
||||
else:
|
||||
# dst is the wrong symlink; attempt to remove and recreate it
|
||||
os.remove(dst)
|
||||
os.symlink(src, dst)
|
||||
elif os.path.isdir(dst):
|
||||
print "Requested symlink (%s) exists but is a directory; replacing" % dst
|
||||
shutil.rmtree(dst)
|
||||
os.symlink(src, dst)
|
||||
elif os.path.exists(dst):
|
||||
print "Requested symlink (%s) exists but is a file; replacing" % dst
|
||||
os.remove(dst)
|
||||
os.symlink(src, dst)
|
||||
else:
|
||||
# see if the problem is that the parent directory does not exist
|
||||
# and try to explain what is missing
|
||||
(parent, tail) = os.path.split(dst)
|
||||
while not os.path.exists(parent):
|
||||
(parent, tail) = os.path.split(parent)
|
||||
if tail:
|
||||
raise Exception("Requested symlink (%s) cannot be created because %s does not exist"
|
||||
% os.path.join(parent, tail))
|
||||
else:
|
||||
raise
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
|
|||
Loading…
Reference in New Issue