Fix remaining issues with new packaging system (mostly Linux)

Thanks to Duncan Armundsen and Damian Zhaoying for the pointers
(merges slightly with alchemy)
This commit is contained in:
Inusaito Sayori
2015-01-27 12:08:46 -05:00
parent a35f159117
commit a7c424fc68
10 changed files with 35 additions and 49 deletions

View File

@@ -93,15 +93,18 @@ LLDir_Linux::LLDir_Linux()
#else
mAppRODataDir = tmp_str;
#endif
std::string::size_type build_dir_pos = mExecutableDir.rfind("/indra/viewer-linux-");
std::string::size_type build_dir_pos = mExecutableDir.rfind("/build-linux-");
if (build_dir_pos != std::string::npos)
{
// ...we're in a dev checkout
mSkinBaseDir = mExecutableDir.substr(0, build_dir_pos) + "/indra/newview/skins";
llinfos << "Running in dev checkout with mSkinBaseDir "
<< mSkinBaseDir << llendl;
if (LLFile::isdir(mSkinBaseDir))
llinfos << "Running in dev checkout with mSkinBaseDir "
<< mSkinBaseDir << LL_ENDL;
else
mSkinBaseDir = "";
}
else
if (mSkinBaseDir.empty())
{
// ...normal installation running
mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";

View File

@@ -130,7 +130,7 @@ LLDir_Win32::LLDir_Win32()
{
w_str[size] = '\0';
mExecutablePathAndName = utf16str_to_utf8str(llutf16string(w_str));
S32 path_end = mExecutablePathAndName.find_last_of('\\');
size_t path_end = mExecutablePathAndName.find_last_of('\\');
if (path_end != std::string::npos)
{
mExecutableDir = mExecutablePathAndName.substr(0, path_end);
@@ -156,6 +156,8 @@ LLDir_Win32::LLDir_Win32()
mAppRODataDir = mWorkingDir;
// if (mExecutableDir.find("indra") == std::string::npos)
// *NOTE:Mani - It is a mistake to put viewer specific code in
// the LLDir implementation. The references to 'skins' and
// 'llplugin' need to go somewhere else.
@@ -168,20 +170,9 @@ LLDir_Win32::LLDir_Win32()
mAppRODataDir = mExecutableDir;
}
llinfos << "mAppRODataDir = " << mAppRODataDir << llendl;
// LL_INFOS() << "mAppRODataDir = " << mAppRODataDir << LL_ENDL;
std::string::size_type build_dir_pos = mExecutableDir.rfind("indra" + mDirDelimiter);
if (build_dir_pos != std::string::npos)
{
// ...we're in a dev checkout
mSkinBaseDir = mExecutableDir.substr(0, build_dir_pos) + "indra" + mDirDelimiter + "newview" + mDirDelimiter + "skins";
llinfos << "Running in dev checkout with mSkinBaseDir " << mSkinBaseDir << llendl;
}
else
{
// ...normal installation running
mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";
}
mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";
// Build the default cache directory
mDefaultCacheDir = buildSLOSCacheDir();

View File

@@ -41,7 +41,7 @@ applications such as the Second Life Viewer, as follows:
* Ubuntu or Gentoo Linux Configuration:
For a quick start, you can simply paste the following line into a terminal
before plugging in your SpaceNavigator - this only needs to be done once:
sudo bash -c 'echo KERNEL==\"event[0-9]*\", SYSFS{idVendor}==\"046d\", SYSFS{idProduct}==\"c626\", SYMLINK+=\"input/spacenavigator\", GROUP=\"plugdev\", MODE=\"664\" >> /etc/udev/rules.d/91-spacenavigator.rules'
sudo bash -c 'echo KERNEL==\"event[0-9]*\", SYSFS{idVendor}==\"046d\", SYSFS{idProduct}==\"c626\", SYMLINK+=\"input/spacenavigator\", GROUP=\"plugdev\", MODE=\"664\" > /etc/udev/rules.d/91-spacenavigator-LL.rules ; echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><deviceinfo version=\"0.2\"><device><match key=\"info.product\" contains=\"3Dconnexion SpaceNavigator\"><merge key=\"input.x11_driver\" type=\"string\"></merge></match></device></deviceinfo>" > /etc/hal/fdi/policy/3Dconnexion_SpaceNavigator_LL.fdi'
For more comprehensive Linux SpaceNavigator configuration information please
see the section 'Installing SpaceNavigator without the official driver' here:

View File

@@ -22,18 +22,10 @@ REQUIREMENTS
-=-=-=-=-=-=
* A headset/microphone supported by your chosen version of Linux
* The ALSA sound system (you probably already have this -
i.e. the alsa-base and alsa-utils packages on Ubuntu)
Success with Linux Voice support has been reported on the following
systems:
* Ubuntu 6.06 (Dapper) with Intel ICH5/CMI9761A+ audio chipset
* Ubuntu 6.06 (Dapper) with SigmaTel STAC2997 audio chipset
* Ubuntu 6.06 (Dapper) with Creative EMU10K1 audio chipset
* Ubuntu 7.04 (Feisty) with USB Plantronics headset
* Ubuntu 7.04 (Feisty) with Intel HDA audio chipset
* Fedora Core 6 with (unknown) audio chipset
* Ubuntu 8.04 (Hardy) with (unknown) audio chipset
* At this time, the PulseAudio audio system is recommended; this software
is already part of most modern (2009+) Linux desktop systems. Alternatively,
the ALSA audio system may be used on systems installed from around
2007 onwards (again this is likely already installed on your system).
TESTING YOUR SETTINGS
-=-=-=-=-=-=-=-=-=-=-
@@ -45,8 +37,8 @@ when you speak.
KNOWN PROBLEMS
-=-=-=-=-=-=-=
* The 'Input Level' meter in the Voice Chat Device Settings dialog
does not respond to audio input.
* Compatibility with old ALSA-based audio systems (such as Ubuntu Dapper
from 2006) is poor.
TROUBLESHOOTING
-=-=-=-=-=-=-=-

View File

@@ -55,10 +55,13 @@ Minimum requirements:
is required. If you are running a 64-bit Linux distribution then
you will need its 32-bit compatibility environment installed, but
this configuration is not currently supported.
* PulseAudio or ALSA Linux system sound software. A recent PulseAudio
is the recommended configuration; see README-linux-voice.txt for more
information.
* Video/Graphics Card:
o nVidia GeForce 2, GeForce 4mx, or better (recommend one of the
following: 6700, 6800, 7600, 7800, 7900, 8400, 8500, 8600,
8800, Go 7400, Go 7600, Go 7800, Go 7900)
8800, Go 7400, Go 7600, Go 7800, Go 7900, +)
o OR ATI Radeon 8500, 9250, or better
(nVidia cards are recommended for the Linux client)
@@ -97,10 +100,7 @@ you wish.
4. KNOWN ISSUES
-=-=-=-=-=-=-=-
* UPDATING - when the client detects that a new version of Second Life
is available, it will ask you if you wish to download the new version.
This option is not implemented; to upgrade, you should manually download a
new version from the Second Life web site, <http://www.secondlife.com/>.
* No significant known issues at this time.
5. TROUBLESHOOTING

View File

@@ -11,7 +11,7 @@ if [ -z "$URL" ]; then
fi
RUN_PATH=`dirname "$0" || echo .`
cd "${RUN_PATH}"
cd "${RUN_PATH}/.."
exec ./@VIEWER_BRANDING_ID@ -url \'"${URL}"\'

View File

@@ -77,7 +77,7 @@ function root_install()
install_to_prefix "$install_prefix"
mkdir -p /usr/local/share/applications
${install_prefix}/refresh_desktop_app_entry.sh
${install_prefix}/etc/refresh_desktop_app_entry.sh
}
function install_to_prefix()

View File

@@ -3,7 +3,7 @@
SCRIPTSRC=`readlink -f "$0" || echo "$0"`
RUN_PATH=`dirname "${SCRIPTSRC}" || echo .`
install_prefix=${RUN_PATH}
install_prefix=${RUN_PATH}/..
function install_desktop_entry()
{

View File

@@ -109,10 +109,10 @@ echo "Running from ${RUN_PATH}"
cd "${RUN_PATH}"
# Re-register the secondlife:// protocol handler every launch, for now.
./register_secondlifeprotocol.sh
./etc/register_secondlifeprotocol.sh
# Re-register the application with the desktop system every launch, for now.
./refresh_desktop_app_entry.sh
./etc/refresh_desktop_app_entry.sh
## Before we mess with LD_LIBRARY_PATH, save the old one to restore for
## subprocesses that care.
@@ -144,10 +144,10 @@ fi
export VIEWER_BINARY='@VIEWER_BRANDING_ID@-do-not-run-directly'
BINARY_TYPE=$(expr match "$(file -b bin/$VIEWER_BINARY)" '\(.*executable\)' | sed -e 's/ / /g')
if [ "${BINARY_TYPE}" == "ELF 64-bit LSB executable" ]; then
SL_ENV+='LD_LIBRARY_PATH="`pwd`/lib64:`pwd`/lib32:$LD_LIBRARY_PATH"'
if [ "${BINARY_TYPE}" == "ELF 32-bit LSB executable" ]; then
SL_ENV+='LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"'
else
SL_ENV+='LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"'
SL_ENV+='LD_LIBRARY_PATH="`pwd`/lib64:`pwd`/lib32:$LD_LIBRARY_PATH"'
fi
export SL_CMD='$LL_WRAPPER bin/$VIEWER_BINARY'

View File

@@ -900,7 +900,7 @@ class Linux_x86_64Manifest(LinuxManifest):
def construct(self):
super(Linux_x86_64Manifest, self).construct()
if (not self.standalone()) and self.prefix(src="../packages/lib/release", alt_build="../packages/libraries/x86_64-linux/lib/release", dst="lib"):
if (not self.standalone()) and self.prefix(src="../packages/lib/release", alt_build="../packages/libraries/x86_64-linux/lib/release", dst="lib64"):
self.path("libapr-1.so*")
self.path("libaprutil-1.so*")
@@ -933,9 +933,9 @@ class Linux_x86_64Manifest(LinuxManifest):
self.path("libboost_system-mt.so.*")
self.path("libboost_thread-mt.so.*")
self.end_prefix("lib")
self.end_prefix("lib64")
if (not self.standalone()) and self.prefix(src='', alt_build="../packages/lib/release", dst="lib"):
if (not self.standalone()) and self.prefix(src='', alt_build="../packages/lib/release", dst="lib64"):
self.add_extra_libraries()
self.end_prefix()