Mailinglist Archive: opensuse-buildservice (86 mails)

< Previous Next >
Re: [opensuse-buildservice] autotools source service.
On Montag, 20. Juni 2016, 16:06:42 CEST wrote Simon Lees:
Hi All,

I'm looking at how feasible it is to swap my old enlightenment "Nightly"
build scripts from some pretty messy bash to obs source services. I
could just use the git service but one of the things that my upstream
are especially talented in is breaking builds from within tarballs
generated by "make dist" so my question is has anyone looked at pulling
the current git master, then running "./configure; make dist" and then
building from the resulting tarball.

The most annoying thing about this is to generate the tarball you need
to run configure which involves having the right dependencies installed
so in order to run it it really needs to be done from the build vm.

My current thought is to just use the existing git source service then
in the %setup section of the spec file, extract the git tarball run
"autoconf; make dist" then extract the autotools tarball to an
appropriate place then build from that in the build phase. The major
downside to this is that it adds considerable changes to the spec file
compared to something built from a standard release, can anyone think of
a way to reduce these differences? I guess its generic enough that I
could hide it away in a rpm macro.

Hm, one option would be to have a source service to run the autotools
before creating the tar ball.

We recommend these to create the tar ball anyway during the build phase,
so you could inject your own source service before creating the tar ball.
All what you need is to create such a script and build a rpm from it,
so it can be used.

Check this blog entry:

http://openbuildservice.org/2016/04/08/new_git_in_27/

In your case a service file would look like this:

<services>
<service name="obs_scm">
<param name="url">git://github.com/mavlink/qgroundcontrol.git</param>
<param name="scm">git</param>
</service>
<service mode="buildtime" name="simons_auto_stuff_executer" />
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="buildtime" name="set_version" />
</services>

Please note the "simons_auto_stuff_executer" service. This would
can be a special service written by you which is doing $the_right_thing
for you. Would be nice of course when you write it in a generic way,
so it can be used also by others;)

Does this lead into the direction you are thinking?

Tell if you need help with such a service ...


--

Adrian Schroeter
email: adrian@xxxxxxx

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284
(AG Nürnberg)

Maxfeldstraße 5
90409 Nürnberg
Germany


--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References