[oi-dev] About package building under the Illumos umbrella

Alasdair Lumsden alasdairrr at gmail.com
Sat Sep 3 21:22:53 UTC 2011


Hi Sriram,

We have agreed to do it in principle, but nothing has happened yet. I 
imagine there are still some final details to be worked out. However 
this weekend I've made it a goal to get oi-build into good shape for it 
being moved under the illumos umbrella.

If you're not familiar with oi-build, it's a fork of userland-gate from 
Oracle, which replaces the old SFW consolidation. Oracle have moved all 
SFW software into userland-gate. Our intention in the long term is to 
move all the other consolidations into oi-build's native build format, 
as it works brilliantly with IPS.

Userland-gate/oi-build works like the FreeBSD ports tree or pkgsrc, for 
example to build some software you just "cd components/gnu-nano ; gmake 
publish" and it fetches the source, extracts it, builds it, and 
publishes it to a local IPS repo.

Nexenta plan to add support to produce .deb packages, so perhaps a 
"gmake publish-deb" target. You guys could add support to do "gmake 
publish-rpm5", if that seemed helpful.

In the short term, we'll still need to build JDS and XNV the old way, as 
they're too big to convert to oi-build format quickly. XNV doesn't need 
much work, as alanc does an excellent job of maintaining it; it builds 
easily and delivers IPS packages. In the long term it might be 
beneficial to be converted to oi-build format to benefit from the "gmake 
publish-deb/rpm" target, but we don't have plans to do this just yet.

JDS definitely needs consideration however, as it still delivers SVR4 
packages. OpenIndiana is abandoning distro-import, we don't have the 
resources to do release engineering in the Sun way - it is the reason 
oi_151 has taken such a long time to come out.

Instead, we're moving to "continuous integration", packages that have 
changed will be automatically rebuilt whenever someone publishes to the 
oi-build repo via Jenkins. We have this set up here:

http://ci-master.uk.openindiana.org/

These packages will be automatically published to 
http://pkg.openindiana.org/experimental

Then on a regular basis, perhaps once per month, we'll publish from 
/experimental to /dev, and that "publish" step will automatically 
generate incorporations like entire, and perhaps do sanity checking too.

This will make development much much faster. The contribution 
process/build process/etc for oi-build are outlined here:

http://wiki.openindiana.org/oi/Contribution+Process
http://wiki.openindiana.org/oi/Building+with+oi-build
http://wiki.openindiana.org/oi/Commit+Process

As I mentioned, JDS is a problem, and thats because often what is in the 
JDS repo is broken and does not build without hours of patching/fixing, 
and also because it ships SVR4 packages still.

pkgbuild has been enhanced to support IPS, but JDS doesn't build with 
that. I believe Guido Berhoerster is working on a plan here.

If there is enough community support and people working on maintaining 
packages, we can potentially look at converting some, or even all of JDS 
to oi-build format. Andrzej Szeszo has been working in his spare time to 
convert JDS packages, and has (I believe) done over 15 so far. He is 
keeping this work private for the time being however but perhaps he 
would be willing to share it.

It definitely makes sense for us to pull common software like Firefox, 
Thunderbird, Pidgin and others into oi-build, because we as a project 
will want to maintain these and keep them newer than Oracle does.

I'm not sure how the above ties in with rpmbuild, because what we're 
doing is Makefile based, not spec file based. But you could copy 
Nexenta's model, and simply generate .rpm5 packages from the IPS .p5m 
manifest files and proto areas (the area where the built software gets 
installed ready for packaging).

We'd love to bring the whole community together in supporting oi-build, 
which obviously needs a rename (we are thinking of illumos-userland). 
I'd be happy to talk Nexenta and Belenix through setting up their own 
Jenkins installations to do continuous integration of .deb/.rpm5 packages.

How you deal with JDS/XNV/non-oi-build software is not clear, but the 
easiest method might be to simply convert the IPS packages OpenIndiana 
will be generating into .rpm5 format.

Regards,

Alasdair

On 09/ 3/11 05:00 PM, Sriram Narayanan wrote:
> Hi everyone:
>
> This is in connection with the revent oi-meeting discussion [1] where
> one of the interesting points discussed was moving package development
> into illumos.
>
> Has there been any progress on the idea of moving the package
> development to illumos.org ?
>
> With Belenix, we're about to being package development using rpm5's
> rpmbuild, and would like to be involved in this overall effort and see
> how the Belenix team can help out.
>
> -- Sriram
> Belenix: www.belenix.org
>
>
> [1] http://openhatch.org/meeting-irc-logs/oi-meeting/2011-08-30.log.txt
>
> _______________________________________________
> oi-dev mailing list
> oi-dev at openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev




More information about the oi-dev mailing list