Mailinglist Archive: opensuse-buildservice (137 mails)

< Previous Next >
Re: [opensuse-buildservice] tar_scm service seemingly not fetching latest src

On Nov 3, 2015, at Nov 3, 12:49 AM, Adrian Schröter <adrian@xxxxxxx> wrote:

On Freitag, 30. Oktober 2015, 10:08:03 CET wrote Karl W Schulz:
Hello fine obs folks,

I have a standalone obs server and a number of packages using _service files
that use “tar_scm” + “extract_file” + “recompress” services to fetch their
inputs. I have been unable to put my finger on the condition that leads to
this, but periodically I encounter situations where the latest SCM changes
are not included, even after a rebuild is forced with “osc service
remoterun”. This can be easily confirmed by examining the files presented
in obs UI (and the final build rpms) vs the committed files in git. I have
seen this now when interfacing with both external repositories (github) and
internal repositories.

When I am fortunate enough to detect that obs is building from older src
versions, the “fix” I have stumbled upon is to make a noop change to the
package _service file (I generally just append a newline). Then, after a
commit, the latest contents will be ingested.

I detect this fairly infrequently, but it just happened again and the noop
change to _service file resolved it. Obviously it’s disconcerting to think
other builds might be using older SCM contents and I was wondering if folks
might have debug suggestions the next time it happens?

first thing what you should check is what files are inside of your source
repository.

Do you get new tar balls containing old content?

for viewing the history:

osc log

for checking out a history including generated files:

osc co $PROJECT $PACKAGE -S -r $REV

if this is already broken, you need to debug the service itself.

luckily this is just an executable and you can run it manually.

Thanks for the tips. We did continue digging a bit more by running the tar_scm
binary with the same args being passed by obs. That does indeed deliver the
correct src into the tarball, so tar_scm seems unlikely to be the culprit.
That led us to look further at the the use of the recompress service. Note that
our _service files follow the advice given for git integration at:

https://en.opensuse.org/openSUSE:Build_Service_private_instance_software_live_cycle#Complete_service_example

In particular, we included the use of wildcard matching for the recompress file
name, similar to the example:

<param name="file">*git*.tar</param>

I’m not sure if this is the correct diagnosis, but the wildcard example seems
to imply that there should be only one resulting tarball from tar_scm. If I
look in our local obs/sources directories though, we have some packages with
multiple tarballs and our conjecture is that the wildcard might be matching a
version that is not the latest?

For now, we have disabled the use of the recompress service in favor of using
the output from tar_scm directly.

Karl



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

< Previous Next >
References