[haiku-development] Re: Removing /boot/common

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 05 Oct 2013 00:44:40 +0200

On 10/05/2013 12:15 AM, John Scipione wrote:
On Fri, Oct 4, 2013 at 5:41 PM, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
I removed the B_COMMON_*DIRECTORY constants from the public API, so any code
using them will now fail to compile and thus force a review of the code.
This is a good thing, since support for the non-packaged directories needs
to be added as well.

whoa whoa whoa, those definitions were in BeOS R5 though, right? At
least they appear here:
http://www.haiku-os.org/legacy-docs/bebook/BDirectory.html#Constants_directory_which
so if you remove them, won't you break binaries that reference them?

Well, as I tried to explain, code that iterated e.g. through all B_*_FONTS_DIRECTORY directories to find fonts will continue to work just fine -- though it will ignore the */non-packaged/data/fonts directories, but that cannot be helped. Code that explicitly expected to find something in a B_COMMON_*DIRECTORY will no longer find it there. Since there was no /boot/common in BeOS, those constants either resolved to an invalid directory or in some (all?) cases to /boot/home/config/....

Come to think of it, it is probably a good idea to introduce a new symbol version for find_directory(), so we have the option to do some compatibility handling, if necessary.

CU, Ingo


Other related posts: