Mailinglist Archive: opensuse-buildservice (260 mails)

< Previous Next >
Re: [opensuse-buildservice] How can I publish MS Windows installer MSI packages?
  • From: Hib Eris <hib@xxxxxxxxxx>
  • Date: Fri, 18 Dec 2009 17:54:22 +0100
  • Message-id: <a47100d40912180854i19e95e5bv2bd734b1ecb9b480@xxxxxxxxxxxxxx>
Hi,

On Fri, Dec 18, 2009 at 4:33 PM, Adrian Schröter <adrian@xxxxxxx> wrote:
Am Freitag, 18. Dezember 2009 14:58:17 schrieb Hib Eris:
Hi,

I am using the openSUSE build service to build a MS Windows installer
package for the Evince Document Viewer (evince.msi) on the openSUSE
build service, running the build commands from a .spec file.

Do you do this with your own build service instance ?

No, I am using the openSUSE build service, you can see it in my home project,
https://build.opensuse.org/project/show?project=home%3Ahiberis

The mingw32-evince package builds a mingw32-evince-msi.rpm file,
containing an evince.msi file.

You can of course extend bs_publish to extract a package. Dunno how to detect
if a package shall be extracted or not.

It would be IMHO of course way better, if OBS would understand .msi as own
packaging format like it does with .rpm or .deb. In that way you could reuse
the .msi for building further packages.

Well, by convention, rpmbuild takes build instructions from .spec
files to build .rpms and debuild uses .dsc files to create .debs. We
do not have an input file format for build instructions to build msi
files I think. However, nothing is stopping us from using rpmbuild
(on linux) and the .spec format to specify build instructions for
other files than rpms. We can build debs from a .spec file, or msi's.
That is what I do: in mingw32-evince.spec I specify build instructions
to build *.msi files. It seems that rpmbuild has no problem with that,
and will be happy to place the msi file in, say for example,
/usr/src/packages/MSI.

Now, I do not know how exactly all this fantastic build service stuff
works, but from
http://gitorious.org/opensuse/build/blobs/master/build#line1182
I reckon that for spec builds, only rpm files are extracted. It seems
that for deb/kiwi builds all files are extracted. Maybe adding the
lines:

mkdir -p OTHER
find . -type f | while read i; do mv "$i" OTHER/; done

to the spec build as well, would already be enough for me. Or maybe
not, I do not have the big picture on all this extracting, moving,
publishing.

And all that not only on linux with cross compile, but on a windows OS system
which would allow also to use native compilers.

All this is possible to implement, it is just some work.

A windows build service would be great, but I think it is quite some
work. You will basically need to set up your own windows distribution
of all rpmbuild's requirements. It is indeed an interesting idea, I'd
really like to have only one evince.spec file to build evince.rpm,
evince.deb and evince.msi!

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

< Previous Next >