Primer depuración. Limpieza archivos innecesarios, cambios de nombres y preparación para Puma.

This commit is contained in:
2025-05-25 22:25:31 -03:00
parent d883ddd0d0
commit a5d5fe6288
37 changed files with 287 additions and 163 deletions
+9 -10
View File
@@ -26,7 +26,6 @@ include(LLCA)
include(LLCommon)
include(LLCoreHttp)
include(LLImage)
include(LLKDU)
include(LLPhysicsExtensions)
include(LLPrimitive)
include(LLWindow)
@@ -1740,11 +1739,11 @@ LIST(APPEND viewer_SOURCE_FILES fsfloaterdiscord.cpp fsdiscordconnect.cpp)
# <FS:TS> Generate the version information header file.
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/pmversionvalues.h.in
${CMAKE_CURRENT_BINARY_DIR}/pmversionvalues.h
${CMAKE_CURRENT_SOURCE_DIR}/fsversionvalues.h.in
${CMAKE_CURRENT_BINARY_DIR}/fsversionvalues.h
@ONLY
)
list(APPEND viewer_HEADER_FILES ${CMAKE_CURRENT_BINARY_DIR}/pmversionvalues.h)
list(APPEND viewer_HEADER_FILES ${CMAKE_CURRENT_BINARY_DIR}/fsversionvalues.h)
# </FS:TS>
source_group("CMake Rules" FILES ViewerInstall.cmake)
@@ -2147,11 +2146,11 @@ set_source_files_properties(${viewer_FONT_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
list(APPEND viewer_SOURCE_FILES ${viewer_FONT_FILES})
file(GLOB viewer_FS_RESOURCES pm_resources/*)
source_group("puma Resources" FILES ${viewer_FS_RESOURCES})
set_source_files_properties(${viewer_FS_RESOURCES}
file(GLOB viewer_PM_RESOURCES pm_resources/*)
source_group("Puma Resources" FILES ${viewer_PM_RESOURCES})
set_source_files_properties(${viewer_PM_RESOURCES}
PROPERTIES HEADER_FILE_ONLY TRUE)
list(APPEND viewer_SOURCE_FILES ${viewer_FS_RESOURCES})
list(APPEND viewer_SOURCE_FILES ${viewer_PM_RESOURCES})
file(GLOB viewer_PY_SCRIPTS *.py)
source_group("Python Scripts" FILES ${viewer_PY_SCRIPTS})
@@ -2578,7 +2577,7 @@ set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH
# </FS:Ansariel>
if (LINUX)
set(product puma-${ARCH}-${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION})
set(product Puma-${ARCH}-${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION})
# These are the generated targets that are copied to package/
set(COPY_INPUT_DEPENDENCIES
@@ -2868,7 +2867,7 @@ if (PACKAGE AND (RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING) AND VIE
endif (LINUX)
endif (USE_BUGSPLAT)
if (DARWIN) #Linux/Windows generates symbols via viewer_manifest.py/fs_viewer_manifest.py
if (DARWIN) #Linux/Windows generates symbols via viewer_manifest.py/pm_viewer_manifest.py
# for both Bugsplat and Breakpad
add_dependencies(llpackage generate_symbols)
endif()
+90
View File
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${MACOSX_EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
<key>CFBundleIconFile</key>
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLongVersionString</key>
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
<key>CFBundleName</key>
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION}</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.games</string>
<key>LSRequiresCarbon</key>
<true/>
<key>NSAppSleepDisabled</key>
<true/>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone access is needed to allow connection to voice.</string>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>slurl</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>seconlife</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/x-grid-location-info</string>
</array>
<key>CFBundleTypeName</key>
<string>Secondlife SLURL</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>SLRL</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSTypeIsPackage</key>
<true/>
<key>NSDocumentClass</key>
<string>SecondLifeSLURL</string>
</dict>
</array>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Second Life URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>secondlife</string>
<string>x-grid-location-info</string>
<string>hop</string>
</array>
<key>LSIsAppleDefaultForScheme</key>
<true/>
</dict>
</array>
<key>NSPrincipalClass</key>
<string>${MACOSX_BUNDLE_NSPRINCIPAL_CLASS}</string>
<key>NSMainNibFile</key>
<string>${MACOSX_BUNDLE_NSMAIN_NIB_FILE}</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>
+1 -1
View File
@@ -80,7 +80,7 @@
<key>Type</key>
<string>String</string>
<key>Value</key>
<string>puma</string>
<string>pumam</string>
</map>
<key>SkinCurrentTheme</key>
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1350,7 +1350,7 @@ void FSLSLBridgeScriptCallback::fire(const LLUUID& inv_item)
std::string FSLSLBridgeScriptCallback::prepUploadFile(std::string &aBuffer)
{
const std::string fName = gDirUtilp->getExpandedFilename(LL_PATH_FS_RESOURCES, UPLOAD_SCRIPT_CURRENT);
const std::string fName = gDirUtilp->getExpandedFilename(LL_PATH_PM_RESOURCES, UPLOAD_SCRIPT_CURRENT);
const std::string fNew = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,UPLOAD_SCRIPT_CURRENT);
LLFILE* fpIn = LLFile::fopen(fName, "rt");
+50
View File
@@ -0,0 +1,50 @@
/**
* @file fsversionvalues.h.in
* @brief Routines to access the viewer version and build information
* @author Tonya Souther
*
* $LicenseInfo:firstyear=2013&license=fsviewerlgpl$
* Phoenix Firestorm Viewer Source Code
* Copyright (C) 2013, The Phoenix Firestorm Project, 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
*
* The Phoenix Firestorm Project, Inc., 1831 Oakwood Drive, Fairmont, Minnesota 56031-3225 USA
* http://www.phoenixviewer.com
* $/LicenseInfo$
*/
#ifndef FS_FSVERSIONVALUES_H
#define FS_FSVERSIONVALUES_H
// <FS:TS> Define the version and channel substitution macros here instead
// of via cmake compile-time defines in order to not force a rebuild
// of the entire newview directory with every Mercurial pull
// NOTE: This file should not be included anywhere in the main viewer code
// but llversioninfo.cpp. If you need the current viewer version in
// a different format than is already provided there, then add a
// function to that file and reference it, rather than building your
// own function elsewhere.
#define LL_VIEWER_CHANNEL "@VIEWER_CHANNEL@"
#define LL_VIEWER_VERSION_MAJOR @VIEWER_VERSION_MAJOR@
#define LL_VIEWER_VERSION_MINOR @VIEWER_VERSION_MINOR@
#define LL_VIEWER_VERSION_PATCH @VIEWER_VERSION_PATCH@
#define LL_VIEWER_VERSION_BUILD @VIEWER_VERSION_REVISION@
const std::string LL_VIEWER_VERSION_GITHASH {@VIEWER_VERSION_GITHASH@};
#define LLBUILD_CONFIG "@CMAKE_BUILD_TYPE@"
// </FS:TS>
#endif
Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -87,10 +87,10 @@ Name ${INSTNAME}
;SubCaption 0 $(LicenseSubTitleSetup) # Override "license agreement" text
# <FS:Ansariel> FIRE-24335: Use different icon for OpenSim version
#!define MUI_ICON "%%SOURCE%%\installers\windows\puma_icon_os.ico"
#!define MUI_UNICON "%%SOURCE%%\installers\windows\puma_icon_os.ico"
!define MUI_ICON "%%SOURCE%%\installers\windows\puma_icon${ICON_SUFFIX}.ico"
!define MUI_UNICON "%%SOURCE%%\installers\windows\puma_icon${ICON_SUFFIX}.ico"
#!define MUI_ICON "%%SOURCE%%\installers\windows\firestorm_icon_os.ico"
#!define MUI_UNICON "%%SOURCE%%\installers\windows\firestorm_icon_os.ico"
!define MUI_ICON "%%SOURCE%%\installers\windows\firestorm_icon${ICON_SUFFIX}.ico"
!define MUI_UNICON "%%SOURCE%%\installers\windows\firestorm_icon${ICON_SUFFIX}.ico"
# </FS:Ansariel>
BrandingText " " # Bottom of window text
@@ -105,7 +105,7 @@ SetOverwrite on # Overwrite files by default
#AutoCloseWindow true # After all files install, close window
# Registry key paths, ours and Microsoft's
!define LINDEN_KEY "SOFTWARE\Avatares Argentinos"
!define LINDEN_KEY "SOFTWARE\The Phoenix Firestorm Project"
!define INSTNAME_KEY "${LINDEN_KEY}\${INSTNAME}"
!define MSCURRVER_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion"
!define MSNTCURRVER_KEY "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
@@ -538,7 +538,7 @@ CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT.lnk" \
WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Create Account.url" \
"InternetShortcut" "URL" \
"https://www.ayudavirtual.org/unirseasl/"
"https://www.firestormviewer.org/join-secondlife/"
WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Your Account.url" \
"InternetShortcut" "URL" \
"https://www.secondlife.com/account/"
@@ -580,10 +580,10 @@ WriteRegStr SHELL_CONTEXT "${INSTNAME_KEY}" "" "$INSTDIR"
WriteRegStr SHELL_CONTEXT "${INSTNAME_KEY}" "Version" "${VERSION_LONG}"
WriteRegStr SHELL_CONTEXT "${INSTNAME_KEY}" "Shortcut" "$INSTSHORTCUT"
WriteRegStr SHELL_CONTEXT "${INSTNAME_KEY}" "Exe" "$VIEWER_EXE"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "Publisher" "Avatares Argentinos"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "URLInfoAbout" "https://avataresargentinos.com.ar"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "URLUpdateInfo" "https://avataresargentinos.com.ar/descargas"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "HelpLink" "https://avataresargentinos.com.ar/soporte"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "Publisher" "The Phoenix Firestorm Project, Inc."
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "URLInfoAbout" "https://www.firestormviewer.org"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "URLUpdateInfo" "https://www.firestormviewer.org/downloads"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "HelpLink" "https://www.firestormviewer.org/support"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "DisplayName" "$INSTNAME"
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "UninstallString" '"$INSTDIR\uninst.exe"'
WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "DisplayVersion" "${VERSION_LONG}"
@@ -914,28 +914,28 @@ Push $2
# Required since ProfileImagePath is of type REG_EXPAND_SZ
ExpandEnvStrings $2 $2
# Delete files in \Users\<User>\AppData\Roaming\Puma
# Delete files in \Users\<User>\AppData\Roaming\Firestorm
# Remove all settings files but leave any other .txt files to preserve the chat logs
RMDir /r "$2\AppData\Roaming\Puma\logs"
RMDir /r "$2\AppData\Roaming\Puma\browser_profile"
RMDir /r "$2\AppData\Roaming\Puma\user_settings"
Delete "$2\AppData\Roaming\Puma\*.xml"
Delete "$2\AppData\Roaming\Puma\*.bmp"
Delete "$2\AppData\Roaming\Puma\search_history.txt"
Delete "$2\AppData\Roaming\Puma\plugin_cookies.txt"
Delete "$2\AppData\Roaming\Puma\typed_locations.txt"
# Delete files in \Users\<User>\AppData\Local\Puma
RMDir /r "$2\AppData\Roaming\Firestorm\logs"
RMDir /r "$2\AppData\Roaming\Firestorm\browser_profile"
RMDir /r "$2\AppData\Roaming\Firestorm\user_settings"
Delete "$2\AppData\Roaming\Firestorm\*.xml"
Delete "$2\AppData\Roaming\Firestorm\*.bmp"
Delete "$2\AppData\Roaming\Firestorm\search_history.txt"
Delete "$2\AppData\Roaming\Firestorm\plugin_cookies.txt"
Delete "$2\AppData\Roaming\Firestorm\typed_locations.txt"
# Delete files in \Users\<User>\AppData\Local\Firestorm
${If} ${ISOPENSIM} == "0"
${If} ${IS64BIT} == "0"
RMDir /r "$2\AppData\Local\Puma" #Delete the Havok cache folder
RMDir /r "$2\AppData\Local\Firestorm" #Delete the Havok cache folder
${Else}
RMDir /r "$2\AppData\Local\Puma_x64" #Delete the OpenSim cache folder
RMDir /r "$2\AppData\Local\Firestorm_x64" #Delete the OpenSim cache folder
${EndIf}
${Else}
${If} ${IS64BIT} == "0"
RMDir /r "$2\AppData\Local\PumaOS" #Delete the Havok cache folder
RMDir /r "$2\AppData\Local\FirestormOS" #Delete the Havok cache folder
${Else}
RMDir /r "$2\AppData\Local\PumaOS_x64" #Delete the OpenSim cache folder
RMDir /r "$2\AppData\Local\FirestormOS_x64" #Delete the OpenSim cache folder
${EndIf}
${EndIf}
@@ -948,11 +948,11 @@ Pop $2
Pop $1
Pop $0
# Delete files in ProgramData\Puma
# Delete files in ProgramData\Firestorm
Push $0
ReadRegStr $0 SHELL_CONTEXT "${MSCURRVER_KEY}\Explorer\Shell Folders" "Common AppData"
StrCmp $0 "" +2
RMDir /r "$0\Puma"
RMDir /r "$0\Firestorm"
Pop $0
Keep:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 50 KiB

@@ -1,3 +1,3 @@
If you wish to install Firestorm on your desktop menus, we no longer do this by default. Instead, run:
If you wish to install Puma on your desktop menus, we no longer do this by default. Instead, run:
./etc/refresh_desktop_app_entry.sh
@@ -16,7 +16,7 @@ RUN_PATH=`dirname "$0" || echo .`
ch "${RUN_PATH}"
#exec ./firestorm -url \'"${URL}"\'
if [ `pidof do-not-directly-run-puma-bin` ]; then
if [ `pidof do-not-directly-run-firestorm-bin` ]; then
exec dbus-send --type=method_call --dest=com.secondlife.ViewerAppAPIService /com/secondlife/ViewerAppAPI com.secondlife.ViewerAppAPI.GoSLURL string:"$1"
else
exec ../firestorm -url \'"${URL}"\'
+8 -8
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Enhanced Puma Viewer Installation Script
# Enhanced Firestorm Viewer Installation Script
# Features:
# - Creates a timestamped backup of existing installation
# - Allows installation with custom suffixes for parallel versions (e.g., beta, release, debug)
@@ -179,16 +179,16 @@ parse_arguments() {
}
# Function to download Puma Viewer (optional enhancement)
download_puma() {
# Define Puma Viewer download URL
download_firestorm() {
# Define Firestorm Viewer download URL
# NOTE: Replace this URL with the actual download link as needed
PUMA_URL="https://avataresargentinos/puma/descargas/linux/puma.tar.gz"
FIRESTORM_URL="https://wiki.avataresargentinos.com.ar/descargas/linux/puma.tar.gz"
# Temporary download location
TEMP_DOWNLOAD="/tmp/puma.tar.gz"
echo "Downloading Puma Viewer from $PUMA_URL..."
wget -O "$TEMP_DOWNLOAD" "$PUMA_URL" || die "Failed to download Puma Viewer!"
echo "Downloading Puma Viewer from $FIRESTORM_URL..."
wget -O "$TEMP_DOWNLOAD" "$FIRESTORM_URL" || die "Failed to download Puma Viewer!"
echo "Download completed."
# Extract the tarball to the run path
@@ -201,7 +201,7 @@ download_puma() {
# Main installation workflow
main() {
echo "Starting Puma Viewer installation script..."
echo "Starting Pumaw Viewer installation script..."
# Parse command-line arguments
parse_arguments "$@"
@@ -213,7 +213,7 @@ main() {
# Optionally, download Puma Viewer if not already present
# Uncomment the following line if you want the script to handle downloading
# download_Puma
# download_puma
# Determine if the script is run as root
if [[ "$EUID" -eq 0 ]]; then
+1 -1
View File
@@ -72,7 +72,7 @@ extern "C"
#endif
#include "boost/json.hpp"
#include "pmversionvalues.h"
#include "fsversionvalues.h"
#define VIEWERAPI_SERVICE "com.secondlife.ViewerAppAPIService"
#define VIEWERAPI_PATH "/com/secondlife/ViewerAppAPI"
+2 -2
View File
@@ -1145,12 +1145,12 @@ void LLModelPreview::setPhysicsFromPreset(S32 preset)
if(preset == 1)
{
mPhysicsSearchLOD = LLModel::LOD_PHYSICS;
loadModel( gDirUtilp->getExpandedFilename(LL_PATH_FS_RESOURCES, "cube_phys.dae"), LLModel::LOD_PHYSICS);
loadModel( gDirUtilp->getExpandedFilename(LL_PATH_PM_RESOURCES, "cube_phys.dae"), LLModel::LOD_PHYSICS);
}
else if(preset == 2)
{
mPhysicsSearchLOD = LLModel::LOD_PHYSICS;
loadModel( gDirUtilp->getExpandedFilename(LL_PATH_FS_RESOURCES, "hex_phys.dae"), LLModel::LOD_PHYSICS);
loadModel( gDirUtilp->getExpandedFilename(LL_PATH_PM_RESOURCES, "hex_phys.dae"), LLModel::LOD_PHYSICS);
}
else if(preset == 3)
{
+1 -1
View File
@@ -34,7 +34,7 @@
// <FS:TS> Use configured file instead of compile time definitions to avoid
// rebuilding the world with every Mercurial pull
#include "pmversionvalues.h"
#include "fsversionvalues.h"
#if ! defined(LL_VIEWER_CHANNEL) \
|| ! defined(LL_VIEWER_VERSION_MAJOR) \
+42 -42
View File
@@ -2,9 +2,9 @@ import os
import subprocess
import tarfile
class FSViewerManifest:
def fs_installer_basename(self):
if self.fs_is_avx2():
class PMViewerManifest:
def pm_installer_basename(self):
if self.pm_is_avx2():
opt_string = "AVX2"
else:
opt_string = "LEGACY"
@@ -17,14 +17,14 @@ class FSViewerManifest:
'app_name_oneword':self.app_name_oneword()
}
return "Phoenix-%(app_name)s_%(optimized)s-%(version_dashes)s" % substitution_strings
return "Puma-%(app_name)s_%(optimized)s-%(version_dashes)s" % substitution_strings
def fs_is_opensim(self):
def pm_is_opensim(self):
return self.args['viewer_flavor'] == 'oss' #Havok would be hvk
def fs_is_avx2(self):
def pm_is_avx2(self):
return self.args['avx2'] == 'ON'
def fs_splice_grid_substitution_strings( self, subst_strings ):
def pm_splice_grid_substitution_strings( self, subst_strings ):
ret = subst_strings
if 'grid' in self.args and self.args['grid'] != None:
@@ -36,30 +36,30 @@ class FSViewerManifest:
return ret
def fs_get_substitution_strings( self ):
def pm_get_substitution_strings( self ):
substitution_strings = {
'version' : '.'.join(self.args['version']),
'version_short' : '.'.join(self.args['version'][:-1]),
'version_dashes' : '-'.join(self.args['version']),
'channel':self.channel(),
'channel_oneword':self.fs_channel_oneword(),
'channel_unique':self.fs_channel_unique(),
'subchannel_underscores':'_'.join(self.fs_channel_unique().split()),
'channel_oneword':self.pm_channel_oneword(),
'channel_unique':self.pm_channel_unique(),
'subchannel_underscores':'_'.join(self.pm_channel_unique().split()),
'app_name' : self.app_name()
}
return self.fs_splice_grid_substitution_strings( substitution_strings )
return self.pm_splice_grid_substitution_strings( substitution_strings )
def fs_channel_legacy_oneword(self):
def pm_channel_legacy_oneword(self):
return "".join(self.channel().split())
def fs_channel_oneword(self):
return "".join(self.fs_channel_unique().split())
def pm_channel_oneword(self):
return "".join(self.pm_channel_unique().split())
def fs_channel_unique(self):
def pm_channel_unique(self):
return self.channel().replace("Puma", "").strip()
def fs_sign_win_binaries(self):
def pm_sign_win_binaries(self):
signtool_path = os.getenv('SIGNTOOL_PATH')
codesigning_dlib_path = os.getenv('CODESIGNING_DLIB_PATH')
metadata_file = os.getenv("CODESIGNING_METADATA_PATH")
@@ -89,7 +89,7 @@ class FSViewerManifest:
except Exception as e:
print(f"Couldn't sign binary: {exe_path}. Error: {e}")
def fs_sign_win_installer(self, substitution_strings):
def pm_sign_win_installer(self, substitution_strings):
signtool_path = os.getenv('SIGNTOOL_PATH')
codesigning_dlib_path = os.getenv('CODESIGNING_DLIB_PATH')
metadata_file = os.getenv("CODESIGNING_METADATA_PATH")
@@ -109,7 +109,7 @@ class FSViewerManifest:
except Exception as e:
print(f"Couldn't sign windows installer: {installer_path}. Error: {e}")
def fs_delete_linux_symbols( self ):
def pm_delete_linux_symbols( self ):
debugDir = os.path.join( self.get_dst_prefix(), "bin", ".debug" )
if os.path.exists( debugDir ):
@@ -121,34 +121,34 @@ class FSViewerManifest:
if os.path.isfile( debugFile ):
os.unlink( debugFile )
def fs_save_linux_symbols( self ):
def pm_save_linux_symbols( self ):
#AO: Try to package up symbols
# New Method, for reading cross platform stack traces on a linux/mac host
print("Packaging symbols")
self.fs_save_symbols("linux")
self.pm_save_symbols("linux")
def fs_linux_tar_excludes(self):
installer_name_components = ['Phoenix',self.app_name(),self.args.get('arch'),'.'.join(self.args['version'])]
installer_name_components = ['Puma',self.app_name(),self.args.get('arch'),'.'.join(self.args['version'])]
installer_name = "_".join(installer_name_components)
return "--exclude=%s/bin/.debug" % installer_name
def fs_save_windows_symbols(self):
self.fs_save_symbols("windows")
def pm_save_windows_symbols(self):
self.pm_save_symbols("windows")
pdbName = "puma-bin.pdb"
try:
subprocess.check_call( [ "pdbcopy.exe" ,
self.args['configuration'] + "\\puma-bin.pdb",
self.args['configuration'] + "\\puma-bin-public.pdb",
self.args['configuration'] + "\\firestorm-bin.pdb",
self.args['configuration'] + "\\firestorm-bin-public.pdb",
"-p"
], stderr=subprocess.PIPE,stdout=subprocess.PIPE )
pdbName = "puma-bin-public.pdb"
except:
print("Cannot run pdbcopy, packaging private symbols")
tarName = "%s/Phoenix_%s_%s_%s_pdbsymbols-windows-%d.tar.xz" % (self.args['configuration'].lower(),
self.fs_channel_legacy_oneword(),
tarName = "%s/Puma_%s_%s_%s_pdbsymbols-windows-%d.tar.xz" % (self.args['configuration'].lower(),
self.pm_channel_legacy_oneword(),
'-'.join(self.args['version']),
self.args['viewer_flavor'],
self.address_size)
@@ -159,7 +159,7 @@ class FSViewerManifest:
symbolTar.add( "%s/%s" % (self.args['configuration'].lower(),pdbName), pdbName )
symbolTar.close()
def fs_strip_windows_manifest(self, aFile ):
def pm_strip_windows_manifest(self, aFile ):
try:
from win32api import BeginUpdateResource, UpdateResource, EndUpdateResource
@@ -170,10 +170,10 @@ class FSViewerManifest:
except:
pass
def fs_copy_windows_manifest(self):
def pm_copy_windows_manifest(self):
from shutil import copyfile
self.fs_strip_windows_manifest( "%s/slplugin.exe" % self.args['configuration'].lower() )
self.fs_strip_windows_manifest( "%s/llplugin/dullahan_host.exe" % self.args['configuration'].lower() )
self.pm_strip_windows_manifest( "%s/slplugin.exe" % self.args['configuration'].lower() )
self.pm_strip_windows_manifest( "%s/llplugin/dullahan_host.exe" % self.args['configuration'].lower() )
if self.prefix(src=os.path.join(self.args['build'], os.pardir, os.pardir, 'indra', 'tools', 'manifests')):
self.path( "compatibility.manifest", "slplugin.exe.manifest" )
self.end_prefix()
@@ -181,16 +181,16 @@ class FSViewerManifest:
self.path( "compatibility.manifest", "dullahan_host.exe.manifest" )
self.end_prefix()
def fs_save_osx_symbols( self ):
self.fs_save_symbols("darwin")
def pm_save_osx_symbols( self ):
self.pm_save_symbols("darwin")
def fs_save_symbols(self, osname):
def pm_save_symbols(self, osname):
if (os.path.exists("%s/puma-symbols-%s-%d.tar.bz2" % (self.args['configuration'].lower(),
osname,
self.address_size))):
# Rename to add version numbers
sName = "%s/Phoenix_%s_%s_%s_symbols-%s-%d.tar.bz2" % (self.args['configuration'].lower(),
self.fs_channel_legacy_oneword(),
sName = "%s/Puma_%s_%s_%s_symbols-%s-%d.tar.bz2" % (self.args['configuration'].lower(),
self.pm_channel_legacy_oneword(),
'-'.join( self.args['version'] ),
self.args['viewer_flavor'],
osname,
@@ -201,7 +201,7 @@ class FSViewerManifest:
os.rename("%s/puma-symbols-%s-%d.tar.bz2" % (self.args['configuration'].lower(), osname, self.address_size), sName)
def fs_generate_breakpad_symbols_for_file( self, aFile ):
def pm_generate_breakpad_symbols_for_file( self, aFile ):
from os import makedirs, remove
from os.path import join, isfile
import subprocess
@@ -230,14 +230,14 @@ class FSViewerManifest:
if isfile( symbolFile ):
remove( symbolFile )
def fs_save_breakpad_symbols(self, osname):
def pm_save_breakpad_symbols(self, osname):
from glob import glob
import sys
from os.path import isdir, join
from shutil import rmtree
import tarfile
components = ['Phoenix',self.app_name(),self.args.get('arch'),'.'.join(self.args['version'])]
components = ['Puma',self.app_name(),self.args.get('arch'),'.'.join(self.args['version'])]
symbolsName = "_".join(components)
symbolsName = symbolsName + "_" + self.args["viewer_flavor"] + "-" + osname + "-" + str(self.address_size) + ".tar.bz2"
@@ -246,12 +246,12 @@ class FSViewerManifest:
files = glob( "%s/bin/*" % self.args['dest'] )
for f in files:
self.fs_generate_breakpad_symbols_for_file( f )
self.pm_generate_breakpad_symbols_for_file( f )
files = glob( "%s/lib/*.so" % self.args['dest'] )
for f in files:
if f.find( "libcef.so" ) == -1:
self.fs_generate_breakpad_symbols_for_file( f )
self.pm_generate_breakpad_symbols_for_file( f )
if isdir( "symbols" ):
for a in self.args:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 784 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

-15
View File
@@ -1,20 +1,5 @@
<llsd>
<array>
<map>
<key>name</key>
<string>Puma</string>
<key>folder</key>
<string>puma</string>
<key>themes</key>
<array>
<map>
<key>name</key>
<string>Classic</string>
<key>folder</key>
<string/>
</map>
</array>
</map>
<map>
<key>name</key>
<string>AnsaStorm</string>
+40 -40
View File
@@ -45,7 +45,7 @@ import time
sys.dont_write_bytecode = True # <FS:Ansariel> Prevents creating __pycache__ directory
from pm_viewer_manifest import FSViewerManifest #<FS:ND/> Manifest extensions for Firestorm
from pm_viewer_manifest import PMViewerManifest #<FS:ND/> Manifest extensions for Puma
viewer_dir = os.path.dirname(__file__)
# Add indra/lib/python to our path so we don't have to muck with PYTHONPATH.
@@ -60,7 +60,7 @@ try:
except ImportError:
from llbase import llsd
# </FS:Beq>
class ViewerManifest(LLManifest,FSViewerManifest):
class ViewerManifest(LLManifest,PMViewerManifest):
def is_packaging_viewer(self):
# Some commands, files will only be included
# if we are packaging the viewer on windows.
@@ -130,7 +130,7 @@ class ViewerManifest(LLManifest,FSViewerManifest):
self.path("beamsColors")
# <FS:Beq> package static_assets folder
if self.fs_is_opensim():
if self.pm_is_opensim():
self.path("static_assets")
self.path("fs_static_assets")
# </FS:Beq>
@@ -191,7 +191,7 @@ class ViewerManifest(LLManifest,FSViewerManifest):
self.path("*.txt")
self.path("*.xml")
# <FS:AO> Include firestorm resources
# <FS:AO> Include puma resources
with self.prefix(src_dst="pm_resources"):
self.path("*.dae") # <FS:Beq> FIRE-30963 - better physics defaults
@@ -209,7 +209,7 @@ class ViewerManifest(LLManifest,FSViewerManifest):
self.path("*/*.png")
self.path("*.tga")
self.path("*.j2c")
self.path("*.jpg") # <FS:Ansariel> Needed for Firestorm
self.path("*.jpg") # <FS:Ansariel> Needed for Puma
self.path("*.png")
self.path("textures.xml")
self.path("*/xui/*/*.xml")
@@ -322,9 +322,9 @@ class ViewerManifest(LLManifest,FSViewerManifest):
global CHANNEL_VENDOR_BASE
# a standard map of strings for replacing in the templates
#<FS:TS> tag "OS" after CHANNEL_VENDOR_BASE and before any suffix
channel_base = "Phoenix-" + CHANNEL_VENDOR_BASE
if self.fs_is_opensim():
channel_base = channel_base + "OS"
channel_base = "Puma-" + CHANNEL_VENDOR_BASE
# if self.pm_is_opensim():
# channel_base = channel_base + ""
#</FS:TS>
substitution_strings = {
'channel_vendor_base' : '_'.join(channel_base.split()),
@@ -345,8 +345,8 @@ class ViewerManifest(LLManifest,FSViewerManifest):
app_suffix=self.channel_variant()
#<FS:ND> tag "OS" after CHANNEL_VENDOR_BASE and before any suffix
if self.fs_is_opensim():
app_suffix = "OS" + app_suffix
# if self.pm_is_opensim():
# app_suffix = "" + app_suffix
#</FS:ND>
#<FS:ND> Don't separate name by whitespace. This break a lot of things in the old FS installer logic.
@@ -374,8 +374,8 @@ class ViewerManifest(LLManifest,FSViewerManifest):
if chan in ['alpha', 'nightly','manual', 'profiling']:
chan = 'test'
if self.fs_is_opensim():
return "icons/" + chan + "-os"
# if self.pm_is_opensim():
# return "icons/" + chan + "-os"
# </FS:ND>
return "icons/" + chan
@@ -616,7 +616,7 @@ class Windows_x86_64_Manifest(ViewerManifest):
debpkgdir = os.path.join(pkgdir, "lib", "debug")
if self.is_packaging_viewer():
# Find firestorm-bin.exe in the 'configuration' dir, then rename it to the result of final_exe.
# Find puma-bin.exe in the 'configuration' dir, then rename it to the result of final_exe.
self.path(src='%s/puma-bin.exe' % self.args['configuration'], dst=self.final_exe())
# Emit the whole app image as one of the GitHub step outputs. We
# want the whole app -- but NOT the extraneous build products that
@@ -855,7 +855,7 @@ class Windows_x86_64_Manifest(ViewerManifest):
if not self.is_packaging_viewer():
self.package_file = "copied_deps"
self.fs_copy_windows_manifest( )
self.pm_copy_windows_manifest( )
def nsi_file_commands(self, install=True):
# <FS:Ansariel> Undo Github-Build stuff - I don't think we need this
@@ -943,17 +943,17 @@ class Windows_x86_64_Manifest(ViewerManifest):
# </FS:Ansariel>
def dl_url_from_channel(self):
if self.channel_type() == 'release':
return 'https://www.firestormviewer.org/choose-your-platform'
return 'https://wiki.avataresargentinos.com.ar/descargas'
elif self.channel_type() == 'beta':
return 'https://www.firestormviewer.org/early-access-beta-downloads'
return 'https://wiki.avataresargentinos.com.ar/descargas'
elif self.channel_type() == 'alpha':
return 'https://www.firestormviewer.org/early-access-alpha-downloads'
return 'https://wiki.avataresargentinos.com.ar/descargas'
elif self.channel_type() == 'manual':
return 'https://www.firestormviewer.org/early-access-manual-downloads'
return 'https://wiki.avataresargentinos.com.ar/descargas'
elif self.channel_type() == 'profiling':
return 'https://www.firestormviewer.org/profiling-downloads'
return 'https://wiki.avataresargentinos.com.ar/descargas'
elif self.channel_type() == 'nightly':
return 'https://www.firestormviewer.org/firestorm-nightly-build-downloads'
return 'https://wiki.avataresargentinos.com.ar/descargas'
else:
return '<NO-URL>'
@@ -972,19 +972,19 @@ class Windows_x86_64_Manifest(ViewerManifest):
'dl_url':self.dl_url_from_channel()
}
substitution_strings = self.fs_splice_grid_substitution_strings( substitution_strings ) #<FS:ND/> Add grid args
substitution_strings = self.pm_splice_grid_substitution_strings( substitution_strings ) #<FS:ND/> Add grid args
# <FS:ND> Properly name OS version, also add Phoenix- in front of installer name
#installer_file = self.installer_base_name() + '_Setup.exe'
installer_file = self.fs_installer_basename() + "_Setup.exe"
installer_file = self.pm_installer_basename() + "_Setup.exe"
# </FS:ND>
substitution_strings['installer_file'] = installer_file
substitution_strings['is64bit'] = (1 if (self.address_size == 64) else 0)
substitution_strings['isavx2'] = (1 if (self.fs_is_avx2()) else 0)
substitution_strings['is_opensim'] = self.fs_is_opensim() # <FS:Ansariel> FIRE-30446: Register hop-protocol for OS version only
substitution_strings['isavx2'] = (1 if (self.pm_is_avx2()) else 0)
substitution_strings['is_opensim'] = self.pm_is_opensim() # <FS:Ansariel> FIRE-30446: Register hop-protocol for OS version only
substitution_strings['friendly_app_name'] = self.friendly_app_name() # <FS:Ansariel> FIRE-30446: Set FriendlyAppName for protocol registrations
substitution_strings['icon_suffix'] = ("_os" if (self.fs_is_opensim()) else "") # <FS:Ansariel> FIRE-24335: Use different icon for OpenSim version
substitution_strings['icon_suffix'] = ("_os" if (self.pm_is_opensim()) else "") # <FS:Ansariel> FIRE-24335: Use different icon for OpenSim version
version_vars = """
!define INSTEXE "SLVersionChecker.exe"
@@ -1029,7 +1029,7 @@ class Windows_x86_64_Manifest(ViewerManifest):
tempfile = "puma_setup_tmp.nsi"
self.fs_sign_win_binaries() # <FS:ND/> Sign files, step one. Sign compiled binaries
self.pm_sign_win_binaries() # <FS:ND/> Sign files, step one. Sign compiled binaries
# the following replaces strings in the nsi template
# it also does python-style % substitution
@@ -1059,8 +1059,8 @@ class Windows_x86_64_Manifest(ViewerManifest):
self.run_command([possible_path, '/V2', self.dst_path_of(tempfile)])
self.fs_sign_win_installer(substitution_strings) # <FS:ND/> Sign files, step two. Sign installer.
self.fs_save_windows_symbols()
self.pm_sign_win_installer(substitution_strings) # <FS:ND/> Sign files, step two. Sign installer.
self.pm_save_windows_symbols()
self.created_path(self.dst_path_of(installer_file))
self.package_file = installer_file
@@ -1814,7 +1814,7 @@ class Darwin_x86_64_Manifest(ViewerManifest):
# <FS:ND> Make sure all our package names look similar
#imagename = self.installer_base_name()
imagename = self.fs_installer_basename()
imagename = self.pm_installer_basename()
# </FS:ND>
sparsename = imagename + ".sparseimage"
@@ -1850,8 +1850,8 @@ class Darwin_x86_64_Manifest(ViewerManifest):
# - Ambroff 2008-08-20
#<FS:TS> Select proper directory based on flavor and build type
dmg_template_prefix = 'puma'
if self.fs_is_opensim():
dmg_template_prefix = 'pumaos'
if self.pm_is_opensim():
dmg_template_prefix = 'puma'
dmg_template = os.path.join(
'installers', 'darwin', '%s-%s-dmg' % (dmg_template_prefix, self.channel_type()))
print ("Trying template directory", dmg_template)
@@ -1970,7 +1970,7 @@ class Darwin_x86_64_Manifest(ViewerManifest):
plain_sign += glob.glob( app_in_dmg + "/Contents/Frameworks/Chromium Embedded Framework.framework/Libraries/*.dylib" )
deep_sign = [
# <FS:ND> Firestorm does not ship SLVersionChecker
# <FS:ND> Puma does not ship SLVersionChecker
#resources + "updater/SLVersionChecker",
resources + "SLPlugin.app/Contents/MacOS/SLPlugin",
resources + "SLVoice",
@@ -2032,7 +2032,7 @@ class Darwin_x86_64_Manifest(ViewerManifest):
# get rid of the temp file
self.package_file = finalname
self.remove(sparsename)
self.fs_save_osx_symbols()
self.pm_save_osx_symbols()
class LinuxManifest(ViewerManifest):
@@ -2209,7 +2209,7 @@ class LinuxManifest(ViewerManifest):
#self.path("libexpat.so*")
#self.path("libssl.so*")
#self.path("libGLOD.so")
#self.fs_path("libminizip.so")
#self.pm_path("libminizip.so")
self.path("libuuid.so*")
self.path("libSDL*.so*")
self.path_optional("libdirectfb*.so*")
@@ -2271,12 +2271,12 @@ class LinuxManifest(ViewerManifest):
# a standard map of strings for replacing in the templates
#installer_name = self.installer_base_name()
installer_name = self.fs_installer_basename()
installer_name = self.pm_installer_basename()
self.fs_save_breakpad_symbols("linux")
self.fs_delete_linux_symbols() # <FS:ND/> Delete old syms
self.pm_save_breakpad_symbols("linux")
self.pm_delete_linux_symbols() # <FS:ND/> Delete old syms
self.strip_binaries()
self.fs_save_linux_symbols() # <FS:ND/> Package symbols, add debug link
self.pm_save_linux_symbols() # <FS:ND/> Package symbols, add debug link
# Fix access permissions
self.run_command(['find', self.get_dst_prefix(),
@@ -2298,7 +2298,7 @@ class LinuxManifest(ViewerManifest):
# --numeric-owner hides the username of the builder for
# security etc.
self.run_command(['tar', '-C', self.get_build_prefix(),
'--numeric-owner', self.fs_linux_tar_excludes(), '-caf',
'--numeric-owner', self.pm_linux_tar_excludes(), '-caf',
tempname + '.tar.xz', installer_name])
else:
print("Skipping %s.tar.xz for non-Release build (%s)" % \
@@ -2396,7 +2396,7 @@ class Linux_i686_Manifest(LinuxManifest):
#self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib
self.path("libvivoxsdk.so")
self.fs_delete_linux_symbols() # <FS:ND/> Delete old syms
self.pm_delete_linux_symbols() # <FS:ND/> Delete old syms
self.strip_binaries()