diff options
Diffstat (limited to 'indra/newview')
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 119 | 
1 files changed, 44 insertions, 75 deletions
| diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 57539077fa..8048f4eb2f 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -308,6 +308,8 @@ class WindowsManifest(ViewerManifest):          # This is used to test a dll manifest.          # It is used as a temporary override during the construct method          from test_win32_manifest import test_assembly_binding +        # TODO: This is redundant with LLManifest.copy_action(). Why aren't we +        # calling copy_action() in conjunction with test_assembly_binding()?          if src and (os.path.exists(src) or os.path.islink(src)):              # ensure that destination path exists              self.cmakedirs(os.path.dirname(dst)) @@ -328,6 +330,8 @@ class WindowsManifest(ViewerManifest):          # It is used as a temporary override during the construct method          from test_win32_manifest import test_assembly_binding          from test_win32_manifest import NoManifestException, NoMatchingAssemblyException +        # TODO: This is redundant with LLManifest.copy_action(). Why aren't we +        # calling copy_action() in conjunction with test_assembly_binding()?          if src and (os.path.exists(src) or os.path.islink(src)):              # ensure that destination path exists              self.cmakedirs(os.path.dirname(dst)) @@ -356,18 +360,16 @@ class WindowsManifest(ViewerManifest):          pkgdir = os.path.join(self.args['build'], os.pardir, 'packages')          relpkgdir = os.path.join(pkgdir, "lib", "release")          debpkgdir = os.path.join(pkgdir, "lib", "debug") -        vmpdir = os.path.join(pkgdir, "VMP") -        llbasedir = os.path.join(pkgdir, "lib", "python", "llbase")          if self.is_packaging_viewer():              # Find secondlife-bin.exe in the 'configuration' dir, then rename it to the result of final_exe.              self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe()) -            # include the compiled launcher scripts so that it gets included in the file_list -            self.path(src='%s/SL_Launcher.exe' % vmpdir, dst="SL_Launcher.exe") - -            #IUM is not normally executed directly, just imported.  No exe needed. -            self.path2basename(vmpdir,"InstallerUserMessage.py") +            with self.prefix(src=os.path.join(pkgdir, "VMP"), dst=""): +                # include the compiled launcher scripts so that it gets included in the file_list +                self.path('SL_Launcher.exe') +                #IUM is not normally executed directly, just imported.  No exe needed. +                self.path("InstallerUserMessage.py")              with self.prefix(src=self.icon_path(), dst="vmp_icons"):                  self.path("secondlife.ico") @@ -378,12 +380,9 @@ class WindowsManifest(ViewerManifest):                  self.path("*.gif")              #before, we only needed llbase at build time.  With VMP, we need it at run time. -            llbase_path = os.path.join(self.get_dst_prefix(),'llbase') -            if not os.path.exists(llbase_path): -                os.makedirs(llbase_path) -            with self.prefix(dst="llbase"): -                self.path2basename(llbasedir,"*.py") -                self.path2basename(llbasedir,"_cllsd.so") +            with self.prefix(src=os.path.join(pkgdir, "lib", "python", "llbase"), dst="llbase"): +                self.path("*.py") +                self.path("_cllsd.so")          # Plugin host application          self.path2basename(os.path.join(os.pardir, @@ -771,59 +770,31 @@ class DarwinManifest(ViewerManifest):          pkgdir = os.path.join(self.args['build'], os.pardir, 'packages')          relpkgdir = os.path.join(pkgdir, "lib", "release")          debpkgdir = os.path.join(pkgdir, "lib", "debug") -        vmpdir = os.path.join(pkgdir, "VMP") -        llbasedir = os.path.join(pkgdir, "lib", "python", "llbase") -        requestsdir = os.path.join(pkgdir, "lib", "python", "requests") -        urllib3dir = os.path.join(pkgdir, "lib", "python", "urllib3") -        chardetdir = os.path.join(pkgdir, "lib", "python", "chardet") -        idnadir = os.path.join(pkgdir, "lib", "python", "idna")          with self.prefix(src="", dst="Contents"):  # everything goes in Contents -            self.path("Info.plist", dst="Info.plist") +            self.path("Info.plist") -            # copy additional libs in <bundle>/Contents/MacOS/ -            self.path(os.path.join(relpkgdir, "libndofdev.dylib"), dst="Resources/libndofdev.dylib") -            self.path(os.path.join(relpkgdir, "libhunspell-1.3.0.dylib"), dst="Resources/libhunspell-1.3.0.dylib")    +            with self.prefix(src=relpkgdir, dst="Resources"): +                self.path("libndofdev.dylib") +                self.path("libhunspell-1.3.0.dylib")    +            # copy additional libs in <bundle>/Contents/MacOS/              with self.prefix(dst="MacOS"):                                #this copies over the python wrapper script, associated utilities and required libraries, see SL-321, SL-322, SL-323 -                self.path2basename(vmpdir,"SL_Launcher") -                self.path2basename(vmpdir,"*.py") -                # certifi will be imported by requests; this is our custom version to get our ca-bundle.crt  -                certifi_path = os.path.join(self.get_dst_prefix(),'certifi') -                if not os.path.exists(certifi_path): -                    os.makedirs(certifi_path) -                with self.prefix(dst="certifi"): -                    self.path2basename(os.path.join(vmpdir,"certifi"),"*") -                # llbase provides our llrest service layer and llsd decoding -                llbase_path = os.path.join(self.get_dst_prefix(),'llbase') -                if not os.path.exists(llbase_path): -                    os.makedirs(llbase_path) -                with self.prefix(dst="llbase"): -                    self.path2basename(llbasedir,"*.py") -                    self.path2basename(llbasedir,"_cllsd.so") -                #requests module needed by llbase/llrest.py -                #this is only needed on POSIX, because in Windows we compile it into the EXE -                requests_path = os.path.join(self.get_dst_prefix(),'requests') -                if not os.path.exists(requests_path): -                    os.makedirs(requests_path) -                with self.prefix(dst="requests"): -                    self.path2basename(requestsdir,"*") -                urllib3_path = os.path.join(self.get_dst_prefix(),'urllib3') -                if not os.path.exists(urllib3_path): -                    os.makedirs(urllib3_path) -                with self.prefix(dst="urllib3"): -                    self.path2basename(urllib3dir,"*") -                chardet_path = os.path.join(self.get_dst_prefix(),'chardet') -                if not os.path.exists(chardet_path): -                    os.makedirs(chardet_path) -                with self.prefix(dst="chardet"): -                    self.path2basename(chardetdir,"*") -                idna_path = os.path.join(self.get_dst_prefix(),'idna') -                if not os.path.exists(idna_path): -                    os.makedirs(idna_path) -                with self.prefix(dst="idna"): -                    self.path2basename(idnadir,"*") +                with self.prefix(src=os.path.join(pkgdir, "VMP"), dst=""): +                    self.path("SL_Launcher") +                    self.path("*.py") +                    # certifi will be imported by requests; this is our custom version to get our ca-bundle.crt  +                    self.path("certifi") +                with self.prefix(src=os.path.join(pkgdir, "lib", "python"), dst=""): +                    # llbase provides our llrest service layer and llsd decoding +                    with self.prefix("llbase"): +                        self.path("*.py") +                        self.path("_cllsd.so") +                    #requests module needed by llbase/llrest.py +                    #this is only needed on POSIX, because in Windows we compile it into the EXE +                    for pypkg in "chardet", "idna", "requests", "urllib3": +                        self.path(pypkg)              # most everything goes in the Resources directory              with self.prefix(src="", dst="Resources"): @@ -1273,18 +1244,15 @@ class LinuxManifest(ViewerManifest):              self.path("../linux_crash_logger/linux-crash-logger","linux-crash-logger.bin")              self.path2basename("../llplugin/slplugin", "SLPlugin")               #this copies over the python wrapper script, associated utilities and required libraries, see SL-321, SL-322 and SL-323 -            self.path2basename("../viewer_components/manager","SL_Launcher") -            self.path2basename("../viewer_components/manager","*.py") -            llbase_path = os.path.join(self.get_dst_prefix(),'llbase') -            if not os.path.exists(llbase_path): -                os.makedirs(llbase_path) -            with self.prefix(dst="llbase"): -                self.path2basename("../packages/lib/python/llbase","*.py") -                self.path2basename("../packages/lib/python/llbase","_cllsd.so")          - -        with self.prefix("res-sdl"): -            self.path("*") -            # recurse +            with self.prefix(src="../viewer_components/manager", dst=""): +                self.path("SL_Launcher") +                self.path("*.py") +            with self.prefix(src=os.path.join("lib", "python", "llbase"), dst="llbase"): +                self.path("*.py") +                self.path("_cllsd.so")          + +        # recurses, packaged again +        self.path("res-sdl")          # Get the icons based on the channel type          icon_path = self.icon_path() @@ -1295,9 +1263,10 @@ class LinuxManifest(ViewerManifest):                  self.path("secondlife_256.BMP","ll_icon.BMP")          # plugins -        with self.prefix(src="", dst="bin/llplugin"): -            self.path("../media_plugins/gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so") -            self.path("../media_plugins/libvlc/libmedia_plugin_libvlc.so", "libmedia_plugin_libvlc.so") +        with self.prefix(src="../media_plugins", dst="bin/llplugin"): +            self.path("gstreamer010/libmedia_plugin_gstreamer010.so", +                      "libmedia_plugin_gstreamer.so") +            self.path2basename("libvlc", "libmedia_plugin_libvlc.so")          with self.prefix(src=os.path.join(os.pardir, 'packages', 'lib', 'vlc', 'plugins'), dst="bin/llplugin/vlc/plugins"):              self.path( "plugins.dat" ) | 
