Replace WebPositive to Otter in build

Hi!
I am trying to replace the standard WebPositive browser with Otter, for this I write the following line in the BuildProfile file.
AddOptionalHaikuImagePackages otter_browser-0.9.12;
Tried writing: OtterBrowser, otterbrowser, otter_browser. When building, through jam, I get an error that there is no such package. I also tried to copy otter hpkg to generated / download, but that doesn’t help either.

The build uses a seperate repository from haikuports, so we can cache packages and know we always have a “good” build available even if haikuports breaks. I don’t think otter is in that repo, and seeing as it needs qt it probably won’t be either.

Why are you trying this though? maybe there is an easier way to accomplish what you want.

I tested WebPositive and Otter, and Otter more fast and for example in this browser you can watch youtube without problems(WebPositive crash sometimes when I try to open video).

Why not just install it then? What is the benefit of making the haiku package depend on it?

1 Like

Tried to declare the package in the build/jam/repositories/haikuports/ arch file?

Yes.
In this file I can see this link.
: https://eu.hpkg.haiku-os.org/haikuports/master/build-packages
But when I try to open this link in web browser I got 404 error.
Can I change this link to - https://eu.hpkg.haiku-os.org/haikuports/master/x86_64/current/packages/
Because it opens without problems and it contains required package for me(otter browser).

As far as I understood, this file (HaikuPorts) is responsible for known packages to build, i.e. when I build through jam and in BuildProfile sees a line with the addition of a system or optional package, it tries to download the required package through wget, and it takes a link to it just from the build / jam / repositories / haikuports / architecture file.
It’s right?

That will still not work. As nephele explained, the Haiku build system uses a partial mirror of Haikuports packages and not the full repository. The reason for that is we want to be able to build older versions of Haiku, and so we need to keep a backup of past version of this package repository for older versions of our sources to download packages from.
Haikuports keeps evolving and until now it had no tagged releases or at least not frequent enough, so it was not possible to rely on these. Maybe now that haikuports has some tags, we could try using these instead, and remove the partial mirror. It would allow anyone to include whatever they want in their custom built images.

Why Web+ is included and not Otter?

Because Web+ is a native app while Otter is a Qt app. This means that if you’re using Otter:

  1. You rely on another project for an important component of your OS.
  2. You need to build also a lot of things before it works. Things on what you haven’t control either.
  3. Due to 2, you exceed the size for a CD image. Due to 1 & 2, you have no control on this excess excepting sacrificing other things.
  4. You’re including a browser that is unable to display this forum.

Anyway if Otter is a quite good browser, it is also heavier and slower to open.
I wouldn’t like it to display local files like software docs.

I don’t think it’s an argument for otter that you can watch yt videos. You could also download them and then watch them local. Otter needs a completely different support for the desktop: namely QT. That comes from the outside and cannot be maintained.

It’s a bit annoying to do with the Jam build system, and its repositories.
A good suggestion would be: install otter on a current self-build image, this will download a bunch of packages. Copy these files in a directory, next to your git clone of Haiku. Then add this line to your UserBuildConfig ​
AddFilesToHaikuImage system packages : [result of ls /full/path/to/your/directory/of/packages/*.hpkg] ;

example:
AddFilesToHaikuImage system packages : /home/korli/otter/package1.hpkg /home/korli/otter/package2.hpkg /home/korli/otter/package3.hpkg /home/korli/otter/package4.hpkg ;

the packages will be included in the image, Haiku will activate them on first boot, if every dependency is present.

1 Like