[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