diff mbox series

[1/1] package/zziplib: create symlinks only if target is missing

Message ID 20220729091323.2933595-1-br015@umbiko.net
State Superseded
Headers show
Series [1/1] package/zziplib: create symlinks only if target is missing | expand

Commit Message

Andreas Ziegler July 29, 2022, 9:13 a.m. UTC
Symlink creation should only happen for versioned libraries. Modify CMake 
rules to prevent overwriting existing libraties with recursive links.

Fixes the following autobuild failures:
http://autobuild.buildroot.net/results/dd1/dd1974dbc1a22a96a3cedb117417e66119821514/
http://autobuild.buildroot.net/results/df8/df8406402ccff7cec34ae5858b8da57d1a4ae9c1/
http://autobuild.buildroot.net/results/743/7433a2ad111e2f014c81f196d3d1e2f63dffa858/
http://autobuild.buildroot.net/results/79f/79f88e9ec14cda7d07cf689eee864791ba949892/
...
http://autobuild.buildroot.net/results/892/8922efbbbfe79e8286a411acce4086b5c77c57c0/
http://autobuild.buildroot.net/results/dfa/dfa8ade3a4c1750e6dd58e652f60af2a44f80dd8/
http://autobuild.buildroot.net/results/9cd/9cd4147486f32d642513ba14efca3a02d5745ab9/

Regression test cases:
http://autobuild.buildroot.net/results/ba7/ba711034c0abe980f677e26de41739223e2f66e9/
http://autobuild.buildroot.net/results/032/032aaff121fb114f388c67dbca3ad2b02f670e38/
http://autobuild.buildroot.net/results/6c5/6c56b645a2b723920f07b98474452824fba5e2c1/

Signed-off-by: Andreas Ziegler <br015@umbiko.net>
---
 ...reate-symlinks-only-if-target-is-mis.patch | 59 +++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch

Comments

Andreas Ziegler July 29, 2022, 9:34 a.m. UTC | #1
Sorry, there is a typo in the CMake code, I have to redo this. Change is 
marked as "Changes requested"

Kind regards,
Andreas


On 2022-07-29 09:13, Andreas Ziegler wrote:
> Symlink creation should only happen for versioned libraries. Modify 
> CMake
> rules to prevent overwriting existing libraties with recursive links.
> 
> Fixes the following autobuild failures:
> http://autobuild.buildroot.net/results/dd1/dd1974dbc1a22a96a3cedb117417e66119821514/
> http://autobuild.buildroot.net/results/df8/df8406402ccff7cec34ae5858b8da57d1a4ae9c1/
> http://autobuild.buildroot.net/results/743/7433a2ad111e2f014c81f196d3d1e2f63dffa858/
> http://autobuild.buildroot.net/results/79f/79f88e9ec14cda7d07cf689eee864791ba949892/
> ...
> http://autobuild.buildroot.net/results/892/8922efbbbfe79e8286a411acce4086b5c77c57c0/
> http://autobuild.buildroot.net/results/dfa/dfa8ade3a4c1750e6dd58e652f60af2a44f80dd8/
> http://autobuild.buildroot.net/results/9cd/9cd4147486f32d642513ba14efca3a02d5745ab9/
> 
> Regression test cases:
> http://autobuild.buildroot.net/results/ba7/ba711034c0abe980f677e26de41739223e2f66e9/
> http://autobuild.buildroot.net/results/032/032aaff121fb114f388c67dbca3ad2b02f670e38/
> http://autobuild.buildroot.net/results/6c5/6c56b645a2b723920f07b98474452824fba5e2c1/
> 
> Signed-off-by: Andreas Ziegler <br015@umbiko.net>
> ---
>  ...reate-symlinks-only-if-target-is-mis.patch | 59 +++++++++++++++++++
>  1 file changed, 59 insertions(+)
>  create mode 100644
> package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch
> 
> diff --git
> a/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch
> b/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch
> new file mode 100644
> index 0000000000..25f9808b8c
> --- /dev/null
> +++
> b/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch
> @@ -0,0 +1,59 @@
> +From 2b94e8dcc58696f23be07888913eddaa035273d8 Mon Sep 17 00:00:00 2001
> +From: Andreas Ziegler <br015@umbiko.net>
> +Date: Fri, 29 Jul 2022 10:29:29 +0200
> +Subject: [PATCH] ZZIP_LIBLATEST: create symlinks only if target is 
> missing
> +
> +Signed-off-by: Andreas Ziegler <br015@umbiko.net>
> +---
> + zzip/CMakeLists.txt | 18 +++++++++++++++---
> + 1 file changed, 15 insertions(+), 3 deletions(-)
> +
> +diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt
> +index 4fa6b9c..fe20dd6 100644
> +--- a/zzip/CMakeLists.txt
> ++++ b/zzip/CMakeLists.txt
> +@@ -350,8 +350,12 @@ if(ZZIP_LIBLATEST)
> +   endif()
> +     get_target_property(libname libzzip OUTPUT_NAME)
> +     get_target_property(librelease libzzip RELEASE_POSTFIX)
> ++    set(libzzip_target "${lib}${libname}${dll}")
> ++    add_custom_command(OUTPUT ${libzzip_target}
> ++        COMMAND ${CMAKE_COMMAND} -E create_symlink
> $<TARGET_FILE_NAME:libzzip> ${libzzip_target}
> ++        )
> +     add_custom_target(libzzip_latest ALL
> +-        COMMAND ${CMAKE_COMMAND} -E create_symlink
> $<TARGET_FILE_NAME:libzzip> ${lib}${libname}${dll}
> ++        DEPENDS ${libzzip_target}
> +         )
> +     install(FILES
> +         ${outdir}/${lib}${libname}${dll}
> +@@ -359,8 +363,12 @@ if(ZZIP_LIBLATEST)
> +     if(ZZIPFSEEKO)
> +     get_target_property(libname libzzipfseeko OUTPUT_NAME)
> +     get_target_property(librelease libzzipfseeko RELEASE_POSTFIX)
> ++    set(libzzipfseeko_target "${lib}${libname}${dll}")
> ++    add_custom_command(OUTPUT ${libzzipfseeko_target}
> ++        COMMAND ${CMAKE_COMMAND} -E create_symlink
> $<TARGET_FILE_NAME:libzzip> ${libzzipfseeko_target}
> ++        )
> +     add_custom_target(libzzipfseeko_latest ALL
> +-        COMMAND ${CMAKE_COMMAND} -E create_symlink
> $<TARGET_FILE_NAME:libzzipfseeko> ${lib}${libname}${dll}
> ++        DEPENDS ${libzzipfseeko_target}
> +         )
> +     install(FILES
> +         ${outdir}/${lib}${libname}${dll}
> +@@ -369,8 +377,12 @@ if(ZZIP_LIBLATEST)
> +     if(ZZIPMMAPPED)
> +     get_target_property(libname libzzipmmapped OUTPUT_NAME)
> +     get_target_property(librelease libzzipmmapped RELEASE_POSTFIX)
> ++    set(libzzipmmaped_target "${lib}${libname}${dll}")
> ++    add_custom_command(OUTPUT ${libzzipmmaped_target}
> ++        COMMAND ${CMAKE_COMMAND} -E create_symlink
> $<TARGET_FILE_NAME:libzzip> ${libzzipmmaped_target}
> ++        )
> +     add_custom_target(libzzipmmaped_latest ALL
> +-        COMMAND ${CMAKE_COMMAND} -E create_symlink
> $<TARGET_FILE_NAME:libzzipmmapped> ${lib}${libname}${dll}
> ++        DEPENDS ${libzzipmmaped_target}
> +         )
> +     install(FILES
> +         ${outdir}/${lib}${libname}${dll}
> +--
> +2.34.1
> +
> --
> 2.34.1
diff mbox series

Patch

diff --git a/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch b/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch
new file mode 100644
index 0000000000..25f9808b8c
--- /dev/null
+++ b/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch
@@ -0,0 +1,59 @@ 
+From 2b94e8dcc58696f23be07888913eddaa035273d8 Mon Sep 17 00:00:00 2001
+From: Andreas Ziegler <br015@umbiko.net>
+Date: Fri, 29 Jul 2022 10:29:29 +0200
+Subject: [PATCH] ZZIP_LIBLATEST: create symlinks only if target is missing
+
+Signed-off-by: Andreas Ziegler <br015@umbiko.net>
+---
+ zzip/CMakeLists.txt | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt
+index 4fa6b9c..fe20dd6 100644
+--- a/zzip/CMakeLists.txt
++++ b/zzip/CMakeLists.txt
+@@ -350,8 +350,12 @@ if(ZZIP_LIBLATEST)
+   endif()
+     get_target_property(libname libzzip OUTPUT_NAME)
+     get_target_property(librelease libzzip RELEASE_POSTFIX)
++    set(libzzip_target "${lib}${libname}${dll}")
++    add_custom_command(OUTPUT ${libzzip_target} 
++        COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzip> ${libzzip_target}
++        )
+     add_custom_target(libzzip_latest ALL
+-        COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzip> ${lib}${libname}${dll}
++        DEPENDS ${libzzip_target}
+         )
+     install(FILES
+         ${outdir}/${lib}${libname}${dll}
+@@ -359,8 +363,12 @@ if(ZZIP_LIBLATEST)
+     if(ZZIPFSEEKO)
+     get_target_property(libname libzzipfseeko OUTPUT_NAME)
+     get_target_property(librelease libzzipfseeko RELEASE_POSTFIX)
++    set(libzzipfseeko_target "${lib}${libname}${dll}")
++    add_custom_command(OUTPUT ${libzzipfseeko_target} 
++        COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzip> ${libzzipfseeko_target}
++        )
+     add_custom_target(libzzipfseeko_latest ALL
+-        COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzipfseeko> ${lib}${libname}${dll}
++        DEPENDS ${libzzipfseeko_target}
+         )
+     install(FILES
+         ${outdir}/${lib}${libname}${dll}
+@@ -369,8 +377,12 @@ if(ZZIP_LIBLATEST)
+     if(ZZIPMMAPPED)
+     get_target_property(libname libzzipmmapped OUTPUT_NAME)
+     get_target_property(librelease libzzipmmapped RELEASE_POSTFIX)
++    set(libzzipmmaped_target "${lib}${libname}${dll}")
++    add_custom_command(OUTPUT ${libzzipmmaped_target} 
++        COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzip> ${libzzipmmaped_target}
++        )
+     add_custom_target(libzzipmmaped_latest ALL
+-        COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:libzzipmmapped> ${lib}${libname}${dll}
++        DEPENDS ${libzzipmmaped_target}
+         )
+     install(FILES
+         ${outdir}/${lib}${libname}${dll}
+-- 
+2.34.1
+