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



Reply via email to