Mailinglist Archive: opensuse-buildservice (171 mails)

< Previous Next >
Re: [opensuse-buildservice] OBS for native Windows nodes
  • From: Klaas Freitag <freitag@xxxxxxx>
  • Date: Mon, 7 Sep 2009 09:11:10 +0200
  • Message-id: <200909070911.10184.freitag@xxxxxxx>
Am Montag 07 September 2009 02:01:40 schrieb John Pye:
Hi,


I expanded my page about Windows support for OBS as a build client on
native Windows build-nodes. The idea is to build packages directly on
Windows machines using MinGW, rather than using cross-compilers.
Accompanying the concept is a concept for a package manager for Windows
that would deal with dependencies in a way that interoperates with the
usually 'standalone' installers common on Windows.

http://en.opensuse.org/Build_Service/Concepts/Windows_Support

Would appreciate any thoughts on this.

From my point of view the virtualized build system is the only way to go
in the long term. Only that one would offer the needed functionality to
build packages without the need to adapt the build system to support
cross builds (which will anyway not work in all cases).

I tried some time ago to use a wine wrapper inside of our build script to
support windows builds. At that point of time, I was not able to get
gnumake running inside of wine, but that is quite some time ago.

Another option would be to try to use a prepare ReactOS image, haven't
tried yet.

I would like to avoid to use MS Windows for opensuse.org. It would be
nice if we can support this as well, but using MS Windows would not allow
the users to run secure local builds with "osc build", because we would
not be allowed to distribute the image due to the license.

Perhaps the license issues could be overcome with a suitably high-level
conversation with Microsoft by Novell?
I doubt that one would be able to negotiate with MS that we're allowed to
distribute a MS Windows based build system onto everybodies home computer
with osc build ;-)

And, on the other hand, I think we should try hard to push in the free
software direction and work with alternatives. ReactOS is a great initiative,
and maybe we can ask them for help?


The pure implementation time of a new package format into our OBS backend
code would be quite low, if someone would find out how this format would
look alike and adapt the build script for it. (Yes some bash script and
one perl module).

So, if someone is doing this job, either Michael or me can extend our OBS
backend code relative fast for this (of course someone else can do it as
well, but that needs quite some knowledge). The build script itself its
modules (there are one RPM, one Deb and one kiwi) can be done easily, if
you have have some knowledge about the windows format. This is were
Michael and me are lacking the knowldege ;)

My thoughts on all this are that RPMs are great (especially coming from
a Linux background), but they're not really what end-users demand. On
Windows, end-users demand MSI or .EXE installers, and if there is any
package management, then it has to happen automatically from within that
installer.
MSI does not support dependencies which makes it hard but not impossible
for the build environment setup - we probably have to go a "install all"-way.

For the bundling of the user downloadable packages MSI also could only be
used if we also follow the 'put everything in' approach which seems to be
quite common on the platform.

To create MSI's it seems to be recommended to use a opensource toolkit
called WiX. It is driven by Microsoft and written in C#, see
http://wix.sourceforge.net/
and a tutorial here:
http://wix.sourceforge.net/tutorial.html
It comes with command line tools and uses a XML file config file from which
a MSI package (or program?) is compiled. Sounds pretty much how we like
it, except some details maybe ;-) There is a pretty active community with
mailinglists. We also could ask there for help.

regards,
Klaas
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups