
Hi, On Fri, Dec 18, 2009 at 4:33 PM, Adrian Schröter <adrian@suse.de> 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@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org