diff options
author | Eike Ziller <[email protected]> | 2024-11-06 15:22:09 +0100 |
---|---|---|
committer | Eike Ziller <[email protected]> | 2024-11-07 07:28:52 +0000 |
commit | fec8e320de79a03abf2cce0f4b23c8b842f1b22c (patch) | |
tree | b4a19f617df1346eb7cab98c9d215db0dc7ce0c0 | |
parent | d30f694c76ae1313c361c4a8d379f0c163815d02 (diff) |
Build: Fix zipping of dev package on Linux
Official 7zip normally checks for the existence of symlink targets, and
fails if they do not. That can be avoided with a command line flag. This
is important for the dev packages on Linux, where the libFoo.so is a
symlink to the actual library, and the symlink is part of the dev
package, but the actual library part of the non-dev package.
Change-Id: Ibd5855c4e106c96058a693d87e84d0f2d8f93365
Reviewed-by: Eike Ziller <[email protected]>
Reviewed-by: Patrik Teivonen <[email protected]>
-rwxr-xr-x | scripts/build.py | 5 | ||||
-rwxr-xr-x | scripts/build_plugin.py | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/scripts/build.py b/scripts/build.py index 9739c08204c..1b4306911dc 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -274,7 +274,10 @@ def package_qtcreator(args, paths): # use -mf=off to avoid usage of the ARM executable compression filter, # which cannot be extracted by p7zip - zip = ['7z', 'a', '-mmt' + args.zip_threads, '-mf=off'] + # use -snl to preserve symlinks even if their target doesn't exist + # which is important for the _dev package on Linux + # (only works with official/upstream 7zip) + zip = ['7z', 'a', '-mmt' + args.zip_threads, '-mf=off', '-snl'] if not args.no_zip: if not args.no_qtcreator: common.check_print_call(zip diff --git a/scripts/build_plugin.py b/scripts/build_plugin.py index 9355919e955..0de2a3949d6 100755 --- a/scripts/build_plugin.py +++ b/scripts/build_plugin.py @@ -149,7 +149,10 @@ def package(args, paths): common.check_print_call(command + [paths.install]) # use -mf=off to avoid usage of the ARM executable compression filter, # which cannot be extracted by p7zip - zip = ['7z', 'a', '-mmt' + args.zip_threads, '-mf=off'] + # use -snl to preserve symlinks even if their target doesn't exist + # which is important for the _dev package on Linux + # (only works with official/upstream 7zip) + zip = ['7z', 'a', '-mmt' + args.zip_threads, '-mf=off', '-snl'] common.check_print_call(zip + [os.path.join(paths.result, args.name + '.7z'), '*'], paths.install) if os.path.exists(paths.dev_install): # some plugins might not provide anything in Devel |