From 323b65468e5836bb27a5e373b14027d902349437 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Tue, 22 Nov 2011 02:44:32 +0100 Subject: [PATCH] Filtered flat import of Oliver's svn package management branch Bring the changes that aren't package management related and the ones that are but don't take effect as long as they are ignored by the build system into the master. Summary of changes: * Introduce private header with constants for a good deal of paths that should usually be retrieved via find_directory(). * Replace hard-coded paths by using find_directory() or the constants (e.g. in drivers and the kernel). * Add find_directory() constants needed for package management. * Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros. * src/apps/deskbar: BeMenu.* -> DeskbarMenu.*, DeskBarUtils.* -> DeskbarUtils.* * Change deskbar menu settings directory from ~/config/be to ~/config/settings/deskbar. * Other smaller cleanups, changes, and fixes. --- build/jam/HaikuImage | 20 +- build/jam/ImageRules | 5 +- headers/config/HaikuConfig.h | 11 + headers/os/BeBuild.h | 2 + headers/os/storage/FindDirectory.h | 30 +++ headers/private/libroot/directories.h | 68 ++++++ .../screen_saver/ScreenSaverFilter.cpp | 2 +- .../shortcut_catcher/ParseCommandLine.cpp | 24 ++- src/add-ons/kernel/debugger/hangman/hangman.c | 3 +- .../kernel/drivers/audio/ac97/auich/Jamfile | 2 +- .../kernel/drivers/audio/ac97/auich/debug.c | 14 +- .../kernel/drivers/audio/ac97/auvia/Jamfile | 2 +- .../kernel/drivers/audio/ac97/auvia/debug.c | 14 +- .../kernel/drivers/audio/ac97/es1370/Jamfile | 2 +- .../kernel/drivers/audio/ac97/es1370/debug.c | 14 +- .../kernel/drivers/audio/ac97/ich/Jamfile | 2 +- .../kernel/drivers/audio/ac97/ich/debug.c | 14 +- .../kernel/drivers/audio/echo/24/Jamfile | 2 +- .../kernel/drivers/audio/echo/3g/Jamfile | 2 +- src/add-ons/kernel/drivers/audio/echo/debug.c | 14 +- .../kernel/drivers/audio/echo/gals/Jamfile | 2 +- .../kernel/drivers/audio/echo/indigo/Jamfile | 2 +- .../kernel/drivers/audio/emuxki/Jamfile | 2 +- .../kernel/drivers/audio/emuxki/debug.c | 14 +- .../drivers/audio/module_driver/Jamfile | 2 +- .../audio/module_driver/audio_module_driver.c | 35 ++- .../kernel/drivers/graphics/matrox/Jamfile | 2 +- .../kernel/drivers/graphics/matrox/driver.c | 3 +- .../kernel/drivers/graphics/neomagic/Jamfile | 2 +- .../kernel/drivers/graphics/neomagic/driver.c | 4 +- .../kernel/drivers/graphics/nvidia/Jamfile | 2 +- .../kernel/drivers/graphics/nvidia/driver.c | 3 +- .../drivers/graphics/nvidia_gpgpu/Jamfile | 2 +- .../drivers/graphics/nvidia_gpgpu/driver.c | 3 +- .../kernel/drivers/graphics/skeleton/Jamfile | 2 +- .../kernel/drivers/graphics/skeleton/driver.c | 4 +- .../kernel/drivers/graphics/via/Jamfile | 2 +- .../kernel/drivers/graphics/via/driver.c | 4 +- .../kernel/drivers/network/sis900/Jamfile | 2 +- .../kernel/drivers/network/sis900/device.c | 4 +- .../network/wwan/usb_beceemwmx/Driver.h | 7 +- .../network/wwan/usb_beceemwmx/Jamfile | 2 +- .../kernel/drivers/ports/pc_serial/Jamfile | 1 + .../drivers/ports/pc_serial/Tracing.cpp | 5 +- .../kernel/drivers/ports/usb_serial/Jamfile | 1 + .../drivers/ports/usb_serial/Tracing.cpp | 3 +- .../kernel/drivers/video/usb_vision/Jamfile | 2 +- .../kernel/drivers/video/usb_vision/tracing.c | 4 +- .../userlandfs/kernel_add_on/Jamfile | 2 +- .../userlandfs/shared/driver_settings.c | 3 +- src/add-ons/kernel/generic/mpu401/Jamfile | 2 + src/add-ons/kernel/generic/mpu401/debug.c | 19 +- .../network/ppp/shared/libkernelppp/Jamfile | 2 +- .../ppp/shared/libkernelppp/headers/PPPDefs.h | 6 +- src/apps/deskbar/BarApp.cpp | 8 +- src/apps/deskbar/BarMenuBar.cpp | 22 +- src/apps/deskbar/BarMenuBar.h | 2 +- src/apps/deskbar/BarMenuTitle.cpp | 4 +- src/apps/deskbar/BarView.cpp | 26 +-- src/apps/deskbar/BarView.h | 6 +- src/apps/deskbar/BarWindow.cpp | 40 ++-- src/apps/deskbar/BarWindow.h | 10 +- .../deskbar/{BeMenu.cpp => DeskbarMenu.cpp} | 48 +++-- src/apps/deskbar/{BeMenu.h => DeskbarMenu.h} | 14 +- .../{DeskBarUtils.cpp => DeskbarUtils.cpp} | 4 +- .../{DeskBarUtils.h => DeskbarUtils.h} | 2 +- src/apps/deskbar/ExpandoMenuBar.cpp | 39 ++-- src/apps/deskbar/ExpandoMenuBar.h | 8 +- src/apps/deskbar/Jamfile | 6 +- src/apps/deskbar/StatusView.cpp | 2 +- src/apps/deskbar/TeamMenu.cpp | 2 +- src/apps/processcontroller/PCWorld.cpp | 14 +- .../processcontroller/ProcessController.cpp | 34 ++- src/apps/remotedesktop/RemoteDesktop.cpp | 16 +- src/bin/bash/config-top.h | 5 +- src/bin/bash/pathnames.h | 3 +- src/bin/debug/profile/profile.cpp | 10 +- src/bin/finddir.c | 30 +++ src/bin/package/command_list.cpp | 4 +- src/kits/app/Roster.cpp | 15 +- src/kits/locale/MutableLocaleRoster.cpp | 4 +- src/kits/opengl/GLRendererRoster.cpp | 4 +- src/kits/package/PackageInfo.cpp | 199 +++++++++++------- src/kits/print/PrintTransport.cpp | 19 +- src/kits/print/Printer.cpp | 11 +- src/kits/print/PrinterDriverAddOn.cpp | 2 +- src/kits/screensaver/ScreenSaverRunner.cpp | 7 +- .../storage/disk_device/DiskDeviceRoster.cpp | 2 +- .../disk_device/DiskSystemAddOnManager.cpp | 2 +- src/kits/tracker/DeskWindow.cpp | 2 +- src/kits/translation/TranslatorRoster.cpp | 4 +- src/libs/print/libgutenprint/config.h | 4 +- src/libs/print/libprint/Transport.cpp | 21 +- src/preferences/printers/AddPrinterDialog.cpp | 4 +- .../screensaver/ScreenSaverWindow.cpp | 7 +- src/servers/app/Desktop.cpp | 9 +- .../app/drawing/AccelerantHWInterface.cpp | 4 +- .../app/drawing/DWindowHWInterface.cpp | 4 +- src/servers/debug/DebugServer.cpp | 74 +++++-- src/servers/index/IndexServer.cpp | 6 +- src/servers/input/AddOnManager.cpp | 6 +- src/servers/media/AddOnManager.cpp | 6 +- src/servers/media_addon/MediaAddonServer.cpp | 6 +- src/servers/print/PrintServerApp.cpp | 2 +- src/servers/registrar/TRoster.cpp | 11 +- src/servers/registrar/TRoster.h | 3 + src/system/boot/loader/loader.cpp | 11 +- src/system/kernel/fs/vfs_boot.cpp | 11 +- src/system/kernel/main.cpp | 4 +- src/system/kernel/team.cpp | 2 +- src/system/libroot/os/driver_settings.cpp | 5 +- src/system/libroot/os/find_directory.cpp | 119 ++++++++--- src/system/libroot/posix/unistd/conf.cpp | 5 +- src/system/runtime_loader/Jamfile | 2 +- src/system/runtime_loader/runtime_loader.cpp | 39 ++-- .../kits/translation/TranslationUtilsTest.cpp | 3 +- .../kits/translation/TranslatorRosterTest.cpp | 3 +- .../drawing/AccelerantHWInterface.cpp | 4 +- .../translation/inspector/InspectorApp.cpp | 3 +- 119 files changed, 965 insertions(+), 445 deletions(-) create mode 100644 headers/private/libroot/directories.h rename src/apps/deskbar/{BeMenu.cpp => DeskbarMenu.cpp} (94%) rename src/apps/deskbar/{BeMenu.h => DeskbarMenu.h} (93%) rename src/apps/deskbar/{DeskBarUtils.cpp => DeskbarUtils.cpp} (96%) rename src/apps/deskbar/{DeskBarUtils.h => DeskbarUtils.h} (96%) diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index 23c25af6df..e86139f03c 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -360,8 +360,9 @@ AddDirectoryToHaikuImage home mail draft ; AddDirectoryToHaikuImage home mail in ; AddDirectoryToHaikuImage home mail out ; +AddSymlinkToHaikuImage home config settings : deskbar : be ; # Deskbar Application links -AddDirectoryToHaikuImage home config be Applications ; +AddDirectoryToHaikuImage home config settings deskbar Applications ; DESKBAR_APPLICATIONS = ActivityMonitor CharacterMap CodyCam CDPlayer DeskCalc Devices DiskProbe DriveSetup DiskUsage Expander Icon-O-Matic Installer Magnify Mail MediaConverter MediaPlayer MidiPlayer People PoorMan @@ -369,32 +370,33 @@ DESKBAR_APPLICATIONS = ActivityMonitor CharacterMap CodyCam CDPlayer DeskCalc ; local linkTarget ; for linkTarget in $(DESKBAR_APPLICATIONS) { - AddSymlinkToHaikuImage home config be Applications + AddSymlinkToHaikuImage home config settings deskbar Applications : /boot/system/apps/$(linkTarget) : $(linkTarget) ; } # Deskbar Desktop applets links -AddDirectoryToHaikuImage home config be Desktop\ applets ; +AddDirectoryToHaikuImage home config settings deskbar Desktop\ applets ; DESKBAR_DESKTOP_APPLETS = LaunchBox NetworkStatus PowerStatus ProcessController Workspaces ; for linkTarget in $(DESKBAR_DESKTOP_APPLETS) { - AddSymlinkToHaikuImage home config be Desktop\ applets + AddSymlinkToHaikuImage home config settings deskbar Desktop\ applets : /boot/system/apps/$(linkTarget) : $(linkTarget) ; } # Deskbar Preferences links -AddDirectoryToHaikuImage home config be Preferences ; +AddDirectoryToHaikuImage home config settings deskbar Preferences ; DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ; for linkTarget in $(DESKBAR_PREFERENCES) { - AddSymlinkToHaikuImage home config be Preferences - : /boot/system/preferences/$(linkTarget) : $(linkTarget) ; + AddSymlinkToHaikuImage home config settings deskbar Preferences + : /boot/system/preferences/$(linkTarget) + : $(linkTarget) ; } # Deskbar Demo links -AddDirectoryToHaikuImage home config be Demos ; +AddDirectoryToHaikuImage home config settings deskbar Demos ; for linkTarget in $(SYSTEM_DEMOS) { - AddSymlinkToHaikuImage home config be Demos + AddSymlinkToHaikuImage home config settings deskbar Demos : /boot/system/demos/$(linkTarget) : $(linkTarget) ; } diff --git a/build/jam/ImageRules b/build/jam/ImageRules index 0954a6cff3..48ebb82b6e 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -672,6 +672,8 @@ rule AddSymlinkToHaikuImage directoryTokens : linkTarget : linkName { # AddSymlinkToHaikuImage : [ : ] ; + linkTarget = $(linkTarget:J=/) ; + AddSymlinkToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(directoryTokens) : $(linkTarget) : $(linkName) ; } @@ -917,7 +919,8 @@ rule AddExpanderRuleToHaikuImage mimetype : extension : list : extract Exit "Invalid expander rule specification passed to AddExpanderRule." ; } - local entry = "\\\"$(mimetype)\\\"\\\t$(extension)\\\t\\\"$(list)\\\"\\\t\\\"$(extract)\\\"" ; + local entry + = "\\\"$(mimetype)\\\"\\\t$(extension)\\\t\\\"$(list)\\\"\\\t\\\"$(extract)\\\"" ; AddEntryToHaikuImageExpanderRuleFile expander.rules : $(entry) ; } diff --git a/headers/config/HaikuConfig.h b/headers/config/HaikuConfig.h index 7c2b3b992c..ca25ae720b 100644 --- a/headers/config/HaikuConfig.h +++ b/headers/config/HaikuConfig.h @@ -9,6 +9,7 @@ /* Determine the architecture and define macros for some fundamental properties: __HAIKU_ARCH - short name of the architecture (used in paths) + __HAIKU_ARCH_ABI - name of ABI (as in package architecture) __HAIKU_ARCH_ - defined to 1 for the respective architecture __HAIKU_ARCH_BITS - defined to 32/64 on 32/64 bit architectures (defaults to 32) @@ -19,25 +20,35 @@ */ #ifdef __INTEL__ # define __HAIKU_ARCH x86 +# if __GNUC__ == 2 +# define __HAIKU_ARCH_ABI "x86_gcc2" +# else +# define __HAIKU_ARCH_ABI "x86" +# endif # define __HAIKU_ARCH_X86 1 # define __HAIKU_ARCH_PHYSICAL_BITS 64 #elif __x86_64__ # define __HAIKU_ARCH x86_64 +# define __HAIKU_ARCH_ABI "x86_64" # define __HAIKU_ARCH_X86_64 1 # define __HAIKU_ARCH_BITS 64 #elif __POWERPC__ # define __HAIKU_ARCH ppc +# define __HAIKU_ARCH_ABI "ppc" # define __HAIKU_ARCH_PPC 1 # define __HAIKU_BIG_ENDIAN 1 #elif __M68K__ # define __HAIKU_ARCH m68k +# define __HAIKU_ARCH_ABI "m68k" # define __HAIKU_ARCH_M68K 1 # define __HAIKU_BIG_ENDIAN 1 #elif __MIPSEL__ # define __HAIKU_ARCH mipsel +# define __HAIKU_ARCH_ABI "mipsel" # define __HAIKU_ARCH_MIPSEL 1 #elif __ARM__ # define __HAIKU_ARCH arm +# define __HAIKU_ARCH_ABI "arm" # define __HAIKU_ARCH_ARM 1 #else # error Unsupported architecture! diff --git a/headers/os/BeBuild.h b/headers/os/BeBuild.h index f2067abf72..9b2e8ca0b0 100644 --- a/headers/os/BeBuild.h +++ b/headers/os/BeBuild.h @@ -39,6 +39,8 @@ #define B_HAIKU_ABI_GCC_2_BEOS 0x00020001 #define B_HAIKU_ABI_GCC_2_HAIKU 0x00020002 +#define B_HAIKU_ABI_NAME __HAIKU_ARCH_ABI + #if __GNUC__ == 2 # define B_HAIKU_ABI B_HAIKU_ABI_GCC_2_HAIKU #elif __GNUC__ == 4 diff --git a/headers/os/storage/FindDirectory.h b/headers/os/storage/FindDirectory.h index f7814475ec..e5550cfb7e 100644 --- a/headers/os/storage/FindDirectory.h +++ b/headers/os/storage/FindDirectory.h @@ -29,6 +29,9 @@ typedef enum { B_SYSTEM_MEDIA_NODES_DIRECTORY, B_SYSTEM_SOUNDS_DIRECTORY, B_SYSTEM_DATA_DIRECTORY, + B_SYSTEM_DEVELOP_DIRECTORY, + B_SYSTEM_PACKAGES_DIRECTORY, + B_SYSTEM_HEADERS_DIRECTORY, /* Common directories, shared among all users. */ B_COMMON_DIRECTORY = 2000, @@ -52,6 +55,19 @@ typedef enum { B_COMMON_SOUNDS_DIRECTORY, B_COMMON_DATA_DIRECTORY, B_COMMON_CACHE_DIRECTORY, + B_COMMON_PACKAGES_DIRECTORY, + B_COMMON_HEADERS_DIRECTORY, + B_COMMON_NONPACKAGED_DIRECTORY, + B_COMMON_NONPACKAGED_ADDONS_DIRECTORY, + B_COMMON_NONPACKAGED_TRANSLATORS_DIRECTORY, + B_COMMON_NONPACKAGED_MEDIA_NODES_DIRECTORY, + B_COMMON_NONPACKAGED_BIN_DIRECTORY, + B_COMMON_NONPACKAGED_DATA_DIRECTORY, + B_COMMON_NONPACKAGED_FONTS_DIRECTORY, + B_COMMON_NONPACKAGED_SOUNDS_DIRECTORY, + B_COMMON_NONPACKAGED_DOCUMENTATION_DIRECTORY, + B_COMMON_NONPACKAGED_LIB_DIRECTORY, + B_COMMON_NONPACKAGED_HEADERS_DIRECTORY, /* User directories. These are interpreted in the context of the user making the find_directory call. */ @@ -69,11 +85,25 @@ typedef enum { B_USER_SOUNDS_DIRECTORY, B_USER_DATA_DIRECTORY, B_USER_CACHE_DIRECTORY, + B_USER_PACKAGES_DIRECTORY, + B_USER_HEADERS_DIRECTORY, + B_USER_NONPACKAGED_DIRECTORY, + B_USER_NONPACKAGED_ADDONS_DIRECTORY, + B_USER_NONPACKAGED_TRANSLATORS_DIRECTORY, + B_USER_NONPACKAGED_MEDIA_NODES_DIRECTORY, + B_USER_NONPACKAGED_BIN_DIRECTORY, + B_USER_NONPACKAGED_DATA_DIRECTORY, + B_USER_NONPACKAGED_FONTS_DIRECTORY, + B_USER_NONPACKAGED_SOUNDS_DIRECTORY, + B_USER_NONPACKAGED_DOCUMENTATION_DIRECTORY, + B_USER_NONPACKAGED_LIB_DIRECTORY, + B_USER_NONPACKAGED_HEADERS_DIRECTORY, /* Global directories. */ B_APPS_DIRECTORY = 4000, B_PREFERENCES_DIRECTORY, B_UTILITIES_DIRECTORY, + B_PACKAGE_LINKS_DIRECTORY, /* Obsolete: Legacy BeOS definition to be phased out */ B_BEOS_DIRECTORY = 1000, diff --git a/headers/private/libroot/directories.h b/headers/private/libroot/directories.h new file mode 100644 index 0000000000..4eaa686d7c --- /dev/null +++ b/headers/private/libroot/directories.h @@ -0,0 +1,68 @@ +/* + * Copyright 2011, Oliver Tappe + * Distributed under the terms of the MIT License. + */ +#ifndef _LIBROOT_DIRECTORIES_H +#define _LIBROOT_DIRECTORIES_H + + +#define kGlobalBinDirectory "/bin" +#define kGlobalEtcDirectory "/etc" +#define kGlobalPackageLinksDirectory "/package-links" +#define kGlobalSystemDirectory "/system" +#define kGlobalTempDirectory "/tmp" +#define kGlobalVarDirectory "/var" + +#define kAppsDirectory "/boot/apps" +#define kPreferencesDirectory "/boot/preferences" + +#define kAppLocalAddonsDirectory "%A/add-ons" +#define kAppLocalLibDirectory "%A/lib" + +#define kVolumeLocalSystemKernelAddonsDirectory "system/add-ons/kernel" +#define kVolumeLocalCommonNonpackagedKernelAddonsDirectory \ + "common/non-packaged/add-ons/kernel" +#define kVolumeLocalCommonKernelAddonsDirectory "common/add-ons/kernel" +#define kVolumeLocalUserNonpackagedKernelAddonsDirectory \ + "home/config/non-packaged/add-ons/kernel" +#define kVolumeLocalUserKernelAddonsDirectory "home/config/add-ons/kernel" + +#define kSystemDirectory "/boot/system" +#define kSystemAddonsDirectory "/boot/system/add-ons" +#define kSystemAppsDirectory "/boot/system/apps" +#define kSystemBinDirectory "/boot/system/bin" +#define kSystemDataDirectory "/boot/system/data" +#define kSystemDevelopDirectory "/boot/develop" +#define kSystemLibDirectory "/boot/system/lib" +#define kSystemPackagesDirectory "/boot/system/packages" +#define kSystemPreferencesDirectory "/boot/system/preferences" +#define kSystemServersDirectory "/boot/system/servers" + +#define kCommonDirectory "/boot/common" +#define kCommonAddonsDirectory "/boot/common/add-ons" +#define kCommonBinDirectory "/boot/common/bin" +#define kCommonDevelopToolsBinDirectory "/boot/develop/tools/current/bin" +#define kCommonEtcDirectory "/boot/common/settings/etc" +#define kCommonLibDirectory "/boot/common/lib" +#define kCommonPackagesDirectory "/boot/common/packages" +#define kCommonSettingsDirectory "/boot/common/settings" +#define kCommonTempDirectory "/boot/common/cache/tmp" +#define kCommonVarDirectory "/boot/common/var" +#define kCommonLogDirectory "/boot/common/var/log" +#define kCommonNonpackagedAddonsDirectory "/boot/common/non-packaged/add-ons" +#define kCommonNonpackagedBinDirectory "/boot/common/non-packaged/bin" +#define kCommonNonpackagedLibDirectory "/boot/common/non-packaged/lib" + +#define kUserDirectory "/boot/home" +#define kUserConfigDirectory "/boot/home/config" +#define kUserAddonsDirectory "/boot/home/config/add-ons" +#define kUserBinDirectory "/boot/home/config/bin" +#define kUserLibDirectory "/boot/home/config/lib" +#define kUserPackagesDirectory "/boot/home/config/packages" +#define kUserSettingsDirectory "/boot/home/config/settings" +#define kUserNonpackagedAddonsDirectory "/boot/home/config/non-packaged/add-ons" +#define kUserNonpackagedBinDirectory "/boot/home/config/non-packaged/bin" +#define kUserNonpackagedLibDirectory "/boot/home/config/non-packaged/lib" + + +#endif // _LIBROOT_DIRECTORIES_H diff --git a/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp b/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp index 90152c0e0a..c7a1c4b37e 100644 --- a/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp +++ b/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp @@ -191,7 +191,7 @@ ScreenSaverFilter::_Invoke() BPath path; if (find_directory(B_SYSTEM_BIN_DIRECTORY, &path) != B_OK || path.Append("screen_blanker") != B_OK) - path.SetTo("/boot/system/bin/screen_blanker"); + path.SetTo("/bin/screen_blanker"); BEntry entry(path.Path()); entry_ref ref; if (entry.GetRef(&ref) == B_OK diff --git a/src/add-ons/input_server/filters/shortcut_catcher/ParseCommandLine.cpp b/src/add-ons/input_server/filters/shortcut_catcher/ParseCommandLine.cpp index 18048df32b..b7dbde0d69 100644 --- a/src/add-ons/input_server/filters/shortcut_catcher/ParseCommandLine.cpp +++ b/src/add-ons/input_server/filters/shortcut_catcher/ParseCommandLine.cpp @@ -16,16 +16,19 @@ #include -#include -#include -#include #include +#include +#include +#include +#include +#include +#include #include // This char is used to hold words together into single words... #define GUNK_CHAR 0x01 -#define PATHTOTRACKER "/boot/system/Tracker" +#define PATHTOTRACKER "/system/Tracker" // Turn all spaces that are not-to-be-counted-as-spaces into GUNK_CHAR chars. static void @@ -299,11 +302,14 @@ LaunchCommand(char** argv, int32 argc) // Hack way to do this--really I should be able to do this by // sending a BMessage. But how? When I finally get my copy of the // BeOS Bible, maybe then I'll find out. - const char* trackerFile = PATHTOTRACKER; - char* temp = new char[strlen(trackerFile) + strlen(argv[0]) + 10]; - sprintf(temp, "%s '%s'", trackerFile, argv[0]); - system(temp); - delete [] temp; + BPath trackerPath; + if (find_directory(B_SYSTEM_DIRECTORY, &trackerPath) != B_OK + || trackerPath.Append("Tracker") != B_OK) { + return B_ENTRY_NOT_FOUND; + } + BString cmd(trackerPath.Path()); + cmd << " '" << argv[0] << "'"; + system(cmd.String()); return B_NO_ERROR; } else { // It's not a directory. Must be a file. diff --git a/src/add-ons/kernel/debugger/hangman/hangman.c b/src/add-ons/kernel/debugger/hangman/hangman.c index f77a7d60d4..231d004977 100644 --- a/src/add-ons/kernel/debugger/hangman/hangman.c +++ b/src/add-ons/kernel/debugger/hangman/hangman.c @@ -5,6 +5,7 @@ # include #endif +#include #include #include #include @@ -26,7 +27,7 @@ #define MAX_FAILS_BEFORE_BSOD 0 #ifdef __HAIKU__ -# define FORTUNE_FILE "/boot/system/data/fortunes/Fortunes" +# define FORTUNE_FILE kSystemDataDirectory "/fortunes/Fortunes" #else # define FORTUNE_FILE "/etc/fortunes/default" #endif diff --git a/src/add-ons/kernel/drivers/audio/ac97/auich/Jamfile b/src/add-ons/kernel/drivers/audio/ac97/auich/Jamfile index 0b55856d83..26d6af1cca 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/auich/Jamfile +++ b/src/add-ons/kernel/drivers/audio/ac97/auich/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio ac97 auich ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) ] ; diff --git a/src/add-ons/kernel/drivers/audio/ac97/auich/debug.c b/src/add-ons/kernel/drivers/audio/ac97/auich/debug.c index 790b2a2d97..b3b4c67858 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/auich/debug.c +++ b/src/add-ons/kernel/drivers/audio/ac97/auich/debug.c @@ -28,23 +28,32 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include + #include #include #include + +#include #include + #include "debug.h" #include "auich.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/auich.log"; +static const char *logfile = kCommonLogDirectory "/auich.log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); void log_create(void); + void debug_printf(const char *text,...) { char buf[1024]; @@ -57,6 +66,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -68,6 +78,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -92,4 +103,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/ac97/auvia/Jamfile b/src/add-ons/kernel/drivers/audio/ac97/auvia/Jamfile index fb4c66c56e..9333f4295b 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/auvia/Jamfile +++ b/src/add-ons/kernel/drivers/audio/ac97/auvia/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio ac97 auvia ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) ] ; diff --git a/src/add-ons/kernel/drivers/audio/ac97/auvia/debug.c b/src/add-ons/kernel/drivers/audio/ac97/auvia/debug.c index 4b67b58631..8bcc694c61 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/auvia/debug.c +++ b/src/add-ons/kernel/drivers/audio/ac97/auvia/debug.c @@ -28,23 +28,32 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include + #include #include #include + +#include #include + #include "debug.h" #include "auvia.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/auvia.log"; +static const char *logfile = kCommonLogDirectory "/auvia.log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); void log_create(void); + void debug_printf(const char *text,...) { char buf[1024]; @@ -57,6 +66,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -68,6 +78,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -92,4 +103,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile b/src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile index 54259ce1e0..c3c8889e84 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile +++ b/src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio ac97 es1370 ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; KernelAddon es1370 : diff --git a/src/add-ons/kernel/drivers/audio/ac97/es1370/debug.c b/src/add-ons/kernel/drivers/audio/ac97/es1370/debug.c index 5fb661ac51..5a52fd12ce 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/es1370/debug.c +++ b/src/add-ons/kernel/drivers/audio/ac97/es1370/debug.c @@ -8,24 +8,33 @@ * Marcus Overhagen, marcus@overhagen.de * Jerome Duval, jerome.duval@free.fr */ + + #include + #include #include #include #include + +#include #include + #include "debug.h" #include "es1370.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/es1370.log"; +static const char *logfile = kCommonLogDirectory "/es1370.log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); void log_create(void); + void debug_printf(const char *text,...) { char buf[1024]; @@ -38,6 +47,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -49,6 +59,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -73,4 +84,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/ac97/ich/Jamfile b/src/add-ons/kernel/drivers/audio/ac97/ich/Jamfile index e4df9219c4..b086402b3b 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/ich/Jamfile +++ b/src/add-ons/kernel/drivers/audio/ac97/ich/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio ac97 ich ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; KernelAddon ich_ac97 : ac97_multi.c diff --git a/src/add-ons/kernel/drivers/audio/ac97/ich/debug.c b/src/add-ons/kernel/drivers/audio/ac97/ich/debug.c index 6b9f979e8c..d516f25590 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/ich/debug.c +++ b/src/add-ons/kernel/drivers/audio/ac97/ich/debug.c @@ -25,14 +25,21 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include + #include #include #include + +#include #include + #include "debug.h" #include "ich.h" + void debug_printf(const char *text,...) { char buf[1024]; @@ -45,11 +52,12 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } -#if DEBUG > 0 -static const char * logfile="/boot/home/ich_ac97.log"; +#if DEBUG > 0 +static const char *logfile = kCommonLogDirectory "/ich_ac97.log"; static sem_id loglock; + void log_create(void) { int fd = open(logfile, O_WRONLY | O_CREAT | O_TRUNC, 0666); @@ -59,6 +67,7 @@ void log_create(void) close(fd); } + void log_printf(const char *text,...) { int fd; @@ -81,5 +90,4 @@ void log_printf(const char *text,...) snooze(150000); #endif } - #endif diff --git a/src/add-ons/kernel/drivers/audio/echo/24/Jamfile b/src/add-ons/kernel/drivers/audio/echo/24/Jamfile index aa48416310..2f4a938c55 100644 --- a/src/add-ons/kernel/drivers/audio/echo/24/Jamfile +++ b/src/add-ons/kernel/drivers/audio/echo/24/Jamfile @@ -13,7 +13,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic DSP ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic ASIC ; UsePrivateHeaders [ FDirName kernel ] # For kernel_cpp.cpp - media ; + libroot media ; # set some additional defines SubDirCcFlags -DECHO_BEOS -DECHO24_FAMILY ; diff --git a/src/add-ons/kernel/drivers/audio/echo/3g/Jamfile b/src/add-ons/kernel/drivers/audio/echo/3g/Jamfile index ec9b38f38b..6a25fd102d 100644 --- a/src/add-ons/kernel/drivers/audio/echo/3g/Jamfile +++ b/src/add-ons/kernel/drivers/audio/echo/3g/Jamfile @@ -13,7 +13,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic DSP ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic ASIC ; UsePrivateHeaders [ FDirName kernel ] # For kernel_cpp.cpp - media ; + libroot media ; # set some additional defines SubDirCcFlags -DECHO_BEOS -DECHO3G_FAMILY ; diff --git a/src/add-ons/kernel/drivers/audio/echo/debug.c b/src/add-ons/kernel/drivers/audio/echo/debug.c index 1cb2b4fffc..2c183ebfad 100644 --- a/src/add-ons/kernel/drivers/audio/echo/debug.c +++ b/src/add-ons/kernel/drivers/audio/echo/debug.c @@ -28,21 +28,30 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include + #include #include #include + +#include #include + #include "debug.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/"DRIVER_NAME".log"; +static const char *logfile = kCommonLogDirectory "/" DRIVER_NAME ".log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); + void debug_printf(const char *text,...) { char buf[1024]; @@ -55,6 +64,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -66,6 +76,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -90,4 +101,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/echo/gals/Jamfile b/src/add-ons/kernel/drivers/audio/echo/gals/Jamfile index 5719258c14..bc21b01601 100644 --- a/src/add-ons/kernel/drivers/audio/echo/gals/Jamfile +++ b/src/add-ons/kernel/drivers/audio/echo/gals/Jamfile @@ -13,7 +13,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic DSP ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic ASIC ; UsePrivateHeaders [ FDirName kernel ] # For kernel_cpp.cpp - media ; + libroot media ; # set some additional defines SubDirCcFlags -DECHO_BEOS -DECHOGALS_FAMILY ; diff --git a/src/add-ons/kernel/drivers/audio/echo/indigo/Jamfile b/src/add-ons/kernel/drivers/audio/echo/indigo/Jamfile index b797396238..fe661cce66 100644 --- a/src/add-ons/kernel/drivers/audio/echo/indigo/Jamfile +++ b/src/add-ons/kernel/drivers/audio/echo/indigo/Jamfile @@ -13,7 +13,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic DSP ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic ASIC ; UsePrivateHeaders [ FDirName kernel ] # For kernel_cpp.cpp - media ; + libroot media ; # set some additional defines SubDirCcFlags -DECHO_BEOS -DINDIGO_FAMILY -DCARDBUS ; diff --git a/src/add-ons/kernel/drivers/audio/emuxki/Jamfile b/src/add-ons/kernel/drivers/audio/emuxki/Jamfile index d7ac8abbc4..f3f71b1e67 100644 --- a/src/add-ons/kernel/drivers/audio/emuxki/Jamfile +++ b/src/add-ons/kernel/drivers/audio/emuxki/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio emuxki ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; KernelAddon emuxki : ac97.c diff --git a/src/add-ons/kernel/drivers/audio/emuxki/debug.c b/src/add-ons/kernel/drivers/audio/emuxki/debug.c index f3dbc1db23..349dbf0c54 100644 --- a/src/add-ons/kernel/drivers/audio/emuxki/debug.c +++ b/src/add-ons/kernel/drivers/audio/emuxki/debug.c @@ -28,23 +28,32 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include + #include #include #include + +#include #include + #include "debug.h" #include "emuxki.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/emuxki.log"; +static const char *logfile = kCommonLogDirectory "/emuxki.log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); void log_create(void); + void debug_printf(const char *text,...) { char buf[1024]; @@ -57,6 +66,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -68,6 +78,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -92,4 +103,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/module_driver/Jamfile b/src/add-ons/kernel/drivers/audio/module_driver/Jamfile index 860bc2157e..b2351085b8 100644 --- a/src/add-ons/kernel/drivers/audio/module_driver/Jamfile +++ b/src/add-ons/kernel/drivers/audio/module_driver/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio module_driver ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; KernelAddon audio_module_driver : audio_module_driver.c diff --git a/src/add-ons/kernel/drivers/audio/module_driver/audio_module_driver.c b/src/add-ons/kernel/drivers/audio/module_driver/audio_module_driver.c index f8c01011ac..9fea1d7c48 100644 --- a/src/add-ons/kernel/drivers/audio/module_driver/audio_module_driver.c +++ b/src/add-ons/kernel/drivers/audio/module_driver/audio_module_driver.c @@ -8,15 +8,20 @@ * */ + #include +#include #include #include #include + #include #include #include + #include "audio_module.h" + int32 api_version = B_CUR_DRIVER_API_VERSION; #define DRIVER_NAME "audio_module_driver" @@ -29,6 +34,7 @@ void republish_devices(void); extern image_id load_kernel_addon(const char *path); extern status_t unload_kernel_addon(image_id imid); + status_t init_hardware(void) { @@ -36,6 +42,7 @@ init_hardware(void) return B_OK; } + status_t init_driver(void) { @@ -44,8 +51,9 @@ init_driver(void) status_t rv; void (*print_hello_world)(void); - id = load_kernel_addon("/boot/home/config/add-ons/kernel/media/audio/ich"); - get_image_symbol(id, "print_hello_world", B_SYMBOL_TYPE_TEXT, (void **) &print_hello_world); + id = load_kernel_addon(kUserAddonsDirectory "/kernel/media/audio/ich"); + get_image_symbol(id, "print_hello_world", B_SYMBOL_TYPE_TEXT, + (void **) &print_hello_world); print_hello_world(); unload_kernel_addon(id); if (rv != B_OK) @@ -71,12 +79,14 @@ init_driver(void) return B_OK; } + void uninit_driver(void) { dprintf("audio_module_driver: uninit_driver\n"); } + static status_t audio_module_driver_open(const char *name, uint32 flags, void **cookie) { @@ -84,6 +94,7 @@ audio_module_driver_open(const char *name, uint32 flags, void **cookie) return B_OK; } + static status_t audio_module_driver_close(void *cookie) { @@ -91,6 +102,7 @@ audio_module_driver_close(void *cookie) return B_OK; } + static status_t audio_module_driver_free(void *cookie) { @@ -98,6 +110,7 @@ audio_module_driver_free(void *cookie) return B_OK; } + static status_t audio_module_driver_control(void *cookie, uint32 op, void *arg, size_t len) { @@ -108,22 +121,28 @@ audio_module_driver_control(void *cookie, uint32 op, void *arg, size_t len) } } + static status_t -audio_module_driver_read(void *cookie, off_t position, void *buf, size_t *num_bytes) +audio_module_driver_read(void *cookie, off_t position, void *buf, + size_t *num_bytes) { *num_bytes = 0; return B_IO_ERROR; } + static status_t -audio_module_driver_write(void *cookie, off_t position, const void *buffer, size_t *num_bytes) +audio_module_driver_write(void *cookie, off_t position, const void *buffer, + size_t *num_bytes) { static int keep_open_fd = -1; - if (*num_bytes >= 5 && 0 == memcmp("start", buffer, 5) && keep_open_fd == -1) { + if (*num_bytes >= 5 && 0 == memcmp("start", buffer, 5) + && keep_open_fd == -1) { keep_open_fd = open("/dev/audio/audio_module_driver", O_RDWR); return B_OK; } - if (*num_bytes >= 4 && 0 == memcmp("stop", buffer, 4) && keep_open_fd != -1) { + if (*num_bytes >= 4 && 0 == memcmp("stop", buffer, 4) + && keep_open_fd != -1) { close(keep_open_fd); keep_open_fd = -1; return B_OK; @@ -136,6 +155,7 @@ audio_module_driver_write(void *cookie, off_t position, const void *buffer, size return B_IO_ERROR; } + static const char *ich_name[] = { "audio/" DRIVER_NAME, "audio/modules/foobar/1", @@ -145,6 +165,7 @@ static const char *ich_name[] = { NULL }; + device_hooks audio_module_driver_hooks = { audio_module_driver_open, audio_module_driver_close, @@ -158,6 +179,7 @@ device_hooks audio_module_driver_hooks = { NULL }; + const char** publish_devices(void) { @@ -165,6 +187,7 @@ publish_devices(void) return ich_name; } + device_hooks* find_device(const char *name) { diff --git a/src/add-ons/kernel/drivers/graphics/matrox/Jamfile b/src/add-ons/kernel/drivers/graphics/matrox/Jamfile index 1a18f79ef0..fc53de96a5 100644 --- a/src/add-ons/kernel/drivers/graphics/matrox/Jamfile +++ b/src/add-ons/kernel/drivers/graphics/matrox/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers graphics matrox ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders graphics ; +UsePrivateHeaders graphics libroot ; UsePrivateHeaders [ FDirName graphics matrox ] ; KernelAddon matrox : diff --git a/src/add-ons/kernel/drivers/graphics/matrox/driver.c b/src/add-ons/kernel/drivers/graphics/matrox/driver.c index 8a14fe92a1..272413cdd1 100644 --- a/src/add-ons/kernel/drivers/graphics/matrox/driver.c +++ b/src/add-ons/kernel/drivers/graphics/matrox/driver.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include // for strtoXX @@ -142,7 +143,7 @@ static void dumprom (void *rom, size_t size, pci_info pcii) char fname[64]; /* determine the romfile name: we need split-up per card in the system */ - sprintf (fname, "/boot/home/" DRIVER_PREFIX "." DEVICE_FORMAT ".rom", + sprintf (fname, kUserDirectory "/" DRIVER_PREFIX "." DEVICE_FORMAT ".rom", pcii.vendor_id, pcii.device_id, pcii.bus, pcii.device, pcii.function); fd = open (fname, O_WRONLY | O_CREAT, 0666); diff --git a/src/add-ons/kernel/drivers/graphics/neomagic/Jamfile b/src/add-ons/kernel/drivers/graphics/neomagic/Jamfile index 60e274cf47..3ea2159453 100644 --- a/src/add-ons/kernel/drivers/graphics/neomagic/Jamfile +++ b/src/add-ons/kernel/drivers/graphics/neomagic/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers graphics neomagic ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders graphics ; +UsePrivateHeaders graphics libroot ; UsePrivateHeaders [ FDirName graphics neomagic ] ; KernelAddon neomagic : diff --git a/src/add-ons/kernel/drivers/graphics/neomagic/driver.c b/src/add-ons/kernel/drivers/graphics/neomagic/driver.c index fad85ad153..0a1618310b 100644 --- a/src/add-ons/kernel/drivers/graphics/neomagic/driver.c +++ b/src/add-ons/kernel/drivers/graphics/neomagic/driver.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include // for strtoXX @@ -138,7 +139,8 @@ static void dumprom (void *rom, uint32 size) int fd; uint32 cnt; - fd = open ("/boot/home/" DRIVER_PREFIX ".rom", O_WRONLY | O_CREAT, 0666); + fd = open (kUserDirectory "/" DRIVER_PREFIX ".rom", + O_WRONLY | O_CREAT, 0666); if (fd < 0) return; /* apparantly max. 32kb may be written at once; diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/Jamfile b/src/add-ons/kernel/drivers/graphics/nvidia/Jamfile index feac1b806f..3ec19127f2 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia/Jamfile +++ b/src/add-ons/kernel/drivers/graphics/nvidia/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers graphics nvidia ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders graphics ; +UsePrivateHeaders graphics libroot ; UsePrivateHeaders [ FDirName graphics nvidia ] ; UsePrivateHeaders [ FDirName graphics common ] ; diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/driver.c b/src/add-ons/kernel/drivers/graphics/nvidia/driver.c index 7b2e383ef9..6f18ac995f 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia/driver.c +++ b/src/add-ons/kernel/drivers/graphics/nvidia/driver.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -400,7 +401,7 @@ dumprom(void *rom, uint32 size, pci_info pcii) char fname[64]; /* determine the romfile name: we need split-up per card in the system */ - sprintf (fname, "/boot/home/" DRIVER_PREFIX "." DEVICE_FORMAT ".rom", + sprintf (fname, kUserDirectory "//" DRIVER_PREFIX "." DEVICE_FORMAT ".rom", pcii.vendor_id, pcii.device_id, pcii.bus, pcii.device, pcii.function); fd = open (fname, O_WRONLY | O_CREAT, 0666); diff --git a/src/add-ons/kernel/drivers/graphics/nvidia_gpgpu/Jamfile b/src/add-ons/kernel/drivers/graphics/nvidia_gpgpu/Jamfile index bda9f4854b..2c2b581465 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia_gpgpu/Jamfile +++ b/src/add-ons/kernel/drivers/graphics/nvidia_gpgpu/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers graphics nvidia_gpgpu ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders graphics ; +UsePrivateHeaders graphics libroot ; UsePrivateHeaders [ FDirName graphics nvidia_gpgpu ] ; KernelAddon nvidia_gpgpu : diff --git a/src/add-ons/kernel/drivers/graphics/nvidia_gpgpu/driver.c b/src/add-ons/kernel/drivers/graphics/nvidia_gpgpu/driver.c index 1eafd322e9..11858429c6 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia_gpgpu/driver.c +++ b/src/add-ons/kernel/drivers/graphics/nvidia_gpgpu/driver.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -160,7 +161,7 @@ dumprom(void *rom, uint32 size, pci_info pcii) char fname[64]; /* determine the romfile name: we need split-up per card in the system */ - sprintf (fname, "/boot/home/" DRIVER_PREFIX "." DEVICE_FORMAT ".rom", + sprintf (fname, kUserDirectory "/" DRIVER_PREFIX "." DEVICE_FORMAT ".rom", pcii.vendor_id, pcii.device_id, pcii.bus, pcii.device, pcii.function); fd = open (fname, O_WRONLY | O_CREAT, 0666); diff --git a/src/add-ons/kernel/drivers/graphics/skeleton/Jamfile b/src/add-ons/kernel/drivers/graphics/skeleton/Jamfile index aade3b646f..914ca86f58 100644 --- a/src/add-ons/kernel/drivers/graphics/skeleton/Jamfile +++ b/src/add-ons/kernel/drivers/graphics/skeleton/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers graphics skeleton ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders graphics ; +UsePrivateHeaders graphics libroot ; UsePrivateHeaders [ FDirName graphics skeleton ] ; KernelAddon skel.driver : diff --git a/src/add-ons/kernel/drivers/graphics/skeleton/driver.c b/src/add-ons/kernel/drivers/graphics/skeleton/driver.c index 26e0f4cdc3..1630070ee7 100644 --- a/src/add-ons/kernel/drivers/graphics/skeleton/driver.c +++ b/src/add-ons/kernel/drivers/graphics/skeleton/driver.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include // for strtoXX @@ -130,7 +131,8 @@ static void dumprom (void *rom, uint32 size) int fd; uint32 cnt; - fd = open ("/boot/home/" DRIVER_PREFIX ".rom", O_WRONLY | O_CREAT, 0666); + fd = open (kUserDirectory "/" DRIVER_PREFIX ".rom", + O_WRONLY | O_CREAT, 0666); if (fd < 0) return; /* apparantly max. 32kb may be written at once; diff --git a/src/add-ons/kernel/drivers/graphics/via/Jamfile b/src/add-ons/kernel/drivers/graphics/via/Jamfile index e988811ad7..5ae8061f0a 100644 --- a/src/add-ons/kernel/drivers/graphics/via/Jamfile +++ b/src/add-ons/kernel/drivers/graphics/via/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers graphics via ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders graphics ; +UsePrivateHeaders graphics libroot ; UsePrivateHeaders [ FDirName graphics via ] ; KernelAddon via : diff --git a/src/add-ons/kernel/drivers/graphics/via/driver.c b/src/add-ons/kernel/drivers/graphics/via/driver.c index 1639712731..5b572647e5 100644 --- a/src/add-ons/kernel/drivers/graphics/via/driver.c +++ b/src/add-ons/kernel/drivers/graphics/via/driver.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include // for strtoXX @@ -135,7 +136,8 @@ static void dumprom (void *rom, uint32 size) int fd; uint32 cnt; - fd = open ("/boot/home/" DRIVER_PREFIX ".rom", O_WRONLY | O_CREAT, 0666); + fd = open (kUserDirectory "/" DRIVER_PREFIX ".rom", + O_WRONLY | O_CREAT, 0666); if (fd < 0) return; /* apparantly max. 32kb may be written at once; diff --git a/src/add-ons/kernel/drivers/network/sis900/Jamfile b/src/add-ons/kernel/drivers/network/sis900/Jamfile index eba437f251..e7e994bd18 100644 --- a/src/add-ons/kernel/drivers/network/sis900/Jamfile +++ b/src/add-ons/kernel/drivers/network/sis900/Jamfile @@ -4,7 +4,7 @@ SetSubDirSupportedPlatformsBeOSCompatible ; # For ether_driver.h -UsePrivateHeaders net ; +UsePrivateHeaders libroot net ; KernelAddon sis900 : driver.c diff --git a/src/add-ons/kernel/drivers/network/sis900/device.c b/src/add-ons/kernel/drivers/network/sis900/device.c index 95e71c0ff7..8af7a80924 100644 --- a/src/add-ons/kernel/drivers/network/sis900/device.c +++ b/src/add-ons/kernel/drivers/network/sis900/device.c @@ -11,6 +11,7 @@ #include "interface.h" #include "sis900.h" +#include #include #include @@ -63,7 +64,8 @@ bug(const char *format, ...) int i; int file; - if ((file = open("/boot/home/sis900-driver.log", O_RDWR | O_APPEND | O_CREAT)) >= 0) { + if ((file = open(kCommonLogDirectory "/sis900-driver.log", + O_RDWR | O_APPEND | O_CREAT)) >= 0) { // time_t timer = time(NULL); // strftime(c, 2048, "%H:%M:S: ", localtime(&timer)); diff --git a/src/add-ons/kernel/drivers/network/wwan/usb_beceemwmx/Driver.h b/src/add-ons/kernel/drivers/network/wwan/usb_beceemwmx/Driver.h index 5dae24eb07..1197135762 100644 --- a/src/add-ons/kernel/drivers/network/wwan/usb_beceemwmx/Driver.h +++ b/src/add-ons/kernel/drivers/network/wwan/usb_beceemwmx/Driver.h @@ -26,15 +26,18 @@ #include #include +#include #include #define DRIVER_NAME "usb_beceemwmx" #define MAX_DEVICES 8 -#define FIRM_BIN "/boot/system/data/firmware/macxvi200/macxvi200.bin" +#define FIRM_BIN \ + kSystemDataDirectory "/firmware/macxvi200/macxvi200.bin" // location on file system of device firmware -#define FIRM_CFG "/boot/system/data/firmware/macxvi200/macxvi.cfg" +#define FIRM_CFG \ + kSystemDataDirectory "/firmware/macxvi200/macxvi.cfg" // location on file system of vendor configuration #define SYS_CFG 0x0F000C00 diff --git a/src/add-ons/kernel/drivers/network/wwan/usb_beceemwmx/Jamfile b/src/add-ons/kernel/drivers/network/wwan/usb_beceemwmx/Jamfile index ec19bd901e..328f072f97 100644 --- a/src/add-ons/kernel/drivers/network/wwan/usb_beceemwmx/Jamfile +++ b/src/add-ons/kernel/drivers/network/wwan/usb_beceemwmx/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers network wwan usb_beceemwmx ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders kernel net ; +UsePrivateHeaders kernel libroot net ; KernelAddon usb_beceemwmx : Driver.cpp diff --git a/src/add-ons/kernel/drivers/ports/pc_serial/Jamfile b/src/add-ons/kernel/drivers/ports/pc_serial/Jamfile index cf59644608..c0fb71d9aa 100644 --- a/src/add-ons/kernel/drivers/ports/pc_serial/Jamfile +++ b/src/add-ons/kernel/drivers/ports/pc_serial/Jamfile @@ -3,6 +3,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers ports pc_serial ; SetSubDirSupportedPlatformsBeOSCompatible ; if $(TARGET_PLATFORM_HAIKU_COMPATIBLE) { + UsePrivateHeaders libroot ; UsePrivateKernelHeaders ; UseHeaders [ FDirName $(HAIKU_TOP) headers os drivers tty ] : true ; } diff --git a/src/add-ons/kernel/drivers/ports/pc_serial/Tracing.cpp b/src/add-ons/kernel/drivers/ports/pc_serial/Tracing.cpp index 1cf8292134..39b82d91d2 100644 --- a/src/add-ons/kernel/drivers/ports/pc_serial/Tracing.cpp +++ b/src/add-ons/kernel/drivers/ports/pc_serial/Tracing.cpp @@ -11,6 +11,7 @@ #include //sprintf #include //posix file i/o - create, write, close #include +#include #include @@ -26,7 +27,7 @@ bool gLogFunctionCalls = false; bool gLogFunctionReturns = false; bool gLogFunctionResults = false; -static const char *sLogFilePath="/boot/home/"DRIVER_NAME".log"; +static const char *sLogFilePath = kCommonLogDirectory "/" DRIVER_NAME ".log"; static sem_id sLogLock; @@ -187,4 +188,4 @@ trace_tty(struct tty *tty) } -#endif /* __BEOS__ */ \ No newline at end of file +#endif /* __BEOS__ */ diff --git a/src/add-ons/kernel/drivers/ports/usb_serial/Jamfile b/src/add-ons/kernel/drivers/ports/usb_serial/Jamfile index 8a85cbd402..c9521a221f 100644 --- a/src/add-ons/kernel/drivers/ports/usb_serial/Jamfile +++ b/src/add-ons/kernel/drivers/ports/usb_serial/Jamfile @@ -1,6 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers ports usb_serial ; UsePrivateKernelHeaders ; +UsePrivateHeaders libroot ; UseHeaders [ FDirName $(HAIKU_TOP) headers os drivers tty ] : true ; SubDirC++Flags -fno-rtti ; diff --git a/src/add-ons/kernel/drivers/ports/usb_serial/Tracing.cpp b/src/add-ons/kernel/drivers/ports/usb_serial/Tracing.cpp index e4d36ff1f4..40ad7afe45 100644 --- a/src/add-ons/kernel/drivers/ports/usb_serial/Tracing.cpp +++ b/src/add-ons/kernel/drivers/ports/usb_serial/Tracing.cpp @@ -12,6 +12,7 @@ #include //sprintf #include //posix file i/o - create, write, close #include +#include #include @@ -27,7 +28,7 @@ bool gLogFunctionCalls = true; bool gLogFunctionReturns = true; bool gLogFunctionResults = true; -static const char *sLogFilePath="/boot/home/"DRIVER_NAME".log"; +static const char *sLogFilePath = kCommonLogDirectory "/" DRIVER_NAME ".log"; static sem_id sLogLock; diff --git a/src/add-ons/kernel/drivers/video/usb_vision/Jamfile b/src/add-ons/kernel/drivers/video/usb_vision/Jamfile index 0c1f2e9e34..11a6ebdfb7 100644 --- a/src/add-ons/kernel/drivers/video/usb_vision/Jamfile +++ b/src/add-ons/kernel/drivers/video/usb_vision/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers video usb_vision ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders usb_vision ; +UsePrivateHeaders libroot usb_vision ; #local defines = [ FDefines DB_USB_USE_V2_MODULE ] ; #SubDirCcFlags $(defines) ; diff --git a/src/add-ons/kernel/drivers/video/usb_vision/tracing.c b/src/add-ons/kernel/drivers/video/usb_vision/tracing.c index 70e1e65efb..a77c2f8854 100644 --- a/src/add-ons/kernel/drivers/video/usb_vision/tracing.c +++ b/src/add-ons/kernel/drivers/video/usb_vision/tracing.c @@ -12,6 +12,7 @@ #include //sprintf #include //strcpy #include //posix file i/o - create, write, close +#include #include #include "usb_vision.h" @@ -30,7 +31,8 @@ bool b_log_funcres = false; bool b_log_settings_loaded = false; -static const char *private_log_path="/boot/home/"DRIVER_NAME".log"; +static const char *private_log_path + = kCommonLogDirectory "/" DRIVER_NAME ".log"; static sem_id loglock; void load_setting(void){ diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile index 430390d1fe..153fd267c8 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile @@ -4,7 +4,7 @@ local userlandFSTop = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ; local userlandFSIncludes = [ PrivateHeaders userlandfs ] ; -UsePrivateHeaders shared ; +UsePrivateHeaders libroot shared ; UsePrivateKernelHeaders ; SubDirHdrs [ FDirName $(userlandFSIncludes) private ] ; SubDirHdrs [ FDirName $(userlandFSIncludes) shared ] ; diff --git a/src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c b/src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c index afdc7db3a9..f6adb5400c 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c +++ b/src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c @@ -6,6 +6,7 @@ #include +#include #include #include @@ -37,7 +38,7 @@ strlcat(char *dst, char const *src, size_t s) return j + i + strlen(src + i); } -#define SETTINGS_DIRECTORY "/boot/home/config/settings/kernel/drivers/" +#define SETTINGS_DIRECTORY kUserSettingsDirectory "/kernel/drivers/" #define SETTINGS_MAGIC 'DrvS' // Those maximum values are independent from the implementation - they diff --git a/src/add-ons/kernel/generic/mpu401/Jamfile b/src/add-ons/kernel/generic/mpu401/Jamfile index 9bc3754823..61b9be3883 100644 --- a/src/add-ons/kernel/generic/mpu401/Jamfile +++ b/src/add-ons/kernel/generic/mpu401/Jamfile @@ -1,5 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel generic mpu401 ; +UsePrivateHeaders libroot ; + KernelAddon mpu401 : mpu401.c debug.c diff --git a/src/add-ons/kernel/generic/mpu401/debug.c b/src/add-ons/kernel/generic/mpu401/debug.c index 9d2187d0d9..fb9bbcaa49 100644 --- a/src/add-ons/kernel/generic/mpu401/debug.c +++ b/src/add-ons/kernel/generic/mpu401/debug.c @@ -25,17 +25,25 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include +#include + #include #include -#include -#include #include +#include + +#include + #include "debug.h" + #define DRIVER_NAME "mpu401" #define VERSION "0.2" + void debug_printf(const char *text,...) { char buf[1024]; @@ -48,11 +56,12 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } -#if DEBUG > 0 -static const char * logfile="/boot/home/mpu401.log"; +#if DEBUG > 0 +static const char *logfile = kCommonLogDirectory "/mpu401.log"; static sem_id loglock; + void log_create(void) { int fd = open(logfile, O_WRONLY | O_CREAT | O_TRUNC, 0666); @@ -62,6 +71,7 @@ void log_create(void) close(fd); } + void log_printf(const char *text,...) { int fd; @@ -84,5 +94,4 @@ void log_printf(const char *text,...) snooze(150000); #endif } - #endif diff --git a/src/add-ons/kernel/network/ppp/shared/libkernelppp/Jamfile b/src/add-ons/kernel/network/ppp/shared/libkernelppp/Jamfile index 4b838d7e96..3b701b50d7 100644 --- a/src/add-ons/kernel/network/ppp/shared/libkernelppp/Jamfile +++ b/src/add-ons/kernel/network/ppp/shared/libkernelppp/Jamfile @@ -10,7 +10,7 @@ if $(TARGET_PLATFORM) != haiku { # Unfortunately we get more than we want, namely all POSIX headers. } -UsePrivateHeaders net ; +UsePrivateHeaders libroot net ; UsePrivateHeaders [ FDirName kernel ] ; UsePrivateHeaders [ FDirName kernel util ] ; UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel network ppp shared diff --git a/src/add-ons/kernel/network/ppp/shared/libkernelppp/headers/PPPDefs.h b/src/add-ons/kernel/network/ppp/shared/libkernelppp/headers/PPPDefs.h index 6ec06bbefd..afa85d1a43 100644 --- a/src/add-ons/kernel/network/ppp/shared/libkernelppp/headers/PPPDefs.h +++ b/src/add-ons/kernel/network/ppp/shared/libkernelppp/headers/PPPDefs.h @@ -8,6 +8,8 @@ #include +#include + #include "net_module.h" @@ -37,10 +39,10 @@ typedef uint32 ppp_interface_id; // path defines #define PPP_MODULES_PATH NETWORK_MODULES_ROOT "ppp" #define PTP_INTERFACE_SETTINGS_PATH \ - "/boot/home/config/settings/kernel/drivers/ptpnet" + kUserSettingsDirectory "/kernel/drivers/ptpnet" // TODO: should be: /etc/ptpnet #define PTP_SETTINGS_PATH \ - "/boot/home/config/settings/kernel/drivers/ptpnet.settings" + kUserSettingsDirectory "/kernel/drivers/ptpnet.settings" // TODO: should be: /etc/ptpnet.settings // built-in protocols diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index 9f42ca36ac..df6c046b42 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -56,7 +56,7 @@ All rights reserved. #include "BarApp.h" #include "BarView.h" #include "BarWindow.h" -#include "DeskBarUtils.h" +#include "DeskbarUtils.h" #include "FSUtils.h" #include "PublicCommands.h" #include "ResourceSet.h" @@ -69,7 +69,7 @@ BList TBarApp::sBarTeamInfoList; BList TBarApp::sSubscribers; -const uint32 kShowBeMenu = 'BeMn'; +const uint32 kShowDeskbarMenu = 'BeMn'; const uint32 kShowTeamMenu = 'TmMn'; @@ -340,9 +340,9 @@ TBarApp::MessageReceived(BMessage* message) fPreferencesWindow->PostMessage(kStateChanged); break; - case kShowBeMenu: + case kShowDeskbarMenu: if (fBarWindow->Lock()) { - fBarWindow->ShowBeMenu(); + fBarWindow->ShowDeskbarMenu(); fBarWindow->Unlock(); } break; diff --git a/src/apps/deskbar/BarMenuBar.cpp b/src/apps/deskbar/BarMenuBar.cpp index c51f6c99ea..b03936e598 100644 --- a/src/apps/deskbar/BarMenuBar.cpp +++ b/src/apps/deskbar/BarMenuBar.cpp @@ -45,8 +45,8 @@ All rights reserved. #include "icons.h" #include "icons_logo.h" #include "BarWindow.h" -#include "BeMenu.h" -#include "DeskBarUtils.h" +#include "DeskbarMenu.h" +#include "DeskbarUtils.h" #include "ResourceSet.h" #include "TeamMenu.h" @@ -58,12 +58,12 @@ TBarMenuBar::TBarMenuBar(TBarView* bar, BRect frame, const char* name) { SetItemMargins(0.0f, 0.0f, 0.0f, 0.0f); - TBeMenu* beMenu = new TBeMenu(bar); - TBarWindow::SetBeMenu(beMenu); + TDeskbarMenu* beMenu = new TDeskbarMenu(bar); + TBarWindow::SetDeskbarMenu(beMenu); - fBeMenuItem = new TBarMenuTitle(frame.Width(), frame.Height(), + fDeskbarMenuItem = new TBarMenuTitle(frame.Width(), frame.Height(), AppResSet()->FindBitmap(B_MESSAGE_TYPE, R_LeafLogoBitmap), beMenu); - AddItem(fBeMenuItem); + AddItem(fDeskbarMenuItem); } @@ -85,8 +85,8 @@ TBarMenuBar::SmartResize(float width, float height) width -= 1; int32 count = CountItems(); - if (fBeMenuItem) - fBeMenuItem->SetWidthHeight(width / count, height); + if (fDeskbarMenuItem) + fDeskbarMenuItem->SetWidthHeight(width / count, height); if (fAppListMenuItem) fAppListMenuItem->SetWidthHeight(width / count, height); @@ -195,10 +195,10 @@ TBarMenuBar::InitTrackingHook(bool (*hookFunction)(BMenu*, void*), uint32 buttons; GetMouse(&loc, &buttons); // set the hook functions for the two menus - // will always have the be menu + // will always have the deskbar menu // may have the app menu as well (mini mode) - if (fBeMenuItem->Frame().Contains(loc) || both) - init_tracking_hook(fBeMenuItem, hookFunction, state); + if (fDeskbarMenuItem->Frame().Contains(loc) || both) + init_tracking_hook(fDeskbarMenuItem, hookFunction, state); if (fAppListMenuItem && (fAppListMenuItem->Frame().Contains(loc) || both)) init_tracking_hook(fAppListMenuItem, hookFunction, state); diff --git a/src/apps/deskbar/BarMenuBar.h b/src/apps/deskbar/BarMenuBar.h index f748882f44..3adaa97967 100644 --- a/src/apps/deskbar/BarMenuBar.h +++ b/src/apps/deskbar/BarMenuBar.h @@ -67,7 +67,7 @@ class TBarMenuBar : public BMenuBar { private: TBarView* fBarView; - TBarMenuTitle* fBeMenuItem; + TBarMenuTitle* fDeskbarMenuItem; TBarMenuTitle* fAppListMenuItem; }; diff --git a/src/apps/deskbar/BarMenuTitle.cpp b/src/apps/deskbar/BarMenuTitle.cpp index 84c2d91d9e..903d81e751 100644 --- a/src/apps/deskbar/BarMenuTitle.cpp +++ b/src/apps/deskbar/BarMenuTitle.cpp @@ -200,8 +200,8 @@ TBarMenuTitle::Invoke(BMessage* message) if (barview) { BLooper* looper = barview->Looper(); if (looper->Lock()) { - // tell barview to add the refs to the be menu - barview->HandleBeMenu(NULL); + // tell barview to add the refs to the deskbar menu + barview->HandleDeskbarMenu(NULL); looper->Unlock(); } } diff --git a/src/apps/deskbar/BarView.cpp b/src/apps/deskbar/BarView.cpp index f1473a258f..b5565efcf6 100644 --- a/src/apps/deskbar/BarView.cpp +++ b/src/apps/deskbar/BarView.cpp @@ -53,8 +53,8 @@ All rights reserved. #include "BarApp.h" #include "BarMenuBar.h" #include "BarWindow.h" -#include "BeMenu.h" -#include "DeskBarUtils.h" +#include "DeskbarMenu.h" +#include "DeskbarUtils.h" #include "ExpandoMenuBar.h" #include "FSUtils.h" #include "ResourceSet.h" @@ -160,7 +160,7 @@ TBarView::MessageReceived(BMessage* message) case B_REFS_RECEIVED: // received when an item is selected during DnD // message is targeted here from Be menu - HandleBeMenu(message); + HandleDeskbarMenu(message); break; case B_ARCHIVED_OBJECT: @@ -264,7 +264,7 @@ TBarView::MouseDown(BPoint where) void -TBarView::PlaceBeMenu() +TBarView::PlaceDeskbarMenu() { // top or bottom, full if (!fVertical && fBarMenuBar) { @@ -305,7 +305,7 @@ TBarView::PlaceBeMenu() width = floorf(width) / 2; loc = Bounds().LeftTop(); } else { - // mini mode, BeMenu next to team menu + // mini mode, DeskbarMenu next to team menu fBarMenuBar->AddTeamMenu(); } @@ -528,7 +528,7 @@ TBarView::ChangeState(int32 state, bool vertical, bool left, bool top) BRect screenFrame = (BScreen(Window())).Frame(); - PlaceBeMenu(); + PlaceDeskbarMenu(); PlaceTray(vertSwap, leftSwap, screenFrame); // Keep track of which apps are expanded @@ -821,12 +821,12 @@ TBarView::MenuTrackingHook(BMenu* menu, void* castToThis) // keep tracking endMenu = false; } else { - // see if the mouse is in the team/be menu item + // see if the mouse is in the team/deskbar menu item menu->ConvertToScreen(&location); if (barview->LockLooper()) { TExpandoMenuBar* expando = barview->ExpandoMenuBar(); - TBeMenu* bemenu - = (dynamic_cast(barview->Window()))->BeMenu(); + TDeskbarMenu* bemenu + = (dynamic_cast(barview->Window()))->DeskbarMenu(); if (bemenu && bemenu->LockLooper()) { bemenu->ConvertFromScreen(&location); @@ -987,7 +987,7 @@ TBarView::InvokeItem(const char* signature) void -TBarView::HandleBeMenu(BMessage* messagewithdestination) +TBarView::HandleDeskbarMenu(BMessage* messagewithdestination) { if (!Dragging()) return; @@ -1011,13 +1011,13 @@ TBarView::HandleBeMenu(BMessage* messagewithdestination) if (entry.IsDirectory()) { // if the ref received (should only be 1) is a directory // then add the drag refs to the directory - AddRefsToBeMenu(DragMessage(), &ref); + AddRefsToDeskbarMenu(DragMessage(), &ref); } else SendDragMessage(NULL, &ref); } } else { - // adds drag refs to top level in be menu - AddRefsToBeMenu(DragMessage(), NULL); + // adds drag refs to top level in deskbar menu + AddRefsToDeskbarMenu(DragMessage(), NULL); } // clean up drag message and types list diff --git a/src/apps/deskbar/BarView.h b/src/apps/deskbar/BarView.h index e9d3cf996f..c24d5ae593 100644 --- a/src/apps/deskbar/BarView.h +++ b/src/apps/deskbar/BarView.h @@ -114,7 +114,7 @@ class TBarView : public BView { bool DragOverride(); bool InvokeItem(const char* signature); - void HandleBeMenu(BMessage* targetmessage); + void HandleDeskbarMenu(BMessage* targetmessage); status_t ItemInfo(int32 id, const char** name, DeskbarShelf* shelf); status_t ItemInfo(const char* name, int32* id, DeskbarShelf* shelf); @@ -145,12 +145,12 @@ class TBarView : public BView { void AddExpandedItem(const char* signature); private: - friend class TBeMenu; + friend class TDeskbarMenu; friend class PreferencesWindow; status_t SendDragMessage(const char* signature, entry_ref* ref = NULL); - void PlaceBeMenu(); + void PlaceDeskbarMenu(); void PlaceTray(bool vertSwap, bool leftSwap, BRect screenFrame); void PlaceApplicationBar(BRect screenFrame); void SaveExpandedItems(); diff --git a/src/apps/deskbar/BarWindow.cpp b/src/apps/deskbar/BarWindow.cpp index b8a89f5d3a..af65febd5b 100644 --- a/src/apps/deskbar/BarWindow.cpp +++ b/src/apps/deskbar/BarWindow.cpp @@ -52,7 +52,7 @@ All rights reserved. #include "BarApp.h" #include "BarMenuBar.h" #include "BarView.h" -#include "BeMenu.h" +#include "DeskbarMenu.h" #include "PublicCommands.h" #include "StatusView.h" #include "tracker_private.h" @@ -80,7 +80,7 @@ extern "C" void BMenuBar_StartMenuBar_Hack(BMenuBar*, int32, bool, bool, BRect*); -TBeMenu* TBarWindow::sBeMenu = NULL; +TDeskbarMenu* TBarWindow::sDeskbarMenu = NULL; TBarWindow::TBarWindow() @@ -118,18 +118,18 @@ TBarWindow::MenusBeginning() if (entry.InitCheck() == B_OK && entry.IsDirectory()) { // need the entry_ref to the actual item entry.GetRef(&ref); - // set the nav directory to the be folder - sBeMenu->SetNavDir(&ref); + // set the nav directory to the deskbar folder + sDeskbarMenu->SetNavDir(&ref); } else if (!entry.Exists()) { - // the Be folder does not exist + // the deskbar folder does not exist // create one now BDirectory dir; if (entry.GetParent(&dir) == B_OK) { - BDirectory bedir; - dir.CreateDirectory("be", &bedir); - if (bedir.GetEntry(&entry) == B_OK + BDirectory deskbarDir; + dir.CreateDirectory("deskbar", &deskbarDir); + if (deskbarDir.GetEntry(&entry) == B_OK && entry.GetRef(&ref) == B_OK) - sBeMenu->SetNavDir(&ref); + sDeskbarMenu->SetNavDir(&ref); } } else { // this really should never happen @@ -137,8 +137,8 @@ TBarWindow::MenusBeginning() return; } - sBeMenu->NeedsToRebuild(); - sBeMenu->ResetTargets(); + sDeskbarMenu->NeedsToRebuild(); + sDeskbarMenu->ResetTargets(); fBarView->SetEventMask(0); // This works around a BeOS bug - the menu is quit with every @@ -153,10 +153,10 @@ TBarWindow::MenusEnded() { BWindow::MenusEnded(); - if (sBeMenu->LockLooper()) { + if (sDeskbarMenu->LockLooper()) { // TODO: is this ok? - sBeMenu->RemoveItems(0, sBeMenu->CountItems(), true); - sBeMenu->UnlockLooper(); + sDeskbarMenu->RemoveItems(0, sDeskbarMenu->CountItems(), true); + sDeskbarMenu->UnlockLooper(); } fBarView->UpdateEventMask(); @@ -273,21 +273,21 @@ TBarWindow::ScreenChanged(BRect size, color_space depth) void -TBarWindow::SetBeMenu(TBeMenu* menu) +TBarWindow::SetDeskbarMenu(TDeskbarMenu* menu) { - sBeMenu = menu; + sDeskbarMenu = menu; } -TBeMenu* -TBarWindow::BeMenu() +TDeskbarMenu* +TBarWindow::DeskbarMenu() { - return sBeMenu; + return sDeskbarMenu; } void -TBarWindow::ShowBeMenu() +TBarWindow::ShowDeskbarMenu() { BMenuBar* menuBar = fBarView->BarMenuBar(); if (menuBar == NULL) diff --git a/src/apps/deskbar/BarWindow.h b/src/apps/deskbar/BarWindow.h index b8da5ffac5..958bdfa985 100644 --- a/src/apps/deskbar/BarWindow.h +++ b/src/apps/deskbar/BarWindow.h @@ -40,7 +40,7 @@ All rights reserved. #include -class TBeMenu; +class TDeskbarMenu; class TBarView; @@ -59,10 +59,10 @@ public: void SaveSettings(); TBarView* BarView() const { return fBarView; }; - static void SetBeMenu(TBeMenu* menu); - TBeMenu* BeMenu(); + static void SetDeskbarMenu(TDeskbarMenu* menu); + TDeskbarMenu* DeskbarMenu(); - void ShowBeMenu(); + void ShowDeskbarMenu(); void ShowTeamMenu(); void GetLocation(BMessage* message); @@ -88,7 +88,7 @@ private: bool _IsFocusMessage(BMessage* message); private: - static TBeMenu* sBeMenu; + static TDeskbarMenu* sDeskbarMenu; TBarView* fBarView; }; diff --git a/src/apps/deskbar/BeMenu.cpp b/src/apps/deskbar/DeskbarMenu.cpp similarity index 94% rename from src/apps/deskbar/BeMenu.cpp rename to src/apps/deskbar/DeskbarMenu.cpp index 206076601a..fe82902435 100644 --- a/src/apps/deskbar/BeMenu.cpp +++ b/src/apps/deskbar/DeskbarMenu.cpp @@ -42,10 +42,14 @@ All rights reserved. #include #include -#include "BeMenu.h" +#include "DeskbarMenu.h" #include "BarApp.h" #include "BarView.h" -#include "DeskBarUtils.h" +#include "DeskbarUtils.h" +#include "IconMenuItem.h" +#include "MountMenu.h" +#include "IconMenuItem.h" +#include "MountMenu.h" #include "IconMenuItem.h" #include "MountMenu.h" #include "PublicCommands.h" @@ -54,7 +58,7 @@ All rights reserved. #include "tracker_private.h" #undef B_TRANSLATE_CONTEXT -#define B_TRANSLATE_CONTEXT "BeMenu" +#define B_TRANSLATE_CONTEXT "DeskbarMenu" #define ROSTER_SIG "application/x-vnd.Be-ROST" @@ -81,8 +85,8 @@ using namespace BPrivate; // #pragma mark - -TBeMenu::TBeMenu(TBarView* barView) - : BNavMenu("BeMenu", B_REFS_RECEIVED, DefaultTarget()), +TDeskbarMenu::TDeskbarMenu(TBarView* barView) + : BNavMenu("DeskbarMenu", B_REFS_RECEIVED, DefaultTarget()), fAddState(kStart), fBarView(barView) { @@ -90,7 +94,7 @@ TBeMenu::TBeMenu(TBarView* barView) void -TBeMenu::AttachedToWindow() +TDeskbarMenu::AttachedToWindow() { if (fBarView && fBarView->LockLooper()) { if (fBarView->Dragging()) { @@ -113,7 +117,7 @@ TBeMenu::AttachedToWindow() void -TBeMenu::DetachedFromWindow() +TDeskbarMenu::DetachedFromWindow() { if (fBarView) { BLooper* looper = fBarView->Looper(); @@ -130,7 +134,7 @@ TBeMenu::DetachedFromWindow() bool -TBeMenu::StartBuildingItemList() +TDeskbarMenu::StartBuildingItemList() { RemoveItems(0, CountItems(), true); fAddState = kStart; @@ -139,11 +143,11 @@ TBeMenu::StartBuildingItemList() void -TBeMenu::DoneBuildingItemList() +TDeskbarMenu::DoneBuildingItemList() { if (fItemList->CountItems() <= 0) { - BMenuItem* item = new BMenuItem(B_TRANSLATE(""), - 0); + BMenuItem* item + = new BMenuItem(B_TRANSLATE(""), 0); item->SetEnabled(false); AddItem(item); } else @@ -152,10 +156,10 @@ TBeMenu::DoneBuildingItemList() bool -TBeMenu::AddNextItem() +TDeskbarMenu::AddNextItem() { if (fAddState == kStart) - return AddStandardBeMenuItems(); + return AddStandardDeskbarMenuItems(); TrackingHookData* data = fBarView->GetTrackingHookData(); if (fAddState == kAddingRecents) { @@ -199,11 +203,11 @@ TBeMenu::AddNextItem() } AddSeparatorItem(); - fAddState = kAddingBeMenu; + fAddState = kAddingDeskbarMenu; return true; } - if (fAddState == kAddingBeMenu) { + if (fAddState == kAddingDeskbarMenu) { // keep reentering and adding items // until this returns false bool done = BNavMenu::AddNextItem(); @@ -229,7 +233,7 @@ TBeMenu::AddNextItem() bool -TBeMenu::AddStandardBeMenuItems() +TDeskbarMenu::AddStandardDeskbarMenuItems() { bool dragging = false; if (fBarView) @@ -341,7 +345,7 @@ TBeMenu::AddStandardBeMenuItems() void -TBeMenu::ClearMenuBuildingState() +TDeskbarMenu::ClearMenuBuildingState() { fAddState = kDone; fMenuBuilt = false; @@ -351,7 +355,7 @@ TBeMenu::ClearMenuBuildingState() void -TBeMenu::ResetTargets() +TDeskbarMenu::ResetTargets() { // This method does not recurse into submenus // and does not affect menu items in submenus. @@ -396,7 +400,7 @@ TBeMenu::ResetTargets() BPoint -TBeMenu::ScreenLocation() +TDeskbarMenu::ScreenLocation() { bool vertical = fBarView->Vertical(); int32 expando = (fBarView->State() == kExpandoState); @@ -420,7 +424,7 @@ TBeMenu::ScreenLocation() /*static*/ BMessenger -TBeMenu::DefaultTarget() +TDeskbarMenu::DefaultTarget() { // if Tracker is not available we target the BarApp BMessenger target(kTrackerSignature); @@ -436,7 +440,7 @@ TBeMenu::DefaultTarget() TRecentsMenu::TRecentsMenu(const char* name, TBarView* bar, int32 which, const char* signature, entry_ref* appRef) - : BNavMenu(name, B_REFS_RECEIVED, TBeMenu::DefaultTarget()), + : BNavMenu(name, B_REFS_RECEIVED, TDeskbarMenu::DefaultTarget()), fWhich(which), fAppRef(NULL), fSignature(NULL), @@ -640,7 +644,7 @@ TRecentsMenu::ResetTargets() // if we are dragging, set the target to whatever was set // else set it to the default (Tracker) if (!fBarView->Dragging()) - SetTarget(TBeMenu::DefaultTarget()); + SetTarget(TDeskbarMenu::DefaultTarget()); // now set the target for the menuitems to the currently // set target, which may or may not be tracker diff --git a/src/apps/deskbar/BeMenu.h b/src/apps/deskbar/DeskbarMenu.h similarity index 93% rename from src/apps/deskbar/BeMenu.h rename to src/apps/deskbar/DeskbarMenu.h index 70abe610b3..c845402290 100644 --- a/src/apps/deskbar/BeMenu.h +++ b/src/apps/deskbar/DeskbarMenu.h @@ -33,8 +33,8 @@ holders. All rights reserved. */ -#ifndef _BE_MENU_H_ -#define _BE_MENU_H_ +#ifndef _DESKBAR_MENU_H_ +#define _DESKBAR_MENU_H_ #include "NavMenu.h" @@ -96,9 +96,9 @@ TRecentsMenu::RecentsEnabled() } -class TBeMenu : public BNavMenu { +class TDeskbarMenu : public BNavMenu { public: - TBeMenu(TBarView* bar); + TDeskbarMenu(TBarView* bar); void AttachedToWindow(); void DetachedFromWindow(); @@ -111,13 +111,13 @@ class TBeMenu : public BNavMenu { enum State { kStart, kAddingRecents, - kAddingBeMenu, + kAddingDeskbarMenu, kDone }; protected: BPoint ScreenLocation(); - bool AddStandardBeMenuItems(); + bool AddStandardDeskbarMenuItems(); private: virtual bool StartBuildingItemList(); @@ -130,5 +130,5 @@ class TBeMenu : public BNavMenu { TBarView* fBarView; }; -#endif /* _BE_MENU_H_ */ +#endif /* _DESKBAR_MENU_H_ */ diff --git a/src/apps/deskbar/DeskBarUtils.cpp b/src/apps/deskbar/DeskbarUtils.cpp similarity index 96% rename from src/apps/deskbar/DeskBarUtils.cpp rename to src/apps/deskbar/DeskbarUtils.cpp index 791a809842..c0c0e59917 100644 --- a/src/apps/deskbar/DeskBarUtils.cpp +++ b/src/apps/deskbar/DeskbarUtils.cpp @@ -51,11 +51,11 @@ All rights reserved. #include #include "BarMenuBar.h" -#include "DeskBarUtils.h" +#include "DeskbarUtils.h" #include "ExpandoMenuBar.h" void -AddRefsToBeMenu(const BMessage* m, entry_ref* subdirectory) +AddRefsToDeskbarMenu(const BMessage* m, entry_ref* subdirectory) { if (m) { int32 count = 0; diff --git a/src/apps/deskbar/DeskBarUtils.h b/src/apps/deskbar/DeskbarUtils.h similarity index 96% rename from src/apps/deskbar/DeskBarUtils.h rename to src/apps/deskbar/DeskbarUtils.h index b35ad567a6..33d9908b3a 100644 --- a/src/apps/deskbar/DeskBarUtils.h +++ b/src/apps/deskbar/DeskbarUtils.h @@ -39,7 +39,7 @@ All rights reserved. #include "tracker_private.h" -void AddRefsToBeMenu(const BMessage* m, entry_ref* subdirectory); +void AddRefsToDeskbarMenu(const BMessage* m, entry_ref* subdirectory); #endif /* DB_UTILS_H */ diff --git a/src/apps/deskbar/ExpandoMenuBar.cpp b/src/apps/deskbar/ExpandoMenuBar.cpp index c07818be18..85f268b100 100644 --- a/src/apps/deskbar/ExpandoMenuBar.cpp +++ b/src/apps/deskbar/ExpandoMenuBar.cpp @@ -49,8 +49,8 @@ All rights reserved. #include "BarApp.h" #include "BarMenuTitle.h" #include "BarView.h" -#include "BeMenu.h" -#include "DeskBarUtils.h" +#include "DeskbarMenu.h" +#include "DeskbarUtils.h" #include "ExpandoMenuBar.h" #include "ResourceSet.h" #include "ShowHideMenuItem.h" @@ -59,7 +59,7 @@ All rights reserved. #include "WindowMenu.h" #include "WindowMenuItem.h" -const float kDefaultBeMenuWidth = 50.0f; +const float kDefaultDeskbarMenuWidth = 50.0f; const float kSepItemWidth = 5.0f; const uint32 kMinimizeTeam = 'mntm'; @@ -82,7 +82,7 @@ TExpandoMenuBar::TExpandoMenuBar(TBarView* bar, BRect frame, const char* name, fIsScrolling(false), fShowTeamExpander(static_cast(be_app)->Settings()->superExpando), fExpandNewTeams(static_cast(be_app)->Settings()->expandNewTeams), - fBeMenuWidth(kDefaultBeMenuWidth), + fDeskbarMenuWidth(kDefaultDeskbarMenuWidth), fBarView(bar), fFirstApp(0), fPreviousDragTargetItem(NULL), @@ -111,24 +111,25 @@ TExpandoMenuBar::AttachedToWindow() float width = fVertical ? Frame().Width() : sMinimumWindowWidth; float height = -1.0f; - // top or bottom mode, add be menu and sep for menubar tracking consistency + // top or bottom mode, add deskbar menu and sep for menubar tracking + // consistency if (!fVertical) { - TBeMenu* beMenu = new TBeMenu(fBarView); - TBarWindow::SetBeMenu(beMenu); + TDeskbarMenu* beMenu = new TDeskbarMenu(fBarView); + TBarWindow::SetDeskbarMenu(beMenu); const BBitmap* logoBitmap = AppResSet()->FindBitmap(B_MESSAGE_TYPE, R_LeafLogoBitmap); if (logoBitmap != NULL) - fBeMenuWidth = logoBitmap->Bounds().Width() + 16; - fBeMenuItem = new TBarMenuTitle(fBeMenuWidth, Frame().Height(), + fDeskbarMenuWidth = logoBitmap->Bounds().Width() + 16; + fDeskbarMenuItem = new TBarMenuTitle(fDeskbarMenuWidth, Frame().Height(), logoBitmap, beMenu, true); - AddItem(fBeMenuItem); + AddItem(fDeskbarMenuItem); fSeparatorItem = new TTeamMenuItem(kSepItemWidth, height, fVertical); AddItem(fSeparatorItem); fSeparatorItem->SetEnabled(false); fFirstApp = 2; } else { - fBeMenuItem = NULL; + fDeskbarMenuItem = NULL; fSeparatorItem = NULL; } @@ -438,21 +439,21 @@ TExpandoMenuBar::MouseUp(BPoint where) bool -TExpandoMenuBar::InBeMenu(BPoint loc) const +TExpandoMenuBar::InDeskbarMenu(BPoint loc) const { if (!fVertical) { - if (fBeMenuItem && fBeMenuItem->Frame().Contains(loc)) + if (fDeskbarMenuItem && fDeskbarMenuItem->Frame().Contains(loc)) return true; } else { TBarWindow* window = dynamic_cast(Window()); if (window) { - if (TBeMenu* bemenu = window->BeMenu()) { - bool inBeMenu = false; + if (TDeskbarMenu* bemenu = window->DeskbarMenu()) { + bool inDeskbarMenu = false; if (bemenu->LockLooper()) { - inBeMenu = bemenu->Frame().Contains(loc); + inDeskbarMenu = bemenu->Frame().Contains(loc); bemenu->UnlockLooper(); } - return inBeMenu; + return inDeskbarMenu; } } } @@ -617,8 +618,8 @@ TExpandoMenuBar::CheckItemSizes(int32 delta) // - The Be Menu // - The little separator item fullWidth = fullWidth - (sMinimumWindowWidth * 2) - + (fBeMenuWidth + kSepItemWidth); - width -= (fBeMenuWidth + kSepItemWidth); + + (fDeskbarMenuWidth + kSepItemWidth); + width -= (fDeskbarMenuWidth + kSepItemWidth); count -= 2; } diff --git a/src/apps/deskbar/ExpandoMenuBar.h b/src/apps/deskbar/ExpandoMenuBar.h index d0d624a43f..8e5c990bb8 100644 --- a/src/apps/deskbar/ExpandoMenuBar.h +++ b/src/apps/deskbar/ExpandoMenuBar.h @@ -52,7 +52,7 @@ class TTeamMenuItem; enum drag_and_drop_selection { kNoSelection, - kBeMenuSelection, + kDeskbarMenuSelection, kAppMenuSelection, kAnyMenuSelection }; @@ -74,7 +74,7 @@ class TExpandoMenuBar : public BMenuBar { TTeamMenuItem* TeamItemAtPoint(BPoint location, BMenuItem** _item = NULL); - bool InBeMenu(BPoint) const; + bool InDeskbarMenu(BPoint) const; void CheckItemSizes(int32 delta); @@ -100,12 +100,12 @@ class TExpandoMenuBar : public BMenuBar { bool fShowTeamExpander : 1; bool fExpandNewTeams : 1; - float fBeMenuWidth; + float fDeskbarMenuWidth; TBarView* fBarView; int32 fFirstApp; - TBarMenuTitle* fBeMenuItem; + TBarMenuTitle* fDeskbarMenuItem; TTeamMenuItem* fSeparatorItem; TTeamMenuItem* fPreviousDragTargetItem; diff --git a/src/apps/deskbar/Jamfile b/src/apps/deskbar/Jamfile index 7788b40026..91523b8823 100644 --- a/src/apps/deskbar/Jamfile +++ b/src/apps/deskbar/Jamfile @@ -24,8 +24,8 @@ Application Deskbar : BarMenuTitle.cpp BarView.cpp BarWindow.cpp - BeMenu.cpp - DeskBarUtils.cpp + DeskbarMenu.cpp + DeskbarUtils.cpp ExpandoMenuBar.cpp PreferencesWindow.cpp ShowHideMenuItem.cpp @@ -46,7 +46,7 @@ DoCatalogs Deskbar : x-vnd.Be-TSKB : BarWindow.cpp - BeMenu.cpp + DeskbarMenu.cpp LocalizedFolders.h PreferencesWindow.cpp StatusView.cpp diff --git a/src/apps/deskbar/StatusView.cpp b/src/apps/deskbar/StatusView.cpp index ea73298c82..4ea754c271 100644 --- a/src/apps/deskbar/StatusView.cpp +++ b/src/apps/deskbar/StatusView.cpp @@ -66,7 +66,7 @@ All rights reserved. #include "icons_logo.h" #include "BarApp.h" -#include "DeskBarUtils.h" +#include "DeskbarUtils.h" #include "ResourceSet.h" #include "StatusView.h" #include "StatusViewShelf.h" diff --git a/src/apps/deskbar/TeamMenu.cpp b/src/apps/deskbar/TeamMenu.cpp index d0342786e3..e22c83eb61 100644 --- a/src/apps/deskbar/TeamMenu.cpp +++ b/src/apps/deskbar/TeamMenu.cpp @@ -41,7 +41,7 @@ All rights reserved. #include "BarApp.h" #include "BarMenuBar.h" -#include "DeskBarUtils.h" +#include "DeskbarUtils.h" #include "TeamMenuItem.h" #include "TeamMenu.h" diff --git a/src/apps/processcontroller/PCWorld.cpp b/src/apps/processcontroller/PCWorld.cpp index 71ecee1874..836867f47b 100644 --- a/src/apps/processcontroller/PCWorld.cpp +++ b/src/apps/processcontroller/PCWorld.cpp @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include #include @@ -139,8 +141,16 @@ PCApplication::ArgvReceived(int32 argc, char **argv) snooze(10000); } while (be_roster->IsRunning(kTrackerSig) && k-- > 0); } - remove("/boot/home/config/settings/Tracker/tracker_shelf"); - launch(kTrackerSig, "/boot/system/Tracker"); + BPath shelfPath; + if (find_directory(B_USER_SETTINGS_DIRECTORY, &shelfPath) == B_OK + && shelfPath.Append("Tracker/tracker_shelf") == B_OK) { + remove(shelfPath.Path()); + } + BPath trackerPath; + if (find_directory(B_SYSTEM_DIRECTORY, &trackerPath) == B_OK + && trackerPath.Append("Tracker") == B_OK) { + launch(kTrackerSig, trackerPath.Path()); + } } else if (argc == 2 && strcmp(argv[1], "-deskbar") == 0) { BDeskbar deskbar; if (!gInDeskbar && !deskbar.HasItem(kDeskbarItemName)) diff --git a/src/apps/processcontroller/ProcessController.cpp b/src/apps/processcontroller/ProcessController.cpp index 552b618ea9..3d1c225b53 100644 --- a/src/apps/processcontroller/ProcessController.cpp +++ b/src/apps/processcontroller/ProcessController.cpp @@ -345,21 +345,45 @@ ProcessController::MessageReceived(BMessage *message) break; case 'Trac': - launch(kTrackerSig, "/boot/system/Tracker"); + { + BPath trackerPath; + if (find_directory(B_SYSTEM_DIRECTORY, &trackerPath) == B_OK + && trackerPath.Append("Tracker") == B_OK) { + launch(kTrackerSig, trackerPath.Path()); + } break; + } case 'Dbar': - launch(kDeskbarSig, "/boot/system/Deskbar"); + { + BPath deskbarPath; + if (find_directory(B_SYSTEM_DIRECTORY, &deskbarPath) == B_OK + && deskbarPath.Append("Deskbar") == B_OK) { + launch(kDeskbarSig, deskbarPath.Path()); + } break; + } case 'Term': - launch(kTerminalSig, "/boot/system/apps/Terminal"); + { + BPath terminalPath; + if (find_directory(B_SYSTEM_APPS_DIRECTORY, &terminalPath) == B_OK + && terminalPath.Append("Deskbar") == B_OK) { + launch(kTerminalSig, terminalPath.Path()); + } + launch(kTerminalSig, terminalPath.Path()); break; + } case 'AlDb': { - if (!be_roster->IsRunning(kDeskbarSig)) - launch(kDeskbarSig, "/boot/system/Deskbar"); + if (!be_roster->IsRunning(kDeskbarSig)) { + BPath deskbarPath; + if (find_directory(B_SYSTEM_DIRECTORY, &deskbarPath) == B_OK + && deskbarPath.Append("Deskbar") == B_OK) { + launch(kDeskbarSig, deskbarPath.Path()); + } + } BDeskbar deskbar; if (gInDeskbar || deskbar.HasItem (kDeskbarItemName)) deskbar.RemoveItem (kDeskbarItemName); diff --git a/src/apps/remotedesktop/RemoteDesktop.cpp b/src/apps/remotedesktop/RemoteDesktop.cpp index c30612d0c6..75a92e91da 100644 --- a/src/apps/remotedesktop/RemoteDesktop.cpp +++ b/src/apps/remotedesktop/RemoteDesktop.cpp @@ -7,6 +7,8 @@ */ #include +#include +#include #include #include @@ -40,7 +42,6 @@ main(int argc, char *argv[]) bool listenOnly = false; uint32 listenPort = 10900; uint32 sshPort = 22; - const char *command = "/system/apps/Terminal"; for (int32 i = 2; i < argc; i++) { if (strcmp(argv[i], "-p") == 0) { @@ -85,10 +86,21 @@ main(int argc, char *argv[]) pid_t sshPID = -1; if (!listenOnly) { + + BPath terminalPath; + if (find_directory(B_SYSTEM_APPS_DIRECTORY, &terminalPath) != B_OK) { + printf("failed to determine system-apps directory\n"); + return 3; + } + if (terminalPath.Append("Terminal") != B_OK) { + printf("failed to append to system-apps path\n"); + return 3; + } + char shellCommand[4096]; snprintf(shellCommand, sizeof(shellCommand), "echo connected; export TARGET_SCREEN=localhost:%lu; %s\n", - listenPort, command); + listenPort, terminalPath.Path()); int pipes[4]; if (pipe(&pipes[0]) != 0 || pipe(&pipes[2]) != 0) { diff --git a/src/bin/bash/config-top.h b/src/bin/bash/config-top.h index 906128e91b..9b7d17e905 100644 --- a/src/bin/bash/config-top.h +++ b/src/bin/bash/config-top.h @@ -54,7 +54,10 @@ /* The default value of the PATH variable. */ #ifndef DEFAULT_PATH_VALUE #define DEFAULT_PATH_VALUE \ - ".:/boot/home/config/bin:/bin:/boot/apps:/boot/preferences:/boot/system/apps:/boot/system/preferences:/boot/develop/bin" + ".:/boot/home/config/bin:/bin:/boot/apps:/boot/preferences" \ + ":/boot/system/apps" \ + ":/boot/system/preferences" \ + ":/boot/common/settings/develop/tools/current/bin" #endif /* The value for PATH when invoking `command -p'. This is only used when diff --git a/src/bin/bash/pathnames.h b/src/bin/bash/pathnames.h index 4df7c143e5..42288f5c18 100644 --- a/src/bin/bash/pathnames.h +++ b/src/bin/bash/pathnames.h @@ -28,6 +28,7 @@ #define SYS_PROFILE "/etc/profile" /* The default location of the bash debugger initialization/startup file. */ -#define DEBUGGER_START_FILE "/boot/common/share/bashdb/bashdb-main.inc" +#define DEBUGGER_START_FILE \ + "/boot/common/share/bashdb/bashdb-main.inc" #endif /* _PATHNAMES_H */ diff --git a/src/bin/debug/profile/profile.cpp b/src/bin/debug/profile/profile.cpp index 1d2ddfcca9..dbe0d8f20a 100644 --- a/src/bin/debug/profile/profile.cpp +++ b/src/bin/debug/profile/profile.cpp @@ -17,7 +17,9 @@ #include #include +#include #include +#include #include #include @@ -454,7 +456,13 @@ private: BString name = imageInfo.name; if (name.FindFirst('/') == -1) { // modules without a path are likely to be boot modules - name.Prepend("/system/add-ons/kernel/boot/"); + BPath bootAddonPath; + if (find_directory(B_SYSTEM_ADDONS_DIRECTORY, + &bootAddonPath) == B_OK + && bootAddonPath.Append("kernel") == B_OK + && bootAddonPath.Append("boot") == B_OK) { + name = BString(bootAddonPath.Path()) << "/" << name; + } } error = sharedImage->Init(name.String()); diff --git a/src/bin/finddir.c b/src/bin/finddir.c index 33ab4084fa..1f659d7d84 100644 --- a/src/bin/finddir.c +++ b/src/bin/finddir.c @@ -28,6 +28,7 @@ directoryType directoryTypes[] = { KEYVALUE_PAIR(B_DESKTOP_DIRECTORY), KEYVALUE_PAIR(B_TRASH_DIRECTORY), KEYVALUE_PAIR(B_APPS_DIRECTORY), + KEYVALUE_PAIR(B_PACKAGE_LINKS_DIRECTORY), KEYVALUE_PAIR(B_PREFERENCES_DIRECTORY), KEYVALUE_PAIR(B_UTILITIES_DIRECTORY), @@ -46,6 +47,9 @@ directoryType directoryTypes[] = { KEYVALUE_PAIR(B_SYSTEM_MEDIA_NODES_DIRECTORY), KEYVALUE_PAIR(B_SYSTEM_SOUNDS_DIRECTORY), KEYVALUE_PAIR(B_SYSTEM_DATA_DIRECTORY), + KEYVALUE_PAIR(B_SYSTEM_DEVELOP_DIRECTORY), + KEYVALUE_PAIR(B_SYSTEM_PACKAGES_DIRECTORY), + KEYVALUE_PAIR(B_SYSTEM_HEADERS_DIRECTORY), // Common directories KEYVALUE_PAIR(B_COMMON_DIRECTORY), @@ -69,6 +73,19 @@ directoryType directoryTypes[] = { KEYVALUE_PAIR(B_COMMON_SOUNDS_DIRECTORY), KEYVALUE_PAIR(B_COMMON_DATA_DIRECTORY), KEYVALUE_PAIR(B_COMMON_CACHE_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_PACKAGES_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_HEADERS_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_ADDONS_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_TRANSLATORS_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_MEDIA_NODES_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_BIN_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_DATA_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_FONTS_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_SOUNDS_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_DOCUMENTATION_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_LIB_DIRECTORY), + KEYVALUE_PAIR(B_COMMON_NONPACKAGED_HEADERS_DIRECTORY), // User directories KEYVALUE_PAIR(B_USER_DIRECTORY), @@ -85,6 +102,19 @@ directoryType directoryTypes[] = { KEYVALUE_PAIR(B_USER_SOUNDS_DIRECTORY), KEYVALUE_PAIR(B_USER_DATA_DIRECTORY), KEYVALUE_PAIR(B_USER_CACHE_DIRECTORY), + KEYVALUE_PAIR(B_USER_PACKAGES_DIRECTORY), + KEYVALUE_PAIR(B_USER_HEADERS_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_ADDONS_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_TRANSLATORS_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_MEDIA_NODES_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_BIN_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_DATA_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_FONTS_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_SOUNDS_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_DOCUMENTATION_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_LIB_DIRECTORY), + KEYVALUE_PAIR(B_USER_NONPACKAGED_HEADERS_DIRECTORY), // Legacy system directories KEYVALUE_PAIR(B_BEOS_DIRECTORY), diff --git a/src/bin/package/command_list.cpp b/src/bin/package/command_list.cpp index ba84332c08..0c2671d43a 100644 --- a/src/bin/package/command_list.cpp +++ b/src/bin/package/command_list.cpp @@ -149,9 +149,7 @@ struct PackageContentListHandler : BPackageContentHandler { break; case B_PACKAGE_INFO_VERSION: - printf("\tversion: %s.%s.%s-%d\n", value.version.major, - value.version.minor, value.version.micro, - value.version.release); + _PrintPackageVersion(value.version); break; case B_PACKAGE_INFO_COPYRIGHTS: diff --git a/src/kits/app/Roster.cpp b/src/kits/app/Roster.cpp index bd413423c2..a500c70dd7 100644 --- a/src/kits/app/Roster.cpp +++ b/src/kits/app/Roster.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -242,13 +243,15 @@ compare_queried_apps(const entry_ref* app1, const entry_ref* app2) } } - // Check system folder + // Check system servers folder + BPath path; + find_directory(B_SYSTEM_SERVERS_DIRECTORY, &path); + BString serverPath(path.Path()); + serverPath << '/'; + size_t length = serverPath.Length(); - static const char* kSystemPath = "/boot/system/servers/"; - size_t length = strlen(kSystemPath); - - bool inSystem1 = !strncmp(kSystemPath, path1.Path(), length); - bool inSystem2 = !strncmp(kSystemPath, path2.Path(), length); + bool inSystem1 = !strncmp(serverPath.String(), path1.Path(), length); + bool inSystem2 = !strncmp(serverPath.String(), path2.Path(), length); if (inSystem1 != inSystem2) return inSystem1 ? 1 : -1; diff --git a/src/kits/locale/MutableLocaleRoster.cpp b/src/kits/locale/MutableLocaleRoster.cpp index 9c282542e8..9ceccc6a2c 100644 --- a/src/kits/locale/MutableLocaleRoster.cpp +++ b/src/kits/locale/MutableLocaleRoster.cpp @@ -361,15 +361,15 @@ RosterData::_InitializeCatalogAddOns() fCatalogAddOnInfos.AddItem((void*)defaultCatalogAddOnInfo); directory_which folders[] = { + B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, B_SYSTEM_ADDONS_DIRECTORY, - static_cast(-1) }; BPath addOnPath; BDirectory addOnFolder; char buf[4096]; status_t err; - for (int f = 0; folders[f]>=0; ++f) { + for (uint32 f = 0; f < sizeof(folders) / sizeof(directory_which); ++f) { find_directory(folders[f], &addOnPath); BString addOnFolderName(addOnPath.Path()); addOnFolderName << "/locale/catalogs"; diff --git a/src/kits/opengl/GLRendererRoster.cpp b/src/kits/opengl/GLRendererRoster.cpp index c4f5d81472..dad5302b41 100644 --- a/src/kits/opengl/GLRendererRoster.cpp +++ b/src/kits/opengl/GLRendererRoster.cpp @@ -109,10 +109,10 @@ GLRendererRoster::AddDefaultPaths() const directory_which paths[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY, + B_SYSTEM_ADDONS_DIRECTORY, }; - for (uint32 i = fSafeMode ? 2 : 0; i < sizeof(paths) / sizeof(paths[0]); i++) { + for (uint32 i = fSafeMode ? 4 : 0; i < sizeof(paths) / sizeof(paths[0]); i++) { BPath path; status_t status = find_directory(paths[i], &path, true); if (status == B_OK && path.Append("opengl") == B_OK) diff --git a/src/kits/package/PackageInfo.cpp b/src/kits/package/PackageInfo.cpp index 117ada8066..4c42ad6f8c 100644 --- a/src/kits/package/PackageInfo.cpp +++ b/src/kits/package/PackageInfo.cpp @@ -67,6 +67,8 @@ public: private: struct Token; + struct ListElementParser; + friend struct ListElementParser; Token _NextToken(); void _RewindTo(const Token& token); @@ -77,6 +79,7 @@ private: BPackageArchitecture* value); void _ParseVersionValue(BPackageVersion* value, bool releaseIsOptional); + void _ParseList(ListElementParser& elementParser); void _ParseStringList(BObjectList* value, bool allowQuotedStrings = true); void _ParseResolvableList( @@ -139,6 +142,11 @@ struct BPackageInfo::Parser::Token { }; +struct BPackageInfo::Parser::ListElementParser { + virtual void operator()(const Token& token) = 0; +}; + + BPackageInfo::ParseErrorListener::~ParseErrorListener() { } @@ -277,7 +285,7 @@ BPackageInfo::Parser::_NextToken() { const char* start = fPos; while (isalnum(*fPos) || *fPos == '.' || *fPos == '-' - || *fPos == '_' || *fPos == ':') { + || *fPos == '_' || *fPos == ':' || *fPos == '+') { fPos++; } if (fPos == start) @@ -384,8 +392,7 @@ BPackageInfo::Parser::_ParseVersionValue(BPackageVersion* value, void -BPackageInfo::Parser::_ParseStringList(BObjectList* value, bool - allowQuotedStrings) +BPackageInfo::Parser::_ParseList(ListElementParser& elementParser) { Token openBracket = _NextToken(); if (openBracket.type != TOKEN_OPEN_BRACKET) @@ -401,12 +408,41 @@ BPackageInfo::Parser::_ParseStringList(BObjectList* value, bool if (token.type != TOKEN_COMMA) throw ParseError("expected comma", token.pos); token = _NextToken(); + if (token.type == TOKEN_CLOSE_BRACKET) { + // silently skip trailing comma at end of list + return; + } } else needComma = true; + elementParser(token); + } +} + + +void +BPackageInfo::Parser::_ParseStringList(BObjectList* value, + bool allowQuotedStrings) +{ + struct StringParser : public ListElementParser { + BObjectList* value; + bool allowQuotedStrings; + + StringParser(BObjectList* value_, bool allowQuotedStrings_) + : + value(value_), + allowQuotedStrings(allowQuotedStrings_) + { + } + + virtual void operator()(const Token& token) + { if (allowQuotedStrings) { - if (token.type != TOKEN_QUOTED_STRING && token.type != TOKEN_WORD) - throw ParseError("expected quoted-string or word", token.pos); + if (token.type != TOKEN_QUOTED_STRING + && token.type != TOKEN_WORD) { + throw ParseError("expected quoted-string or word", + token.pos); + } } else { if (token.type != TOKEN_WORD) throw ParseError("expected word", token.pos); @@ -414,31 +450,26 @@ BPackageInfo::Parser::_ParseStringList(BObjectList* value, bool value->AddItem(new BString(token.text)); } + } stringParser(value, allowQuotedStrings); + + _ParseList(stringParser); } uint32 BPackageInfo::Parser::_ParseFlags() { - uint32 flags = 0; + struct FlagParser : public ListElementParser { + uint32 flags; - Token openBracket = _NextToken(); - if (openBracket.type != TOKEN_OPEN_BRACKET) - throw ParseError("expected start of list ('[')", openBracket.pos); - - bool needComma = false; - while (true) { - Token token = _NextToken(); - if (token.type == TOKEN_CLOSE_BRACKET) - break; - - if (needComma) { - if (token.type != TOKEN_COMMA) - throw ParseError("expected comma", token.pos); - token = _NextToken(); - } else - needComma = true; + FlagParser() + : + flags(0) + { + } + virtual void operator()(const Token& token) + { if (token.type != TOKEN_WORD) throw ParseError("expected word (a flag)", token.pos); @@ -447,12 +478,16 @@ BPackageInfo::Parser::_ParseFlags() else if (token.text.ICompare("system_package") == 0) flags |= B_PACKAGE_FLAG_SYSTEM_PACKAGE; else { - throw ParseError("expected 'approve_license' or 'system_package'", + throw ParseError( + "expected 'approve_license' or 'system_package'", token.pos); } } + } flagParser; - return flags; + _ParseList(flagParser); + + return flagParser.flags; } @@ -460,60 +495,63 @@ void BPackageInfo::Parser::_ParseResolvableList( BObjectList* value) { - Token openBracket = _NextToken(); - if (openBracket.type != TOKEN_OPEN_BRACKET) - throw ParseError("expected start of list ('[')", openBracket.pos); + struct ResolvableParser : public ListElementParser { + Parser& parser; + BObjectList* value; - bool needComma = false; - while (true) { - BPackageResolvableType type = B_PACKAGE_RESOLVABLE_TYPE_DEFAULT; + ResolvableParser(Parser& parser_, + BObjectList* value_) + : + parser(parser_), + value(value_) + { + } - Token word = _NextToken(); - if (word.type == TOKEN_CLOSE_BRACKET) - return; + virtual void operator()(const Token& token) + { + if (token.type != TOKEN_WORD) { + throw ParseError("expected word (a resolvable name)", + token.pos); + } - if (needComma) { - if (word.type != TOKEN_COMMA) - throw ParseError("expected comma", word.pos); - word = _NextToken(); - } else - needComma = true; - - if (word.type != TOKEN_WORD) - throw ParseError("expected word (a resolvable name)", word.pos); - - int32 colonPos = word.text.FindFirst(':'); + BPackageResolvableType type = B_PACKAGE_RESOLVABLE_TYPE_DEFAULT; + int32 colonPos = token.text.FindFirst(':'); if (colonPos >= 0) { - BString typeName(word.text, colonPos); + BString typeName(token.text, colonPos); for (int i = 0; i < B_PACKAGE_RESOLVABLE_TYPE_ENUM_COUNT; ++i) { - if (typeName.ICompare(BPackageResolvable::kTypeNames[i]) == 0) { + if (typeName.ICompare(BPackageResolvable::kTypeNames[i]) + == 0) { type = (BPackageResolvableType)i; break; } } if (type == B_PACKAGE_RESOLVABLE_TYPE_DEFAULT) { BString error("resolvable type (:) must be one of ["); - for (int i = 1; i < B_PACKAGE_RESOLVABLE_TYPE_ENUM_COUNT; ++i) { + for (int i = 1; i < B_PACKAGE_RESOLVABLE_TYPE_ENUM_COUNT; + ++i) { if (i > 1) error << ","; error << BPackageResolvable::kTypeNames[i]; } error << "]"; - throw ParseError(error, word.pos); + throw ParseError(error, token.pos); } } BPackageVersion version; - Token op = _NextToken(); + Token op = parser._NextToken(); if (op.type == TOKEN_OPERATOR_ASSIGN) - _ParseVersionValue(&version, true); + parser._ParseVersionValue(&version, true); else if (op.type == TOKEN_COMMA || op.type == TOKEN_CLOSE_BRACKET) - _RewindTo(op); + parser._RewindTo(op); else throw ParseError("expected '=', comma or ']'", op.pos); - value->AddItem(new BPackageResolvable(word.text, type, version)); + value->AddItem(new BPackageResolvable(token.text, type, version)); } + } resolvableParser(*this, value); + + _ParseList(resolvableParser); } @@ -521,37 +559,36 @@ void BPackageInfo::Parser::_ParseResolvableExprList( BObjectList* value) { - Token openBracket = _NextToken(); - if (openBracket.type != TOKEN_OPEN_BRACKET) - throw ParseError("expected start of list ('[')", openBracket.pos); + struct ResolvableExpressionParser : public ListElementParser { + Parser& parser; + BObjectList* value; - bool needComma = false; - while (true) { - Token name = _NextToken(); - if (name.type == TOKEN_CLOSE_BRACKET) - return; + ResolvableExpressionParser(Parser& parser_, + BObjectList* value_) + : + parser(parser_), + value(value_) + { + } - if (needComma) { - if (name.type != TOKEN_COMMA) - throw ParseError("expected comma", name.pos); - name = _NextToken(); - } else - needComma = true; - - if (name.type != TOKEN_WORD) - throw ParseError("expected word (a resolvable name)", name.pos); + virtual void operator()(const Token& token) + { + if (token.type != TOKEN_WORD) { + throw ParseError("expected word (a resolvable name)", + token.pos); + } BPackageVersion version; - Token op = _NextToken(); + Token op = parser._NextToken(); if (op.type == TOKEN_OPERATOR_LESS || op.type == TOKEN_OPERATOR_LESS_EQUAL || op.type == TOKEN_OPERATOR_EQUAL || op.type == TOKEN_OPERATOR_NOT_EQUAL || op.type == TOKEN_OPERATOR_GREATER_EQUAL || op.type == TOKEN_OPERATOR_GREATER) - _ParseVersionValue(&version, true); + parser._ParseVersionValue(&version, true); else if (op.type == TOKEN_COMMA || op.type == TOKEN_CLOSE_BRACKET) - _RewindTo(op); + parser._RewindTo(op); else { throw ParseError( "expected '<', '<=', '==', '!=', '>=', '>', comma or ']'", @@ -561,9 +598,12 @@ BPackageInfo::Parser::_ParseResolvableExprList( BPackageResolvableOperator resolvableOperator = (BPackageResolvableOperator)(op.type - TOKEN_OPERATOR_LESS); - value->AddItem(new BPackageResolvableExpression(name.text, + value->AddItem(new BPackageResolvableExpression(token.text, resolvableOperator, version)); } + } resolvableExpressionParser(*this, value); + + _ParseList(resolvableExpressionParser); } @@ -665,6 +705,11 @@ BPackageInfo::Parser::_Parse(BPackageInfo* packageInfo) _ParseVersionValue(&version, false); packageInfo->SetVersion(version); seen[B_PACKAGE_INFO_VERSION] = true; + } else if (t.text.ICompare("copyright") == 0) { + BString copyright; + _ParseStringValue(©right); + packageInfo->AddCopyright(copyright); + seen[B_PACKAGE_INFO_COPYRIGHTS] = true; } else if (t.text.ICompare(names[B_PACKAGE_INFO_COPYRIGHTS]) == 0) { if (seen[B_PACKAGE_INFO_COPYRIGHTS]) { BString error = BString(names[B_PACKAGE_INFO_COPYRIGHTS]) @@ -678,6 +723,11 @@ BPackageInfo::Parser::_Parse(BPackageInfo* packageInfo) for (int i = 0; i < count; ++i) packageInfo->AddCopyright(*(copyrightList.ItemAt(i))); seen[B_PACKAGE_INFO_COPYRIGHTS] = true; + } else if (t.text.ICompare("license") == 0) { + BString license; + _ParseStringValue(&license); + packageInfo->AddLicense(license); + seen[B_PACKAGE_INFO_LICENSES] = true; } else if (t.text.ICompare(names[B_PACKAGE_INFO_LICENSES]) == 0) { if (seen[B_PACKAGE_INFO_LICENSES]) { BString error = BString(names[B_PACKAGE_INFO_LICENSES]) @@ -769,8 +819,7 @@ BPackageInfo::Parser::_Parse(BPackageInfo* packageInfo) for (int i = 0; i < count; ++i) packageInfo->AddReplaces(*(replacesList.ItemAt(i))); seen[B_PACKAGE_INFO_REPLACES] = true; - } else if (t.text.ICompare(names[B_PACKAGE_INFO_FLAGS]) - == 0) { + } else if (t.text.ICompare(names[B_PACKAGE_INFO_FLAGS]) == 0) { if (seen[B_PACKAGE_INFO_FLAGS]) { BString error = BString(names[B_PACKAGE_INFO_FLAGS]) << " already seen!"; diff --git a/src/kits/print/PrintTransport.cpp b/src/kits/print/PrintTransport.cpp index fbaf87e036..3fec2ab68c 100644 --- a/src/kits/print/PrintTransport.cpp +++ b/src/kits/print/PrintTransport.cpp @@ -70,19 +70,20 @@ status_t PrintTransport::Open(BNode* printerFolder) return B_ERROR; } - // try first in user add-ons directory + const directory_which paths[] = { + B_USER_ADDONS_DIRECTORY, + B_COMMON_ADDONS_DIRECTORY, + B_SYSTEM_ADDONS_DIRECTORY, + }; BPath path; - find_directory(B_USER_ADDONS_DIRECTORY, &path); + for (uint32 i = 0; i < sizeof(paths) / sizeof(paths[0]); ++i) { + if (find_directory(paths[i], &path) != B_OK) + continue; path.Append("Print/transport"); path.Append(transportName.String()); fAddOnID = load_add_on(path.Path()); - - if (fAddOnID < 0) { - // on failure try in system add-ons directory - find_directory(B_BEOS_ADDONS_DIRECTORY, &path); - path.Append("Print/transport"); - path.Append(transportName.String()); - fAddOnID = load_add_on(path.Path()); + if (fAddOnID >= 0) + break; } if (fAddOnID < 0) { diff --git a/src/kits/print/Printer.cpp b/src/kits/print/Printer.cpp index bd1953623d..41144b9300 100644 --- a/src/kits/print/Printer.cpp +++ b/src/kits/print/Printer.cpp @@ -403,13 +403,16 @@ BPrinter::_DriverPath() const if (driverName.Length() <= 0) return BPath(); - directory_which directorys[] = { B_USER_ADDONS_DIRECTORY, - B_COMMON_ADDONS_DIRECTORY, B_BEOS_ADDONS_DIRECTORY }; + directory_which directories[] = { + B_USER_ADDONS_DIRECTORY, + B_COMMON_ADDONS_DIRECTORY, + B_SYSTEM_ADDONS_DIRECTORY + }; BPath path; driverName.Prepend("Print/"); - for (int32 i = 0; i < 3; ++i) { - if (find_directory(directorys[i], &path) == B_OK) { + for (int32 i = 0; i < sizeof(directories) / sizeof(directories[0]); ++i) { + if (find_directory(directories[i], &path) == B_OK) { path.Append(driverName.String()); BEntry driver(path.Path()); diff --git a/src/kits/print/PrinterDriverAddOn.cpp b/src/kits/print/PrinterDriverAddOn.cpp index 93c7b09d82..9befde35c9 100644 --- a/src/kits/print/PrinterDriverAddOn.cpp +++ b/src/kits/print/PrinterDriverAddOn.cpp @@ -169,7 +169,7 @@ PrinterDriverAddOn::FindPathToDriver(const char* driver, BPath* path) if (result == B_OK) return B_OK; - result = ::TestForAddonExistence(driver, B_BEOS_ADDONS_DIRECTORY, + result = ::TestForAddonExistence(driver, B_SYSTEM_ADDONS_DIRECTORY, kPrinterDriverFolderName, *path); return result; } diff --git a/src/kits/screensaver/ScreenSaverRunner.cpp b/src/kits/screensaver/ScreenSaverRunner.cpp index a7855ad89f..d9dc032657 100644 --- a/src/kits/screensaver/ScreenSaverRunner.cpp +++ b/src/kits/screensaver/ScreenSaverRunner.cpp @@ -117,8 +117,11 @@ ScreenSaverRunner::_LoadAddOn() // try all directories until the first one succeeds - directory_which which[] = {B_BEOS_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_USER_ADDONS_DIRECTORY}; + directory_which which[] = { + B_USER_ADDONS_DIRECTORY, + B_COMMON_ADDONS_DIRECTORY, + B_SYSTEM_ADDONS_DIRECTORY, + }; BPath path; for (uint32 i = 0; i < sizeof(which) / sizeof(which[0]); i++) { diff --git a/src/kits/storage/disk_device/DiskDeviceRoster.cpp b/src/kits/storage/disk_device/DiskDeviceRoster.cpp index 9c0e6697a2..04444e93d7 100644 --- a/src/kits/storage/disk_device/DiskDeviceRoster.cpp +++ b/src/kits/storage/disk_device/DiskDeviceRoster.cpp @@ -38,7 +38,7 @@ static const directory_which kAddOnDirs[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY + B_SYSTEM_ADDONS_DIRECTORY, }; /*! \brief Size of the kAddOnDirs array. */ static const int32 kAddOnDirCount diff --git a/src/kits/storage/disk_device/DiskSystemAddOnManager.cpp b/src/kits/storage/disk_device/DiskSystemAddOnManager.cpp index 4d00afe3ef..c0331abbcb 100644 --- a/src/kits/storage/disk_device/DiskSystemAddOnManager.cpp +++ b/src/kits/storage/disk_device/DiskSystemAddOnManager.cpp @@ -116,7 +116,7 @@ DiskSystemAddOnManager::LoadDiskSystems() error = _LoadAddOns(alreadyLoaded, B_COMMON_ADDONS_DIRECTORY); if (error == B_OK) - error = _LoadAddOns(alreadyLoaded, B_BEOS_ADDONS_DIRECTORY); + error = _LoadAddOns(alreadyLoaded, B_SYSTEM_ADDONS_DIRECTORY); if (error != B_OK) UnloadDiskSystems(); diff --git a/src/kits/tracker/DeskWindow.cpp b/src/kits/tracker/DeskWindow.cpp index 9ec3db40b2..0401a94dec 100644 --- a/src/kits/tracker/DeskWindow.cpp +++ b/src/kits/tracker/DeskWindow.cpp @@ -175,9 +175,9 @@ BDeskWindow::Init(const BMessage *) // watch add-on directories so that we can track the addons with // corresponding shortcuts - WatchAddOnDir(B_BEOS_ADDONS_DIRECTORY, this); WatchAddOnDir(B_USER_ADDONS_DIRECTORY, this); WatchAddOnDir(B_COMMON_ADDONS_DIRECTORY, this); + WatchAddOnDir(B_SYSTEM_ADDONS_DIRECTORY, this); _inherited::Init(); } diff --git a/src/kits/translation/TranslatorRoster.cpp b/src/kits/translation/TranslatorRoster.cpp index da7f78be8a..c4951f6209 100644 --- a/src/kits/translation/TranslatorRoster.cpp +++ b/src/kits/translation/TranslatorRoster.cpp @@ -332,10 +332,10 @@ BTranslatorRoster::Private::AddDefaultPaths() const directory_which paths[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY, + B_SYSTEM_ADDONS_DIRECTORY, }; - for (uint32 i = fSafeMode ? 1 : 0; i < sizeof(paths) / sizeof(paths[0]); + for (uint32 i = fSafeMode ? 4 : 0; i < sizeof(paths) / sizeof(paths[0]); i++) { BPath path; status_t status = find_directory(paths[i], &path, true); diff --git a/src/libs/print/libgutenprint/config.h b/src/libs/print/libgutenprint/config.h index 278514b3f0..3c59527c90 100644 --- a/src/libs/print/libgutenprint/config.h +++ b/src/libs/print/libgutenprint/config.h @@ -150,7 +150,7 @@ #define PACKAGE_BUGREPORT "gimp-print-devel@lists.sourceforge.net" /* */ -#define PACKAGE_DATA_DIR "/boot/common/data/gutenprint" +#define PACKAGE_DATA_DIR "/system/data/gutenprint" /* */ #define PACKAGE_LIB_DIR "/boot/common/lib/gutenprint" @@ -174,7 +174,7 @@ #define PKGMODULEDIR "/boot/common/lib/gutenprint/5.2/modules" /* */ -#define PKGXMLDATADIR "/boot/common/data/gutenprint" +#define PKGXMLDATADIR "/system/data/gutenprint" /* Package release date. */ #define RELEASE_DATE "01 May 2011" diff --git a/src/libs/print/libprint/Transport.cpp b/src/libs/print/libprint/Transport.cpp index 6a6b967ea1..bc99ff4051 100644 --- a/src/libs/print/libprint/Transport.cpp +++ b/src/libs/print/libprint/Transport.cpp @@ -41,22 +41,21 @@ Transport::Transport(const PrinterData *printerData) fDataStream(0), fAbort(false) { + const directory_which paths[] = { + B_USER_ADDONS_DIRECTORY, + B_COMMON_ADDONS_DIRECTORY, + B_BEOS_ADDONS_DIRECTORY, + }; BPath path; - - if (B_OK == find_directory(B_USER_ADDONS_DIRECTORY, &path)) { + for (uint32 i = 0; i < sizeof(paths) / sizeof(paths[0]); ++i) { + if (find_directory(paths[i], &path) != B_OK) + continue; path.Append("Print/transport"); path.Append(printerData->GetTransport().c_str()); DBGMSG(("load_add_on: %s\n", path.Path())); fImage = load_add_on(path.Path()); - } - - if (fImage < 0) { - if (B_OK == find_directory(B_BEOS_ADDONS_DIRECTORY, &path)) { - path.Append("Print/transport"); - path.Append(printerData->GetTransport().c_str()); - DBGMSG(("load_add_on: %s\n", path.Path())); - fImage = load_add_on(path.Path()); - } + if (fImage >= 0) + break; } if (fImage < 0) { diff --git a/src/preferences/printers/AddPrinterDialog.cpp b/src/preferences/printers/AddPrinterDialog.cpp index e1da4c4014..b0c24b922e 100644 --- a/src/preferences/printers/AddPrinterDialog.cpp +++ b/src/preferences/printers/AddPrinterDialog.cpp @@ -285,9 +285,9 @@ AddPrinterDialog::_BuildGUI(int stage) static directory_which gAddonDirs[] = { - B_BEOS_ADDONS_DIRECTORY, + B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_USER_ADDONS_DIRECTORY + B_SYSTEM_ADDONS_DIRECTORY, }; diff --git a/src/preferences/screensaver/ScreenSaverWindow.cpp b/src/preferences/screensaver/ScreenSaverWindow.cpp index 5c9382dd94..aba857ca65 100644 --- a/src/preferences/screensaver/ScreenSaverWindow.cpp +++ b/src/preferences/screensaver/ScreenSaverWindow.cpp @@ -383,7 +383,7 @@ ModulesView::MessageReceived(BMessage* message) BPath path; if (find_directory(B_SYSTEM_BIN_DIRECTORY, &path) != B_OK || path.Append("screen_blanker") != B_OK) - path.SetTo("/boot/system/bin/screen_blanker"); + path.SetTo("/bin/screen_blanker"); BEntry entry(path.Path()); entry_ref ref; @@ -442,7 +442,10 @@ ModulesView::PopulateScreenSaverList() // Iterate over add-on directories, and add their files to the list view directory_which which[] = { - B_BEOS_ADDONS_DIRECTORY, B_USER_ADDONS_DIRECTORY}; + B_USER_ADDONS_DIRECTORY, + B_COMMON_ADDONS_DIRECTORY, + B_SYSTEM_ADDONS_DIRECTORY, + }; ScreenSaverItem* selectItem = NULL; for (uint32 i = 0; i < sizeof(which) / sizeof(which[0]); i++) { diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index 0f6080eb19..6379d569de 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -25,8 +25,10 @@ #include #include #include +#include #include #include +#include #include #include @@ -2370,7 +2372,12 @@ Desktop::_LaunchInputServer() // Could not load input_server by signature, try well-known location - BEntry entry("/system/servers/input_server"); + BEntry entry; + BPath systemServersDir; + if (find_directory(B_SYSTEM_SERVERS_DIRECTORY, &systemServersDir) == B_OK) + entry.SetTo(systemServersDir.Path()); + else + entry.SetTo("/system/servers/input_server"); entry_ref ref; status_t entryStatus = entry.GetRef(&ref); if (entryStatus == B_OK) diff --git a/src/servers/app/drawing/AccelerantHWInterface.cpp b/src/servers/app/drawing/AccelerantHWInterface.cpp index d4ffb4a794..fe6e4427f6 100644 --- a/src/servers/app/drawing/AccelerantHWInterface.cpp +++ b/src/servers/app/drawing/AccelerantHWInterface.cpp @@ -274,12 +274,12 @@ AccelerantHWInterface::_OpenAccelerant(int device) const static directory_which dirs[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY + B_SYSTEM_ADDONS_DIRECTORY }; fAccelerantImage = -1; - for (int32 i = 0; i < 3; i++) { + for (uint32 i = 0; i < sizeof(dirs) / sizeof(directory_which); i++) { char path[PATH_MAX]; if (find_directory(dirs[i], -1, false, path, PATH_MAX) != B_OK) continue; diff --git a/src/servers/app/drawing/DWindowHWInterface.cpp b/src/servers/app/drawing/DWindowHWInterface.cpp index 3c87701eee..85a94ba990 100644 --- a/src/servers/app/drawing/DWindowHWInterface.cpp +++ b/src/servers/app/drawing/DWindowHWInterface.cpp @@ -467,12 +467,12 @@ DWindowHWInterface::_OpenAccelerant(int device) const static directory_which dirs[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY + B_SYSTEM_ADDONS_DIRECTORY }; fAccelerantImage = -1; - for (int32 i = 0; i < 3; i++) { + for (uint32 i = 0; i < sizeof(dirs) / sizeof(directory_which); i++) { char path[PATH_MAX]; if (find_directory(dirs[i], -1, false, path, PATH_MAX) != B_OK) continue; diff --git a/src/servers/debug/DebugServer.cpp b/src/servers/debug/DebugServer.cpp index 1c76cf7aab..24d75e205f 100644 --- a/src/servers/debug/DebugServer.cpp +++ b/src/servers/debug/DebugServer.cpp @@ -19,8 +19,10 @@ #include #include #include +#include #include #include +#include #include #include @@ -52,14 +54,6 @@ using std::nothrow; static const char *kSignature = "application/x-vnd.Haiku-debug_server"; -// paths to the apps used for debugging -static const char *kConsoledPath = "/bin/consoled"; -static const char *kTerminalPath = "/boot/system/apps/Terminal"; -static const char *kGDBPath = "/bin/gdb"; -#ifdef HANDOVER_USE_DEBUGGER -static const char *kDebuggerPath = "/boot/system/apps/Debugger"; -#endif - static void KillTeam(team_id team, const char *appName = NULL) @@ -448,9 +442,37 @@ TeamDebugHandler::_SetupGDBArguments(const char **argv, int &argc, // prepare the argument vector snprintf(teamString, teamStringSize, "--pid=%ld", fTeam); - const char *terminal = (usingConsoled ? kConsoledPath : kTerminalPath); + status_t error; + BPath terminalPath; + if (usingConsoled) { + error = find_directory(B_SYSTEM_BIN_DIRECTORY, &terminalPath); + if (error != B_OK) { + debug_printf("debug_server: can't find system-bin directory: %s\n", + strerror(error)); + return; + } + error = terminalPath.Append("consoled"); + if (error != B_OK) { + debug_printf("debug_server: can't append to system-bin path: %s\n", + strerror(error)); + return; + } + } else { + error = find_directory(B_SYSTEM_APPS_DIRECTORY, &terminalPath); + if (error != B_OK) { + debug_printf("debug_server: can't find system-apps directory: %s\n", + strerror(error)); + return; + } + error = terminalPath.Append("Terminal"); + if (error != B_OK) { + debug_printf("debug_server: can't append to system-apps path: %s\n", + strerror(error)); + return; + } + } - argv[argc++] = terminal; + argv[argc++] = terminalPath.Path(); if (!usingConsoled) { char windowTitle[64]; @@ -460,7 +482,21 @@ TeamDebugHandler::_SetupGDBArguments(const char **argv, int &argc, argv[argc++] = windowTitle; } - argv[argc++] = kGDBPath; + BPath gdbPath; + error = find_directory(B_SYSTEM_BIN_DIRECTORY, &gdbPath); + if (error != B_OK) { + debug_printf("debug_server: can't find system-bin directory: %s\n", + strerror(error)); + return; + } + error = gdbPath.Append("gdb"); + if (error != B_OK) { + debug_printf("debug_server: can't append to system-bin path: %s\n", + strerror(error)); + return; + } + + argv[argc++] = gdbPath.Path(); argv[argc++] = teamString; if (strlen(fExecutablePath) > 0) argv[argc++] = fExecutablePath; @@ -507,7 +543,21 @@ TeamDebugHandler::_EnterDebugger() // prepare the argument vector snprintf(teamString, sizeof(teamString), "%ld", fTeam); - argv[argc++] = kDebuggerPath; + BPath debuggerPath; + error = find_directory(B_SYSTEM_APPS_DIRECTORY, &debuggerPath); + if (error != B_OK) { + debug_printf("debug_server: can't find system-apps directory: %s\n", + strerror(error)); + return error; + } + error = debuggerPath.Append("Debugger"); + if (error != B_OK) { + debug_printf("debug_server: can't append to system-apps path: %s\n", + strerror(error)); + return error; + } + + argv[argc++] = debuggerPath.Path(); argv[argc++] = "--team"; argv[argc++] = teamString; argv[argc] = NULL; diff --git a/src/servers/index/IndexServer.cpp b/src/servers/index/IndexServer.cpp index a4c7a925bd..5098e4bf63 100644 --- a/src/servers/index/IndexServer.cpp +++ b/src/servers/index/IndexServer.cpp @@ -334,11 +334,11 @@ IndexServer::_StartWatchingAddOns() const directory_which directories[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY + B_SYSTEM_ADDONS_DIRECTORY }; - // when safemode, only B_BEOS_ADDONS_DIRECTORY is used - for (uint32 i = safeMode ? 2 : 0; + // when safemode, only B_SYSTEM_ADDONS_DIRECTORY is used + for (uint32 i = safeMode ? 4 : 0; i < sizeof(directories) / sizeof(directory_which); i++) { BDirectory directory; node_ref nodeRef; diff --git a/src/servers/input/AddOnManager.cpp b/src/servers/input/AddOnManager.cpp index 4c21212be3..f7e477ed24 100644 --- a/src/servers/input/AddOnManager.cpp +++ b/src/servers/input/AddOnManager.cpp @@ -263,7 +263,7 @@ AddOnManager::_RegisterAddOns() const directory_which directories[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY + B_SYSTEM_ADDONS_DIRECTORY }; const char* subDirectories[] = { "input_server/devices", @@ -275,8 +275,8 @@ AddOnManager::_RegisterAddOns() node_ref nref; BDirectory directory; BPath path; - // when safemode, only B_BEOS_ADDONS_DIRECTORY is used - for (uint32 i = fSafeMode ? 2 : 0; + // when safemode, only B_SYSTEM_ADDONS_DIRECTORY is used + for (uint32 i = fSafeMode ? 4 : 0; i < sizeof(directories) / sizeof(directory_which); i++) { for (int32 j = 0; j < subDirectoryCount; j++) { if (find_directory(directories[i], &path) == B_OK diff --git a/src/servers/media/AddOnManager.cpp b/src/servers/media/AddOnManager.cpp index 7f293a2c72..ad84b71a7b 100644 --- a/src/servers/media/AddOnManager.cpp +++ b/src/servers/media/AddOnManager.cpp @@ -60,7 +60,7 @@ private: static const directory_which sDirectories[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY, + B_SYSTEM_ADDONS_DIRECTORY }; @@ -120,8 +120,8 @@ AddOnManager::GetDecoderForFormat(xfer_entry_ref* _decoderRef, "%ld\n", format.Encoding()); // Since the list of decoders is unsorted, we need to search for - // an decoder by add-on directory, in order to maintain the shadowing - // of system add-ons by user add-ons, in case they offer decorders + // a decoder by add-on directory, in order to maintain the shadowing + // of system add-ons by user add-ons, in case they offer decoders // for the same format. BPath path; diff --git a/src/servers/media_addon/MediaAddonServer.cpp b/src/servers/media_addon/MediaAddonServer.cpp index c7f7c38b19..71e59fa583 100644 --- a/src/servers/media_addon/MediaAddonServer.cpp +++ b/src/servers/media_addon/MediaAddonServer.cpp @@ -296,11 +296,11 @@ MediaAddonServer::ReadyToRun() const directory_which directories[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY + B_SYSTEM_ADDONS_DIRECTORY }; - // when safemode, only B_BEOS_ADDONS_DIRECTORY is used - for (uint32 i = safeMode ? 2 : 0; + // when safemode, only B_SYSTEM_ADDONS_DIRECTORY is used + for (uint32 i = safeMode ? 4 : 0; i < sizeof(directories) / sizeof(directory_which); i++) { BDirectory directory; node_ref nodeRef; diff --git a/src/servers/print/PrintServerApp.cpp b/src/servers/print/PrintServerApp.cpp index e88989048f..495c41cc81 100644 --- a/src/servers/print/PrintServerApp.cpp +++ b/src/servers/print/PrintServerApp.cpp @@ -109,7 +109,7 @@ PrintServerApp::PrintServerApp(status_t* err) // Build list of transport addons Transport::Scan(B_USER_ADDONS_DIRECTORY); Transport::Scan(B_COMMON_ADDONS_DIRECTORY); - Transport::Scan(B_BEOS_ADDONS_DIRECTORY); + Transport::Scan(B_SYSTEM_ADDONS_DIRECTORY); SetupPrinterList(); RetrieveDefaultPrinter(); diff --git a/src/servers/registrar/TRoster.cpp b/src/servers/registrar/TRoster.cpp index 269fd1adb6..e93d5605dd 100644 --- a/src/servers/registrar/TRoster.cpp +++ b/src/servers/registrar/TRoster.cpp @@ -70,11 +70,6 @@ using namespace BPrivate; //! The maximal period of time an app may be early pre-registered (60 s). const bigtime_t kMaximalEarlyPreRegistrationPeriod = 60000000LL; -//! Applications living in these directory are considered "system apps". -// TODO: move those into a common shared system header -static const char* const kSystemAppPath = "/boot/system"; -static const char* const kSystemServerPath = "/boot/system/servers"; - // #pragma mark - Private local functions @@ -141,6 +136,8 @@ TRoster::TRoster() fLastToken(0), fShuttingDown(false) { + find_directory(B_SYSTEM_DIRECTORY, &fSystemAppPath); + find_directory(B_SYSTEM_SERVERS_DIRECTORY, &fSystemServerPath); } @@ -1815,8 +1812,8 @@ TRoster::_IsSystemApp(RosterAppInfo* info) const if (path.SetTo(&info->ref) != B_OK || path.GetParent(&path) != B_OK) return false; - return !strcmp(path.Path(), kSystemAppPath) - || !strcmp(path.Path(), kSystemServerPath); + return !strcmp(path.Path(), fSystemAppPath.Path()) + || !strcmp(path.Path(), fSystemServerPath.Path()); } diff --git a/src/servers/registrar/TRoster.h b/src/servers/registrar/TRoster.h index 7401fcf78b..29c726a453 100644 --- a/src/servers/registrar/TRoster.h +++ b/src/servers/registrar/TRoster.h @@ -13,6 +13,7 @@ #include #include +#include #include #include @@ -123,6 +124,8 @@ private: RecentEntries fRecentFolders; uint32 fLastToken; bool fShuttingDown; + BPath fSystemAppPath; + BPath fSystemServerPath; }; #endif // T_ROSTER_H diff --git a/src/system/boot/loader/loader.cpp b/src/system/boot/loader/loader.cpp index e30cf49587..fb5c2b41dd 100644 --- a/src/system/boot/loader/loader.cpp +++ b/src/system/boot/loader/loader.cpp @@ -8,6 +8,7 @@ #include "elf.h" #include "RootFileSystem.h" +#include #include #include #include @@ -28,8 +29,9 @@ static const char *sPaths[] = { - "system/add-ons/kernel", - "home/config/add-ons/kernel", + kVolumeLocalSystemKernelAddonsDirectory, + kVolumeLocalCommonKernelAddonsDirectory, + kVolumeLocalUserKernelAddonsDirectory, NULL }; @@ -176,7 +178,8 @@ load_modules(stage2_args *args, Directory *volume) // ToDo: this should be mostly replaced by a hardware oriented detection mechanism - for (int32 i = 0; sPaths[i]; i++) { + int32 i = 0; + for (; sPaths[i]; i++) { char path[B_FILE_NAME_LENGTH]; snprintf(path, sizeof(path), "%s/boot", sPaths[i]); @@ -184,7 +187,7 @@ load_modules(stage2_args *args, Directory *volume) failed++; } - if (failed > 1) { + if (failed == i) { // couldn't load any boot modules // fall back to load all modules (currently needed by the boot floppy) const char *paths[] = { "bus_managers", "busses/ide", "busses/scsi", diff --git a/src/system/kernel/fs/vfs_boot.cpp b/src/system/kernel/fs/vfs_boot.cpp index 8ac02a3656..677be1e11e 100644 --- a/src/system/kernel/fs/vfs_boot.cpp +++ b/src/system/kernel/fs/vfs_boot.cpp @@ -12,6 +12,7 @@ #include +#include #include #include @@ -45,11 +46,11 @@ static struct { const char *path; const char *target; } sPredefinedLinks[] = { - {"/system", "/boot/system"}, - {"/bin", "/boot/system/bin"}, - {"/etc", "/boot/common/etc"}, - {"/var", "/boot/common/var"}, - {"/tmp", "/boot/common/cache/tmp"}, + { kGlobalSystemDirectory, kSystemDirectory }, + { kGlobalBinDirectory, kSystemBinDirectory }, + { kGlobalEtcDirectory, kCommonEtcDirectory }, + { kGlobalTempDirectory, kCommonTempDirectory }, + { kGlobalVarDirectory, kCommonVarDirectory }, {NULL} }; diff --git a/src/system/kernel/main.cpp b/src/system/kernel/main.cpp index a45a947c83..a5797d8940 100644 --- a/src/system/kernel/main.cpp +++ b/src/system/kernel/main.cpp @@ -341,12 +341,12 @@ main2(void *unused) // start the init process { KPath bootScriptPath; - status_t status = find_directory(B_BEOS_SYSTEM_DIRECTORY, gBootDevice, + status_t status = find_directory(B_SYSTEM_BOOT_DIRECTORY, gBootDevice, false, bootScriptPath.LockBuffer(), bootScriptPath.BufferSize()); if (status != B_OK) dprintf("main2: find_directory() failed: %s\n", strerror(status)); bootScriptPath.UnlockBuffer(); - status = bootScriptPath.Append("boot/Bootscript"); + status = bootScriptPath.Append("/Bootscript"); if (status != B_OK) { dprintf("main2: constructing path to Bootscript failed: " "%s\n", strerror(status)); diff --git a/src/system/kernel/team.cpp b/src/system/kernel/team.cpp index 9f6e287b63..3d693e4a8d 100644 --- a/src/system/kernel/team.cpp +++ b/src/system/kernel/team.cpp @@ -1541,7 +1541,7 @@ team_create_thread_start_internal(void* args) { // find runtime_loader path KPath runtimeLoaderPath; - err = find_directory(B_BEOS_SYSTEM_DIRECTORY, gBootDevice, false, + err = find_directory(B_SYSTEM_DIRECTORY, gBootDevice, false, runtimeLoaderPath.LockBuffer(), runtimeLoaderPath.BufferSize()); if (err < B_OK) { TRACE(("team_create_thread_start: find_directory() failed: %s\n", diff --git a/src/system/libroot/os/driver_settings.cpp b/src/system/libroot/os/driver_settings.cpp index 0b2b874317..bb6f6adfb7 100644 --- a/src/system/libroot/os/driver_settings.cpp +++ b/src/system/libroot/os/driver_settings.cpp @@ -28,6 +28,7 @@ # undef _KERNEL_MODE #endif +#include #include #include #include @@ -763,9 +764,7 @@ load_driver_settings(const char *driverName) char path[B_FILE_NAME_LENGTH + 64]; #ifdef _BOOT_MODE - // TODO: for now the boot loader does not support find_directory() - // (it might get a simplified version of it) - strcpy(path, "/boot/home/config/settings"); + strcpy(path, kUserSettingsDirectory); #else // TODO: use B_COMMON_SETTINGS_DIRECTORY instead! if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, path, diff --git a/src/system/libroot/os/find_directory.cpp b/src/system/libroot/os/find_directory.cpp index 830beb50d3..faaadde4e4 100644 --- a/src/system/libroot/os/find_directory.cpp +++ b/src/system/libroot/os/find_directory.cpp @@ -1,6 +1,7 @@ /* * Copyright 2004, François Revol. * Copyright 2007-2010, Axel Dörfler, axeld@pinc-software.de. + * Copyright 2011, Oliver Tappe * * Distributed under the terms of the MIT license. */ @@ -14,6 +15,7 @@ # include #endif +#include #include #include @@ -31,9 +33,17 @@ #define USE_PWENTS -/* Haiku system directories */ +/* + * If you change any of the directories below, please have a look at + * headers/private/libroot/directories.h and adjust that accordingly! + */ #define SYSTEM "system" +#define COMMON "common" +#define NON_PACKAGED "/non-packaged" + + +/* Haiku system directories */ static const char *kSystemDirectories[] = { SYSTEM, // B_SYSTEM_DIRECTORY @@ -45,24 +55,23 @@ static const char *kSystemDirectories[] = { SYSTEM "/servers", SYSTEM "/apps", SYSTEM "/bin", - "common/etc", + COMMON "/etc", SYSTEM "/documentation", SYSTEM "/preferences", SYSTEM "/add-ons/Translators", SYSTEM "/add-ons/media", SYSTEM "/data/sounds", SYSTEM "/data", + "develop", + SYSTEM "/packages", + "develop/headers", }; /* Common directories, shared among users */ -#define COMMON "common" - // ToDo: this is for now and might be changed back to "home" - // (or even something else) later - static const char *kCommonDirectories[] = { - COMMON "", // B_COMMON_DIRECTORY - COMMON "", // B_COMMON_SYSTEM_DIRECTORY + COMMON, // B_COMMON_DIRECTORY + COMMON, // B_COMMON_SYSTEM_DIRECTORY COMMON "/add-ons", COMMON "/boot", COMMON "/data/fonts", @@ -72,7 +81,7 @@ static const char *kCommonDirectories[] = { COMMON "/etc", COMMON "/documentation", COMMON "/settings", - "develop", // B_COMMON_DEVELOP_DIRECTORY + COMMON "/develop", // B_COMMON_DEVELOP_DIRECTORY COMMON "/var/log", // B_COMMON_LOG_DIRECTORY COMMON "/var/spool", // B_COMMON_SPOOL_DIRECTORY COMMON "/cache/tmp", // B_COMMON_TEMP_DIRECTORY @@ -82,27 +91,54 @@ static const char *kCommonDirectories[] = { COMMON "/data/sounds", COMMON "/data", COMMON "/cache", // B_COMMON_CACHE_DIRECTORY + COMMON "/packages", + COMMON "/include", + COMMON NON_PACKAGED, + COMMON NON_PACKAGED "/add-ons", + COMMON NON_PACKAGED "/add-ons/Translators", + COMMON NON_PACKAGED "/add-ons/media", + COMMON NON_PACKAGED "/bin", + COMMON NON_PACKAGED "/data", + COMMON NON_PACKAGED "/data/fonts", + COMMON NON_PACKAGED "/data/sounds", + COMMON NON_PACKAGED "/documentation", + COMMON NON_PACKAGED "/lib", + COMMON NON_PACKAGED "/develop/headers", }; /* User directories */ #define HOME "$h" +#define CONFIG "/config" static const char *kUserDirectories[] = { - HOME "", // B_USER_DIRECTORY - HOME "/config", // B_USER_CONFIG_DIRECTORY - HOME "/config/add-ons", - HOME "/config/boot", - HOME "/config/data/fonts", - HOME "/config/lib", - HOME "/config/settings", - HOME "/config/be", - HOME "/config/settings/printers", - HOME "/config/add-ons/Translators", - HOME "/config/add-ons/media", - HOME "/config/data/sounds", - HOME "/config/data", - HOME "/config/cache", + HOME, // B_USER_DIRECTORY + HOME CONFIG, // B_USER_CONFIG_DIRECTORY + HOME CONFIG "/add-ons", + HOME CONFIG "/boot", + HOME CONFIG "/data/fonts", + HOME CONFIG "/lib", + HOME CONFIG "/settings", + HOME CONFIG "/settings/deskbar", + HOME CONFIG "/settings/printers", + HOME CONFIG "/add-ons/Translators", + HOME CONFIG "/add-ons/media", + HOME CONFIG "/data/sounds", + HOME CONFIG "/data", + HOME CONFIG "/cache", + HOME CONFIG "/packages", + HOME CONFIG "/include", + HOME CONFIG NON_PACKAGED, + HOME CONFIG NON_PACKAGED "/add-ons", + HOME CONFIG NON_PACKAGED "/add-ons/Translators", + HOME CONFIG NON_PACKAGED "/add-ons/media", + HOME CONFIG NON_PACKAGED "/bin", + HOME CONFIG NON_PACKAGED "/data", + HOME CONFIG NON_PACKAGED "/data/fonts", + HOME CONFIG NON_PACKAGED "/data/sounds", + HOME CONFIG NON_PACKAGED "/documentation", + HOME CONFIG NON_PACKAGED "/lib", + HOME CONFIG NON_PACKAGED "/develop/headers", }; @@ -184,6 +220,9 @@ find_directory(directory_which which, dev_t device, bool createIt, strlcat(buffer, "/boot", pathLength); } break; + case B_PACKAGE_LINKS_DIRECTORY: + // this is a directory living in rootfs + break; default: strlcat(buffer, "/boot", pathLength); break; @@ -225,6 +264,9 @@ find_directory(directory_which which, dev_t device, bool createIt, case B_SYSTEM_MEDIA_NODES_DIRECTORY: case B_SYSTEM_SOUNDS_DIRECTORY: case B_SYSTEM_DATA_DIRECTORY: + case B_SYSTEM_DEVELOP_DIRECTORY: + case B_SYSTEM_PACKAGES_DIRECTORY: + case B_SYSTEM_HEADERS_DIRECTORY: templatePath = kSystemDirectories[which - B_SYSTEM_DIRECTORY]; break; @@ -250,6 +292,19 @@ find_directory(directory_which which, dev_t device, bool createIt, case B_COMMON_SOUNDS_DIRECTORY: case B_COMMON_DATA_DIRECTORY: case B_COMMON_CACHE_DIRECTORY: + case B_COMMON_PACKAGES_DIRECTORY: + case B_COMMON_HEADERS_DIRECTORY: + case B_COMMON_NONPACKAGED_DIRECTORY: + case B_COMMON_NONPACKAGED_ADDONS_DIRECTORY: + case B_COMMON_NONPACKAGED_TRANSLATORS_DIRECTORY: + case B_COMMON_NONPACKAGED_MEDIA_NODES_DIRECTORY: + case B_COMMON_NONPACKAGED_BIN_DIRECTORY: + case B_COMMON_NONPACKAGED_DATA_DIRECTORY: + case B_COMMON_NONPACKAGED_FONTS_DIRECTORY: + case B_COMMON_NONPACKAGED_SOUNDS_DIRECTORY: + case B_COMMON_NONPACKAGED_DOCUMENTATION_DIRECTORY: + case B_COMMON_NONPACKAGED_LIB_DIRECTORY: + case B_COMMON_NONPACKAGED_HEADERS_DIRECTORY: templatePath = kCommonDirectories[which - B_COMMON_DIRECTORY]; break; @@ -268,6 +323,19 @@ find_directory(directory_which which, dev_t device, bool createIt, case B_USER_SOUNDS_DIRECTORY: case B_USER_DATA_DIRECTORY: case B_USER_CACHE_DIRECTORY: + case B_USER_PACKAGES_DIRECTORY: + case B_USER_HEADERS_DIRECTORY: + case B_USER_NONPACKAGED_DIRECTORY: + case B_USER_NONPACKAGED_ADDONS_DIRECTORY: + case B_USER_NONPACKAGED_TRANSLATORS_DIRECTORY: + case B_USER_NONPACKAGED_MEDIA_NODES_DIRECTORY: + case B_USER_NONPACKAGED_BIN_DIRECTORY: + case B_USER_NONPACKAGED_DATA_DIRECTORY: + case B_USER_NONPACKAGED_FONTS_DIRECTORY: + case B_USER_NONPACKAGED_SOUNDS_DIRECTORY: + case B_USER_NONPACKAGED_DOCUMENTATION_DIRECTORY: + case B_USER_NONPACKAGED_LIB_DIRECTORY: + case B_USER_NONPACKAGED_HEADERS_DIRECTORY: templatePath = kUserDirectories[which - B_USER_DIRECTORY]; break; @@ -281,6 +349,9 @@ find_directory(directory_which which, dev_t device, bool createIt, case B_UTILITIES_DIRECTORY: templatePath = "utilities"; break; + case B_PACKAGE_LINKS_DIRECTORY: + templatePath = "package-links"; + break; default: free(buffer); @@ -312,7 +383,7 @@ find_directory(directory_which which, dev_t device, bool createIt, } #endif // !_KERNEL_MODE if (!home) - home = "/boot/home"; + home = kUserDirectory; strncpy(buffer, home, pathLength); } templatePath += 2; diff --git a/src/system/libroot/posix/unistd/conf.cpp b/src/system/libroot/posix/unistd/conf.cpp index c4a87f2f75..dfe67688c9 100644 --- a/src/system/libroot/posix/unistd/conf.cpp +++ b/src/system/libroot/posix/unistd/conf.cpp @@ -15,6 +15,7 @@ #include +#include #include #include #include @@ -386,8 +387,8 @@ confstr(int name, char *buffer, size_t length) switch (name) { case _CS_PATH: - string = "/bin:/boot/system/apps:" \ - "/boot/common/bin:/boot/develop/bin"; + string = kGlobalBinDirectory ":" kSystemAppsDirectory ":" + kCommonBinDirectory ":" kCommonDevelopToolsBinDirectory; break; default: __set_errno(EINVAL); diff --git a/src/system/runtime_loader/Jamfile b/src/system/runtime_loader/Jamfile index cfb8fc0e66..d687912673 100644 --- a/src/system/runtime_loader/Jamfile +++ b/src/system/runtime_loader/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system runtime_loader ; -UsePrivateHeaders runtime_loader shared ; +UsePrivateHeaders libroot runtime_loader shared ; UsePrivateHeaders kernel ; # for UsePrivateSystemHeaders ; diff --git a/src/system/runtime_loader/runtime_loader.cpp b/src/system/runtime_loader/runtime_loader.cpp index f253c64266..bbc9c45f0a 100644 --- a/src/system/runtime_loader/runtime_loader.cpp +++ b/src/system/runtime_loader/runtime_loader.cpp @@ -13,6 +13,8 @@ #include #include +#include + #include #include #include @@ -53,28 +55,28 @@ search_path_for_type(image_type type) switch (type) { case B_APP_IMAGE: - return "/boot/home/config/bin" + return kUserBinDirectory // TODO: Remove! - ":/boot/common/bin" - ":/bin" - ":/boot/apps" - ":/boot/preferences" - ":/boot/system/apps" - ":/boot/system/preferences" - ":/boot/develop/tools/gnupro/bin"; + ":" kCommonBinDirectory + ":" kGlobalBinDirectory + ":" kAppsDirectory + ":" kPreferencesDirectory + ":" kSystemAppsDirectory + ":" kSystemPreferencesDirectory + ":" kCommonDevelopToolsBinDirectory; case B_LIBRARY_IMAGE: - return "%A/lib" - ":/boot/home/config/lib" + return kAppLocalLibDirectory + ":" kUserLibDirectory // TODO: Remove! - ":/boot/common/lib:/boot/system/lib"; + ":" kCommonLibDirectory + ":" kSystemLibDirectory; case B_ADD_ON_IMAGE: - return "%A/add-ons" - ":/boot/home/config/add-ons" + return kAppLocalAddonsDirectory + ":" kUserAddonsDirectory // TODO: Remove! - ":/boot/common/add-ons" - ":/boot/system/add-ons"; + ":" kSystemAddonsDirectory; default: return NULL; @@ -399,13 +401,6 @@ runtime_loader(void *_args) gProgramArgs->env[i] += relocationOffset; } - if (!strcmp(gProgramArgs->program_path, "/boot/system/runtime_loader")) { - // TODO: this is a (temporary) work-around for bug #2273 which causes - // the cache's mutex to be locked twice when starting the runtime_loader - // itself. - return 1; - } - #if DEBUG_RLD close(0); open("/dev/console", 0); /* stdin */ close(1); open("/dev/console", 0); /* stdout */ diff --git a/src/tests/kits/translation/TranslationUtilsTest.cpp b/src/tests/kits/translation/TranslationUtilsTest.cpp index b72a8ed3bd..4eff435c40 100644 --- a/src/tests/kits/translation/TranslationUtilsTest.cpp +++ b/src/tests/kits/translation/TranslationUtilsTest.cpp @@ -357,7 +357,8 @@ TranslationUtilsTest::AddTranslationItemsTest() BTranslatorRoster *proster = new BTranslatorRoster(); CPPUNIT_ASSERT(proster); CPPUNIT_ASSERT(proster->AddTranslators( - "/boot/beos/system/add-ons/Translators/PPMTranslator") == B_OK); + "/boot/beos/system/add-ons/Translators/PPMTranslator" + ) == B_OK); CPPUNIT_ASSERT(BTranslationUtils::AddTranslationItems(pmenu, B_TRANSLATOR_BITMAP, NULL, NULL, NULL, proster) == B_OK); CPPUNIT_ASSERT(pmenu->CountItems() == 1); diff --git a/src/tests/kits/translation/TranslatorRosterTest.cpp b/src/tests/kits/translation/TranslatorRosterTest.cpp index 66347bb3ac..52dc5045dd 100644 --- a/src/tests/kits/translation/TranslatorRosterTest.cpp +++ b/src/tests/kits/translation/TranslatorRosterTest.cpp @@ -446,7 +446,8 @@ TranslatorRosterTest::AddTranslatorsTest() BTranslatorRoster* proster = new BTranslatorRoster(); CPPUNIT_ASSERT(proster); CPPUNIT_ASSERT(proster->AddTranslators( - "/boot/home/config/add-ons/Translators/:/system/add-ons/Translators/") == B_OK); + "/boot/home/config/add-ons/Translators/:" + "/system/add-ons/Translators/") == B_OK); NextSubTest(); int32 instcount = 0; diff --git a/src/tests/servers/app/newerClipping/drawing/AccelerantHWInterface.cpp b/src/tests/servers/app/newerClipping/drawing/AccelerantHWInterface.cpp index 4425179977..85ff8c4d18 100644 --- a/src/tests/servers/app/newerClipping/drawing/AccelerantHWInterface.cpp +++ b/src/tests/servers/app/newerClipping/drawing/AccelerantHWInterface.cpp @@ -201,12 +201,12 @@ AccelerantHWInterface::_OpenAccelerant(int device) const static directory_which dirs[] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, - B_BEOS_ADDONS_DIRECTORY + B_SYSTEM_ADDONS_DIRECTORY }; fAccelerantImage = -1; - for (int32 i = 0; i < 3; i++) { + for (int32 i = 0; i < sizeof(dirs) / sizeof(directory_which); i++) { char path[PATH_MAX]; if (find_directory(dirs[i], -1, false, path, PATH_MAX) != B_OK) continue; diff --git a/src/tools/translation/inspector/InspectorApp.cpp b/src/tools/translation/inspector/InspectorApp.cpp index 9373bd0636..41641d71e7 100644 --- a/src/tools/translation/inspector/InspectorApp.cpp +++ b/src/tools/translation/inspector/InspectorApp.cpp @@ -52,7 +52,8 @@ InspectorApp::InspectorApp() AddToTranslatorsList("/system/add-ons/Translators", SYSTEM_TRANSLATOR); - AddToTranslatorsList("/boot/home/config/add-ons/Translators", + AddToTranslatorsList( + "/boot/home/config/add-ons/Translators", USER_TRANSLATOR); // Show application window