Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cmake] fix generating addon.xmls to avoid "file COPY" failures, fixes #16000 #16494

Merged
merged 1 commit into from
Sep 10, 2019
Merged

[cmake] fix generating addon.xmls to avoid "file COPY" failures, fixes #16000 #16494

merged 1 commit into from
Sep 10, 2019

Conversation

MilhouseVH
Copy link
Contributor

Description

See #16000 - this fixes the random "file COPY" failures when building Kodi.

Motivation and Context

Kodi failing randomly during a 3-4 hour (or longer) LibreELEC build is a PITA.

How Has This Been Tested?

Extensively, see #16000. I have performed several thousand Kodi builds without this commit (multiple failures observed), and several thousand Kodi builds with this commit (zero failures).

This change has been proposed by @wsnipex. I have removed the "retry" support from the original version as that seems to be unnecessary.

Screenshots (if appropriate):

N/A

Types of change

  • Bug fix (non-breaking change which fixes an issue)
  • Clean up (non-breaking change which removes non-working, unmaintained functionality)
  • Improvement (non-breaking change which improves existing functionality)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that will cause existing functionality to change)
  • Cosmetic change (non-breaking change that doesn't touch code)
  • None of the above (please explain below)

Checklist:

  • My code follows the Code Guidelines of this project
  • My change requires a change to the documentation, either Doxygen or wiki
  • I have updated the documentation accordingly
  • I have read the Contributing document
  • I have added tests to cover my change
  • All new and existing tests passed

@MilhouseVH
Copy link
Contributor Author

@wsnipex looking at the native copy it excludes ".xml.in" which doesn't seem to be present in the external copy - should there be an attempt to delete addon.xml.in from the destination directory after the external copy (before the configure_file())?

@wsnipex
Copy link
Member

wsnipex commented Aug 14, 2019

Sadly there is no way I'm aware of to exclude the xml.in file directly, so we'd have to delete them after copy to retain the same behavior. Although keeping them doesn't harm

@MilhouseVH
Copy link
Contributor Author

This seems to be working very well.

I don't want to tempt fate, but I've not had any "file COPY" related build failures since including this PR on 14 Aug, not even having switched back to using ninja which tended to make a "file COPY" failure more likely than plain cmake.

@wsnipex
Copy link
Member

wsnipex commented Sep 4, 2019

Looking at this again, I might have found the correct fix.
Can you please give wsnipex@275772b a try?

@MilhouseVH
Copy link
Contributor Author

Thanks - I'll give a try and let you know (will take 3-4 days if it fixes the problem!)

@MilhouseVH
Copy link
Contributor Author

@wsnipex successfully completed 3,000 Kodi builds with wsnipex@275772b, and zero failures. I've updated this PR with the revised commit.

@wsnipex
Copy link
Member

wsnipex commented Sep 9, 2019

please add wsnipex@3a539dd to hopefully fix the windows build failures

edit: and please adjust the PR title, while you're at it

@MilhouseVH MilhouseVH changed the title cmake: use external process to avoid "file COPY" failures, fixes #16000 [cmake] fix generating addon.xmls Sep 9, 2019
@MilhouseVH MilhouseVH changed the title [cmake] fix generating addon.xmls [cmake] fix generating addon.xmls to avoid "file COPY" failures, fixes #16000 Sep 9, 2019
@MilhouseVH
Copy link
Contributor Author

please add wsnipex/xbmc@3a539dd to hopefully fix the windows build failures

Done.

edit: and please adjust the PR title, while you're at it

Not really sure what the title should be now, hopefully that's correct?

@Rechi
Copy link
Member

Rechi commented Sep 10, 2019

The commits have to be squashed or interchanged as it otherwise breaks bisecting on windows.

get rid of double copying addons

windows: add dependency for libdvd on export-files
@MilhouseVH
Copy link
Contributor Author

Squashed.

@Rechi Rechi added CMake Type: Fix non-breaking change which fixes an issue v19 Matrix labels Sep 10, 2019
@Rechi Rechi added this to the Matrix 19.0-alpha 1 milestone Sep 10, 2019
@wsnipex
Copy link
Member

wsnipex commented Sep 10, 2019

Thanks for your patience and all the testing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake Type: Fix non-breaking change which fixes an issue v19 Matrix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants