Andrew A. de Laix 2010-11-09 11:23:44 -08:00
commit 8c9b707d58
5 changed files with 107 additions and 6 deletions

View File

@ -575,6 +575,10 @@ class DarwinManifest(ViewerManifest):
# most everything goes in the Resources directory
if self.prefix(src="", dst="Resources"):
super(DarwinManifest, self).construct()
if self.prefix(src="../viewer_components/updater", dst=""):
self.path("update_install")
self.end_prefix()
if self.prefix("cursors_mac"):
self.path("*.tif")

View File

@ -6,6 +6,7 @@ include(00-Common)
if(LL_TESTS)
include(LLAddBuildTest)
endif(LL_TESTS)
include(CMakeCopyIfDifferent)
include(CURL)
include(LLCommon)
include(LLMessage)
@ -24,12 +25,14 @@ set(updater_service_SOURCE_FILES
llupdaterservice.cpp
llupdatechecker.cpp
llupdatedownloader.cpp
llupdateinstaller.cpp
)
set(updater_service_HEADER_FILES
llupdaterservice.h
llupdatechecker.h
llupdatedownloader.h
llupdateinstaller.h
)
set_source_files_properties(${updater_service_HEADER_FILES}
@ -56,12 +59,6 @@ if(LL_TESTS)
llupdaterservice.cpp
)
# set_source_files_properties(
# llupdaterservice.cpp
# PROPERTIES
# LL_TEST_ADDITIONAL_LIBRARIES "${PTH_LIBRARIES}"
# )
LL_ADD_PROJECT_UNIT_TESTS(llupdaterservice "${llupdater_service_TEST_SOURCE_FILES}")
endif(LL_TESTS)
@ -74,3 +71,17 @@ set(UPDATER_LIBRARIES
llupdaterservice
CACHE INTERNAL ""
)
# Copy install script.
if(DARWIN)
copy_if_different(
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/darwin"
"${CMAKE_CURRENT_BINARY_DIR}"
update_installer_targets
"update_install"
)
endif()
add_custom_target(copy_update_install ALL DEPENDS ${update_installer_targets})

View File

@ -0,0 +1,38 @@
/**
* @file llupdateinstaller.cpp
*
* $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "linden_common.h"
#include "llprocesslauncher.h"
#include "llupdateinstaller.h"
void ll_install_update(std::string const & script, std::string const & updatePath)
{
LLProcessLauncher launcher;
launcher.setExecutable(script);
launcher.addArgument(updatePath);
launcher.launch();
launcher.orphan();
}

View File

@ -0,0 +1,42 @@
/**
* @file llupdateinstaller.h
*
* $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifndef LL_UPDATE_INSTALLER_H
#define LL_UPDATE_INSTALLER_H
#include <string>
//
// Launch the installation script.
//
// The updater will overwrite the current installation, so it is highly recommended
// that the current application terminate once this function is called.
//
void ll_install_update(std::string const & script, std::string const & updatePath);
#endif

View File

@ -0,0 +1,6 @@
#! /bin/bash
hdiutil attach -nobrowse $1
cp -R /Volumes/Second\ Life\ Installer/Second\ Life\ Viewer\ 2.app /Applications
hdiutil detach /Volumes/Second\ Life\ Installer
open /Applications/Second\ Life\ Viewer\ 2.app