Dear Wolfram,
The patches are not applied to a particular source (so using empty
entries in 'patches' doesn't make sense), but are simply applied in the
build directory which contains all unpacked sources.
To control where the patch is applied, you can specify a location
(directory) in which the patch should be applied, as follows:
patches = [('three-1.2.3_enhanced.patch', 'this/is/a/subdir')]
Does this help?
regards,
Kenneth
On 05/12/2018 16:14, Wolfram Zieger wrote:
Hello,
Within my eb script (dummy toolchain) I have four sources where a certain
install order is necessary.
It installs fine.
But: If I apply a patch meant for source No. 3, the patch gets applied to
source No. 1 which fails (see relevant log entries at the end)
What can I do to make sure the patch is applied to the third source instead of
the first source?
---------[part of eb script]-----------------------------------------------
source_urls = [
'https://somethingsomething.com/one/',
'https://somethingsomething.com/two/',
'https://somethingsomething.com/three/',
'https://somethingsomething.com/four/',
]
sources = [
'one-install.tar.gz',
'two-setup.tar.gz',
'three-something.tar.gz',
'four-goodone.tar.gz',
]
patches = [
'three-1.2.3_enhanced.patch',
]
--------------------------------------------------------------------------------
By the way - using empty '' values for the patches list is not working.
Should I use dummy patches for the first two?
BTW - Here is the relevant part of the log:
----log--------------------------------------------------------------------------
Can't determine patch level for patch /my/ebscripts/three-1.2.3_enhanced.patch
from directory
/my/modulebuildingroot/build/somethingsomething/1.2.3/dummy-dummy-myversionssuffix/one-install-1.2.3
(at
my/modulebuildingroot/software/EasyBuild/3.5.3/lib/python2.7/site-packages/easybuild_framework-3.5.3-py2.7.egg/easybuild/tools/filetools.py:910
in apply_patch)
--------------------------------------------------------------------------------
Yeah, it's EasyBUild 3.5.3, but I do not think it's a bug, I think, it's either
my syntax or it doesn't work this way at all.
Of course, it complains about "patch level", but
patches = [
('three-1.2.3_enhanced.patch', 1),
]
(reduced patch depth) even more clearly shows, that it cannot find the file to
patch in software source 1 instead of 3.
Best regards,
Wolfram