PackageInstaller: Fix Paladin installation

... and perhaps more packages build for pre-PM Haiku.
 * Restore the original path rewriting of "/boot/system"
   alongside rewriting "/boot/beos/system".
 * Rewrite "/boot/apps" in install scripts. This one fits
   the existing TODO that the rewriting should not use
   hard-coded replacement paths.
 * Fixes ticket #10875
This commit is contained in:
Stephan Aßmus 2014-05-28 22:38:13 +02:00
parent b03e8ffe7f
commit ecf119cc17

View File

@ -221,6 +221,13 @@ PackageItem::InitPath(const char* path, BPath* destination)
pathString.ReplaceFirst("/boot/beos/system",
systemNonPackagedDir.Path());
wasRewritten = true;
} else if (pathString.StartsWith("/boot/system")) {
BPath systemNonPackagedDir;
find_directory(B_SYSTEM_NONPACKAGED_DIRECTORY,
&systemNonPackagedDir);
pathString.ReplaceFirst("/boot/system",
systemNonPackagedDir.Path());
wasRewritten = true;
} else if (pathString.StartsWith("/boot/home/config")) {
BPath userNonPackagedDir;
find_directory(B_USER_NONPACKAGED_DIRECTORY, &userNonPackagedDir);
@ -596,6 +603,9 @@ PackageScript::DoInstall(const char* path, ItemState* state)
script.ReplaceAll(
"/boot/preferences",
"/boot/system/preferences");
script.ReplaceAll(
"/boot/apps",
"/boot/system/non-packaged/apps");
script.ReplaceAll(
"~/config/add-ons/Screen\\ Savers",
"~/config/non-packaged/add-ons/Screen\\ Savers");