diff --git a/yajl-2.1.0-pkgconfig-location.patch b/0001-pkg-config-file-should-be-in-lib-dir-not-shared-data.patch similarity index 64% rename from yajl-2.1.0-pkgconfig-location.patch rename to 0001-pkg-config-file-should-be-in-lib-dir-not-shared-data.patch index 757a9cc..acc8a81 100644 --- a/yajl-2.1.0-pkgconfig-location.patch +++ b/0001-pkg-config-file-should-be-in-lib-dir-not-shared-data.patch @@ -1,6 +1,20 @@ -diff -rup yajl-2.1.0.orig/src/CMakeLists.txt yajl-2.1.0.new/src/CMakeLists.txt ---- yajl-2.1.0.orig/src/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000 -+++ yajl-2.1.0.new/src/CMakeLists.txt 2014-04-28 11:19:28.431492533 +0100 +From a319e9c853d787a9033e14436a5a80381e954a26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Mon, 10 Jul 2023 13:42:30 +0100 +Subject: [PATCH 1/8] pkg-config file should be in lib dir, not shared data dir +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Daniel P. Berrangé +--- + src/CMakeLists.txt | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 99cf9e9..789ddf9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt @@ -30,7 +30,7 @@ ADD_DEFINITIONS(-DYAJL_BUILD) # set up some paths SET (libDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib) @@ -25,3 +39,6 @@ diff -rup yajl-2.1.0.orig/src/CMakeLists.txt yajl-2.1.0.new/src/CMakeLists.txt INSTALL(FILES ${incDir}/yajl_version.h DESTINATION include/yajl) -INSTALL(FILES ${shareDir}/yajl.pc DESTINATION share/pkgconfig) +INSTALL(FILES ${pkgconfigDir}/yajl.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig) +-- +2.41.0 + diff --git a/0002-pkg-config-include-dir-should-not-have-the-yajl-suff.patch b/0002-pkg-config-include-dir-should-not-have-the-yajl-suff.patch new file mode 100644 index 0000000..b6175b3 --- /dev/null +++ b/0002-pkg-config-include-dir-should-not-have-the-yajl-suff.patch @@ -0,0 +1,30 @@ +From 0eaa8db35c9e580f27ba0c90d11b173cb1d96687 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Mon, 10 Jul 2023 13:43:25 +0100 +Subject: [PATCH 2/8] pkg-config include dir should not have the 'yajl' suffix +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Apps use '#include ' for includes historically. + +Signed-off-by: Daniel P. Berrangé +--- + src/yajl.pc.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/yajl.pc.cmake b/src/yajl.pc.cmake +index 6eaca14..485ded9 100644 +--- a/src/yajl.pc.cmake ++++ b/src/yajl.pc.cmake +@@ -1,6 +1,6 @@ + prefix=${CMAKE_INSTALL_PREFIX} + libdir=${dollar}{prefix}/lib${LIB_SUFFIX} +-includedir=${dollar}{prefix}/include/yajl ++includedir=${dollar}{prefix}/include + + Name: Yet Another JSON Library + Description: A Portable JSON parsing and serialization library in ANSI C +-- +2.41.0 + diff --git a/yajl-2.1.0-test-location.patch b/0003-fix-patch-to-test-files-to-take-account-of-vpath.patch similarity index 53% rename from yajl-2.1.0-test-location.patch rename to 0003-fix-patch-to-test-files-to-take-account-of-vpath.patch index 04f5aee..8f1d5ab 100644 --- a/yajl-2.1.0-test-location.patch +++ b/0003-fix-patch-to-test-files-to-take-account-of-vpath.patch @@ -1,6 +1,21 @@ -diff -rup yajl-2.1.0.orig/test/api/run_tests.sh yajl-2.1.0.new/test/api/run_tests.sh ---- yajl-2.1.0.orig/test/api/run_tests.sh 2014-03-19 04:58:29.000000000 +0000 -+++ yajl-2.1.0.new/test/api/run_tests.sh 2014-04-28 11:27:26.006405320 +0100 +From 39b9c104275a5eac498f5d2a92b462d10381a9eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Mon, 10 Jul 2023 13:44:26 +0100 +Subject: [PATCH 3/8] fix patch to test files to take account of vpath +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Daniel P. Berrangé +--- + test/api/run_tests.sh | 2 +- + test/parsing/run_tests.sh | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/test/api/run_tests.sh b/test/api/run_tests.sh +index 6655152..88e43fb 100755 +--- a/test/api/run_tests.sh ++++ b/test/api/run_tests.sh @@ -5,7 +5,7 @@ echo Running api tests: tests=0 passed=0 @@ -10,9 +25,10 @@ diff -rup yajl-2.1.0.orig/test/api/run_tests.sh yajl-2.1.0.new/test/api/run_test [ ! -x $file -o -d $file ] && continue tests=`expr 1 + $tests` printf " test(%s): " $file -diff -rup yajl-2.1.0.orig/test/parsing/run_tests.sh yajl-2.1.0.new/test/parsing/run_tests.sh ---- yajl-2.1.0.orig/test/parsing/run_tests.sh 2014-03-19 04:58:29.000000000 +0000 -+++ yajl-2.1.0.new/test/parsing/run_tests.sh 2014-04-28 11:25:51.239025722 +0100 +diff --git a/test/parsing/run_tests.sh b/test/parsing/run_tests.sh +index b37e4dd..ceb2e7a 100755 +--- a/test/parsing/run_tests.sh ++++ b/test/parsing/run_tests.sh @@ -16,11 +16,11 @@ fi # find test binary on both platforms. allow the caller to force a # particular test binary (useful for non-cmake build systems). @@ -28,3 +44,6 @@ diff -rup yajl-2.1.0.orig/test/parsing/run_tests.sh yajl-2.1.0.new/test/parsing/ if [ ! -x $testBin ] ; then ${ECHO} "cannot execute test binary: '$testBin'" exit 1; +-- +2.41.0 + diff --git a/0004-drop-bogus-_s-suffix-from-yajl-dynamic-library.patch b/0004-drop-bogus-_s-suffix-from-yajl-dynamic-library.patch new file mode 100644 index 0000000..1c97cc8 --- /dev/null +++ b/0004-drop-bogus-_s-suffix-from-yajl-dynamic-library.patch @@ -0,0 +1,43 @@ +From c98c00d6957601b95f3982f3d9460868469a299e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Mon, 10 Jul 2023 13:45:36 +0100 +Subject: [PATCH 4/8] drop bogus '_s' suffix from yajl dynamic library +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Daniel P. Berrangé +--- + reformatter/CMakeLists.txt | 2 +- + verify/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/reformatter/CMakeLists.txt b/reformatter/CMakeLists.txt +index 52a9bee..4b7b3fa 100644 +--- a/reformatter/CMakeLists.txt ++++ b/reformatter/CMakeLists.txt +@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib) + + ADD_EXECUTABLE(json_reformat ${SRCS}) + +-TARGET_LINK_LIBRARIES(json_reformat yajl_s) ++TARGET_LINK_LIBRARIES(json_reformat yajl) + + # In some environments, we must explicitly link libm (like qnx, + # thanks @shahbag) +diff --git a/verify/CMakeLists.txt b/verify/CMakeLists.txt +index 967fca1..2bceb26 100644 +--- a/verify/CMakeLists.txt ++++ b/verify/CMakeLists.txt +@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib) + + ADD_EXECUTABLE(json_verify ${SRCS}) + +-TARGET_LINK_LIBRARIES(json_verify yajl_s) ++TARGET_LINK_LIBRARIES(json_verify yajl) + + # copy in the binary + GET_TARGET_PROPERTY(binPath json_verify LOCATION) +-- +2.41.0 + diff --git a/yajl-2.1.0-dynlink-binaries.patch b/yajl-2.1.0-dynlink-binaries.patch deleted file mode 100644 index fa53913..0000000 --- a/yajl-2.1.0-dynlink-binaries.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -rup yajl-2.1.0.orig/reformatter/CMakeLists.txt yajl-2.1.0.new/reformatter/CMakeLists.txt ---- yajl-2.1.0.orig/reformatter/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000 -+++ yajl-2.1.0.new/reformatter/CMakeLists.txt 2014-04-28 11:36:11.909478329 +0100 -@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_ - - ADD_EXECUTABLE(json_reformat ${SRCS}) - --TARGET_LINK_LIBRARIES(json_reformat yajl_s) -+TARGET_LINK_LIBRARIES(json_reformat yajl) - - # In some environments, we must explicitly link libm (like qnx, - # thanks @shahbag) -Only in yajl-2.1.0.new/reformatter: CMakeLists.txt.orig -Only in yajl-2.1.0.new/src: CMakeLists.txt~ -Only in yajl-2.1.0.new/test/api: run_tests.sh~ -Only in yajl-2.1.0.new/test/parsing: run_tests.sh~ -diff -rup yajl-2.1.0.orig/verify/CMakeLists.txt yajl-2.1.0.new/verify/CMakeLists.txt ---- yajl-2.1.0.orig/verify/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000 -+++ yajl-2.1.0.new/verify/CMakeLists.txt 2014-04-28 11:36:11.909478329 +0100 -@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_ - - ADD_EXECUTABLE(json_verify ${SRCS}) - --TARGET_LINK_LIBRARIES(json_verify yajl_s) -+TARGET_LINK_LIBRARIES(json_verify yajl) - - # copy in the binary - GET_TARGET_PROPERTY(binPath json_verify LOCATION) diff --git a/yajl-2.1.0-pkgconfig-includedir.patch b/yajl-2.1.0-pkgconfig-includedir.patch deleted file mode 100644 index ba134f0..0000000 --- a/yajl-2.1.0-pkgconfig-includedir.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -rup yajl-2.1.0.orig/src/yajl.pc.cmake yajl-2.1.0.new/src/yajl.pc.cmake ---- yajl-2.1.0.orig/src/yajl.pc.cmake 2014-03-19 04:58:29.000000000 +0000 -+++ yajl-2.1.0.new/src/yajl.pc.cmake 2014-04-28 11:12:23.505791003 +0100 -@@ -1,6 +1,6 @@ - prefix=${CMAKE_INSTALL_PREFIX} - libdir=${dollar}{prefix}/lib${LIB_SUFFIX} --includedir=${dollar}{prefix}/include/yajl -+includedir=${dollar}{prefix}/include - - Name: Yet Another JSON Library - Description: A Portable JSON parsing and serialization library in ANSI C diff --git a/yajl.spec b/yajl.spec index b6c92e9..05f131f 100644 --- a/yajl.spec +++ b/yajl.spec @@ -3,7 +3,7 @@ Name: yajl Version: 2.1.0 -Release: 20%{?dist} +Release: 21%{?dist} Summary: Yet Another JSON Library (YAJL) License: ISC @@ -19,13 +19,16 @@ URL: http://lloyd.github.com/yajl/ # https://github.com/lloyd/yajl/releases/tag/2.1.0 # Source0: %{name}-%{version}.tar.gz -Patch: %{name}-%{version}-pkgconfig-location.patch -Patch: %{name}-%{version}-pkgconfig-includedir.patch -Patch: %{name}-%{version}-test-location.patch -Patch: %{name}-%{version}-dynlink-binaries.patch -BuildRequires: gcc +# Patches managed at https://github.com/berrange/yajl/tree/fedora-dist-git +Patch: 0001-pkg-config-file-should-be-in-lib-dir-not-shared-data.patch +Patch: 0002-pkg-config-include-dir-should-not-have-the-yajl-suff.patch +Patch: 0003-fix-patch-to-test-files-to-take-account-of-vpath.patch +Patch: 0004-drop-bogus-_s-suffix-from-yajl-dynamic-library.patch + +BuildRequires: gcc BuildRequires: cmake +BuildRequires: git %package devel Summary: Libraries, includes, etc to develop with YAJL @@ -45,7 +48,7 @@ This sub-package provides the libraries and includes necessary for developing against the YAJL library %prep -%autosetup -p1 +%autosetup -S git_am %build # NB, we are not using upstream's 'configure'/'make' @@ -90,6 +93,9 @@ cd test %changelog +* Mon Jul 10 2023 Daniel P. Berrangé - 2.1.0-21 +- Switch to using git for managing patches + * Sat Jan 21 2023 Fedora Release Engineering - 2.1.0-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild