[haiku] Re: Migration from Basho to Official Localization of Haiku

  • From: Matt Madia <mattmadia@xxxxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Fri, 30 Oct 2009 00:22:19 +0000

On Thu, Oct 29, 2009 at 23:21, Jorge G. Mare <koki@xxxxxxxxxxxxx> wrote:
> I am not sure I understand the second part though; isn't the
> AddOptionalHaikuImagePackages directive in UserBuildConfig what is used
> to add any of the optional packages defined in the OptionalPackages file
> to a build?
Yes, that is correct.
Though what I'm suggesting would make the integration of JOPs very
tight and easy to use.

What I'm suggesting is a way for the JOPs to be automatically added to
any pre-existing image rule, as opposed to needing to create a custom
rule in UserBuildConfig. In general, when creating official Haiku
images, UserBuildConfig should not be used. In fact, it should be
moved out of the way, to make certain that it does not cause any
unexpected side effects.

Some examples of the pre-existing rules would be 'jam haiku-image',
'jam @alpha-cd', or  'jam @nightly-vmware'.

Ok, so let's assume all of this is already implemented.
To create Haiku-JPBE, R1/Alpha1:
    <download r1/alpha1 source>
    configure --include-JPBE
    jam -q @alpha-cd

The "--include-JPBE" would basically tell the build system to "enable
the build system rules to download and install the JOPs".  This would
be similar to how "--include-gpl-addons" instructs the build system to
include additional software, no matter which target is being built.

The only part that I'm unsure about is exactly where "--include-JPBE"
should be evaluated. Ingo or another build system guru may have a
better idea

> /me wonders if there is a tutorial on how to create and add an optional
> package for Haiku...
Eh... nothing that covers it head to toe.
The best documentation is only for creating the
.OptionalPackageDescription file.
( i never got around to humanizing this node :\ )

Basically, an OP is a zip file that
* can be extracted to "/boot"
* includes an .OptionalPackageDescription file
* includes a license file in "common/data/licenses"
     ( this assumes that the license file does not exist in
"/boot/system/data/licenses" )


Other related posts: