Ticket #1234 (new enhancement)

Opened 15 months ago

Last modified 13 months ago

adapt our build system to distro guidelines

Reported by: wkornewald Owned by: axeld
Priority: high Milestone: R1
Component: - General Version: R1 development
Cc: Blocked By:
Platform: All Blocking:

Description

Since others may not use our logo and trademarks we need to extend the build system. The preferred solution is probably to have good defaults (i.e.: neutral names and logos) and require us and "Haiku Compatible" 3rd-party distro makers to set a few build options. By default, no Haiku logo and trademarks would be enabled (remove from AboutHaiku and boot screen, etc.). AboutHaiku is renamed to AboutSystem and the Deskbar menu item is labeled "About This System...".

The build system would have the following options:

  • default (no logos/trademarks)
  • HaikuCompatible (enables a "Haiku Compatible" logo in boot screen and AboutSystem)
  • Haiku (official build; enable Haiku logos and trademarks in boot logos and AboutHaiku)

I'm not sure if we should rename "About This System..." to "About Haiku..." in the official "Haiku" build.

Change History

  Changed 15 months ago by bonefish

  • owner changed from bonefish to axeld
  • component changed from Build System to - General

I introduced general support for discriminating the different kinds of Haiku distros in the build system (configure option "--distro-compatibility", r21177). I renamed AboutHaiku (r21179, r21180) and, mostly for reference, conditionally renamed the Deskbar menu item (r21178).

The remaining tasks are mainly about setting the alternative logos/images when those are available.

  Changed 15 months ago by wkornewald

We'll also need a possibility to easily include the disclaimer in AboutSystem (also for unstable releases).

follow-up: ↓ 4   Changed 15 months ago by bonefish

Not sure what you're referring to with respect to adding the disclaimer. Is there anything that prevents it from just being added, now?

Regarding unstable releases, I wouldn't really consider an indicator of the code stability a property to be set through the build system. I suppose we might want to have a macro in <BeBuild.h> indicating the state of the sources. Maybe something like:

#define B_RELEASE_STABILITY_DEVELOPMENT	0
#define B_RELEASE_STABILITY_PRE_ALPHA	1
#define B_RELEASE_STABILITY_ALPHA	2
#define B_RELEASE_STABILITY_BETA	3
#define B_RELEASE_STABILITY_GAMMA	4
#define B_RELEASE_STABILITY_STABLE	5

#define B_HAIKU_VERSION			...
#define B_HAIKU_RELEASE_STABILITY	B_RELEASE_STABILITY_DEVELOPMENT

Opinions?

in reply to: ↑ 3   Changed 15 months ago by wkornewald

Replying to bonefish:

Not sure what you're referring to with respect to adding the disclaimer. Is there anything that prevents it from just being added, now?

No, it just requires fiddling with the source. Maybe we could move the disclaimer template text into AboutSystem (as a separate file) and automatically include it when building a compatible distro? When building a "compatible" distro it would be even better if the configure script required specifying the distro name and contact information and optionally a distributor name and then automatically set that info in the disclaimer. Or does this make it too easy to create a compliant 3rd-party distro? :)

Regarding unstable releases, I wouldn't really consider an indicator of the code stability a property to be set through the build system. I suppose we might want to have a macro in <BeBuild.h> indicating the state of the sources. Maybe something like:

Shouldn't the release stability be part of a private header? IMHO, it's not really necessary for 3rd-party apps and changes shouldn't trigger a complete rebuild of Haiku.

  Changed 15 months ago by wkornewald

Something else coming to my mind: when building a "compatible" distro the build system should check whether you're using a compatible GCC version (e.g., 2.95.3 on x86).

  Changed 13 months ago by axeld

  • priority changed from critical to high
Note: See TracTickets for help on using tickets.