Compare commits
3 Commits
954d03f963
...
5fc3d17acc
Author | SHA1 | Date | |
---|---|---|---|
5fc3d17acc | |||
5109161bd3 | |||
01f81d23da |
@ -0,0 +1,54 @@
|
|||||||
|
From 0d76d960727018bddf04c6cc89552af69aaa7e55 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
|
||||||
|
Date: Sun, 15 Apr 2018 22:20:34 +0200
|
||||||
|
Subject: [PATCH 01/10] Add missing Qt5Network, Qt5Test, make BUILD_WITH_QT4
|
||||||
|
more strict
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 22 +++++++++++-----------
|
||||||
|
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 2a1f652..eb006d9 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -5,25 +5,25 @@ project( libmygpo-qt )
|
||||||
|
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
|
||||||
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" )
|
||||||
|
|
||||||
|
-option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4 no matter if Qt5 was found" OFF)
|
||||||
|
+option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4" OFF)
|
||||||
|
|
||||||
|
if( NOT BUILD_WITH_QT4 )
|
||||||
|
- find_package(Qt5Core QUIET)
|
||||||
|
- if( Qt5Core_DIR )
|
||||||
|
- set(MYGPO_QT_VERSION_SUFFIX 5)
|
||||||
|
-
|
||||||
|
- macro(qt_wrap_cpp)
|
||||||
|
- qt5_wrap_cpp(${ARGN})
|
||||||
|
- endmacro()
|
||||||
|
+ if( MYGPO_BUILD_TESTS )
|
||||||
|
+ find_package(Qt5 REQUIRED COMPONENTS Core Network Test CONFIG)
|
||||||
|
+ else()
|
||||||
|
+ find_package(Qt5 REQUIRED COMPONENTS Core Network CONFIG)
|
||||||
|
endif()
|
||||||
|
+ set(MYGPO_QT_VERSION_SUFFIX 5)
|
||||||
|
+
|
||||||
|
+ macro(qt_wrap_cpp)
|
||||||
|
+ qt5_wrap_cpp(${ARGN})
|
||||||
|
+ endmacro()
|
||||||
|
|
||||||
|
# pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for
|
||||||
|
# Qt5
|
||||||
|
set(MYGPO_QT_MAJOR_VERSION "5")
|
||||||
|
set(MYGPO_QT4_QJSON_DEP "")
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
-if( NOT Qt5Core_DIR )
|
||||||
|
+else()
|
||||||
|
message(STATUS "Could not find Qt5, searching for Qt4 instead...")
|
||||||
|
message(STATUS "Qt4 Support is deprecated, building with Qt4 is no longer officially supported")
|
||||||
|
if( MYGPO_BUILD_TESTS )
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -0,0 +1,153 @@
|
|||||||
|
From 42e19dcb6b7c07460f05aa1d4586d5c76236c6d0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tuomas Nurmi <tuomas@norsumanageri.org>
|
||||||
|
Date: Mon, 8 Jul 2024 17:03:32 +0300
|
||||||
|
Subject: [PATCH] Minimal changes to make Qt6 compilation possible
|
||||||
|
|
||||||
|
Untested. Compiles, with a bunch of deprecation warnings.
|
||||||
|
There's likely room for improvement all around.
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 24 +++++++++---------------
|
||||||
|
libmygpo-qt.pc.in | 1 -
|
||||||
|
src/CMakeLists.txt | 4 ++--
|
||||||
|
src/DeviceList.cpp | 2 +-
|
||||||
|
tests/CMakeLists.txt | 12 +++++++++---
|
||||||
|
5 files changed, 21 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 8a79ddc..920e841 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -5,10 +5,10 @@ project( libmygpo-qt )
|
||||||
|
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
|
||||||
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" )
|
||||||
|
|
||||||
|
-option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4" OFF)
|
||||||
|
+option(BUILD_WITH_QT6 "Build libmygpo-qt with Qt6" OFF)
|
||||||
|
option(MYGPO_BUILD_TESTS "Build all unit tests" ON)
|
||||||
|
|
||||||
|
-if( NOT BUILD_WITH_QT4 )
|
||||||
|
+if( NOT BUILD_WITH_QT6 )
|
||||||
|
if( MYGPO_BUILD_TESTS )
|
||||||
|
find_package(Qt5 REQUIRED COMPONENTS Core Network Test CONFIG)
|
||||||
|
else()
|
||||||
|
@@ -23,27 +23,21 @@ if( NOT BUILD_WITH_QT4 )
|
||||||
|
# pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for
|
||||||
|
# Qt5
|
||||||
|
set(MYGPO_QT_MAJOR_VERSION "5")
|
||||||
|
- set(MYGPO_QT4_QJSON_DEP "")
|
||||||
|
else()
|
||||||
|
- message(STATUS "Could not find Qt5, searching for Qt4 instead...")
|
||||||
|
- message(STATUS "Qt4 Support is deprecated, building with Qt4 is no longer officially supported")
|
||||||
|
+ message(STATUS "Could not find Qt5, searching for Qt6 instead...")
|
||||||
|
if( MYGPO_BUILD_TESTS )
|
||||||
|
- find_package( Qt4 COMPONENTS QtCore QtNetwork QtTest REQUIRED )
|
||||||
|
+ find_package( Qt6 COMPONENTS Core Network Test REQUIRED )
|
||||||
|
else( MYGPO_BUILD_TESTS )
|
||||||
|
- find_package( Qt4 COMPONENTS QtCore QtNetwork REQUIRED )
|
||||||
|
+ find_package( Qt6 COMPONENTS Core Network REQUIRED )
|
||||||
|
endif()
|
||||||
|
- set( QT_DONT_USE_QTGUI TRUE )
|
||||||
|
- include( ${QT_USE_FILE} )
|
||||||
|
+ set(MYGPO_QT_VERSION_SUFFIX 6)
|
||||||
|
|
||||||
|
macro(qt_wrap_cpp)
|
||||||
|
- qt4_wrap_cpp(${ARGN})
|
||||||
|
+ qt6_wrap_cpp(${ARGN})
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
- set(MYGPO_QT_MAJOR_VERSION "")
|
||||||
|
- set(MYGPO_QT4_QJSON_DEP "Requires.private: QJson")
|
||||||
|
+ set(MYGPO_QT_MAJOR_VERSION "6")
|
||||||
|
|
||||||
|
- # QJson is only required for Qt4
|
||||||
|
- find_package(QJSON REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Don't use absolute path in Mygpo-qtTargets-$buildType.cmake
|
||||||
|
@@ -51,7 +45,7 @@ endif()
|
||||||
|
# set(QT_USE_IMPORTED_TARGETS TRUE)
|
||||||
|
|
||||||
|
set( MYGPO_QT_VERSION_MAJOR "1" )
|
||||||
|
-set( MYGPO_QT_VERSION_MINOR "1" )
|
||||||
|
+set( MYGPO_QT_VERSION_MINOR "2" )
|
||||||
|
set( MYGPO_QT_VERSION_PATCH "0" )
|
||||||
|
set( MYGPO_QT_VERSION "${MYGPO_QT_VERSION_MAJOR}.${MYGPO_QT_VERSION_MINOR}.${MYGPO_QT_VERSION_PATCH}" )
|
||||||
|
|
||||||
|
diff --git a/libmygpo-qt.pc.in b/libmygpo-qt.pc.in
|
||||||
|
index 8403e48..520bd52 100644
|
||||||
|
--- a/libmygpo-qt.pc.in
|
||||||
|
+++ b/libmygpo-qt.pc.in
|
||||||
|
@@ -8,6 +8,5 @@ Description: libmygpo-qt is a C++/Qt Library that wraps the gpodder.net WebAPI
|
||||||
|
URL: http://wiki.gpodder.org/wiki/Libmygpo-qt
|
||||||
|
Version: @MYGPO_QT_VERSION@
|
||||||
|
Requires: Qt@MYGPO_QT_MAJOR_VERSION@Core Qt@MYGPO_QT_MAJOR_VERSION@Network
|
||||||
|
-@MYGPO_QT4_QJSON_DEP@
|
||||||
|
Libs: -L${libdir} -lmygpo-qt@MYGPO_QT_VERSION_SUFFIX@
|
||||||
|
Cflags: -I${includedir}
|
||||||
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||||
|
index 253e81e..9d1989c 100644
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -81,10 +81,10 @@ add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC
|
||||||
|
|
||||||
|
set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
|
||||||
|
|
||||||
|
-if( NOT BUILD_WITH_QT4 )
|
||||||
|
+if( NOT BUILD_WITH_QT6 )
|
||||||
|
target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network)
|
||||||
|
else()
|
||||||
|
- target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES})
|
||||||
|
+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt6::Core Qt6::Network)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} )
|
||||||
|
diff --git a/src/DeviceList.cpp b/src/DeviceList.cpp
|
||||||
|
index e972318..92e29cc 100644
|
||||||
|
--- a/src/DeviceList.cpp
|
||||||
|
+++ b/src/DeviceList.cpp
|
||||||
|
@@ -64,7 +64,7 @@ bool DeviceListPrivate::parse( const QVariant& data )
|
||||||
|
DevicePtr ptr( new Device( var, this ) );
|
||||||
|
m_devicesList.append( ptr );
|
||||||
|
QVariant v;
|
||||||
|
- v.setValue<DevicePtr>( ptr );
|
||||||
|
+ v.setValue<DevicePtr>( QSharedPointer<mygpo::Device>(ptr) );
|
||||||
|
devList.append( v );
|
||||||
|
}
|
||||||
|
m_devices = devList;
|
||||||
|
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||||
|
index 4f77158..ce63689 100644
|
||||||
|
--- a/tests/CMakeLists.txt
|
||||||
|
+++ b/tests/CMakeLists.txt
|
||||||
|
@@ -11,14 +11,18 @@ include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CU
|
||||||
|
|
||||||
|
# UrlBuilder library
|
||||||
|
add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp )
|
||||||
|
-if( NOT BUILD_WITH_QT4 )
|
||||||
|
+if( NOT BUILD_WITH_QT6 )
|
||||||
|
target_link_libraries( UrlBuilder Qt5::Core )
|
||||||
|
+else()
|
||||||
|
+ target_link_libraries( UrlBuilder Qt6::Core )
|
||||||
|
endif()
|
||||||
|
# JSONCreator library
|
||||||
|
QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
|
||||||
|
add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC})
|
||||||
|
-if( NOT BUILD_WITH_QT4 )
|
||||||
|
+if( NOT BUILD_WITH_QT6 )
|
||||||
|
target_link_libraries( JsonCreator Qt5::Core Qt5::Network )
|
||||||
|
+else()
|
||||||
|
+ target_link_libraries( JsonCreator Qt6::Core Qt6::Network )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
|
||||||
|
@@ -29,8 +33,10 @@ macro(add_libmygpo_test _source)
|
||||||
|
add_executable(${_name} ${_source} ${${_name}_MOC_SRC})
|
||||||
|
target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY})
|
||||||
|
add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name})
|
||||||
|
- if( NOT BUILD_WITH_QT4 )
|
||||||
|
+ if( NOT BUILD_WITH_QT6 )
|
||||||
|
target_link_libraries(${_name} Qt5::Network Qt5::Test)
|
||||||
|
+ else()
|
||||||
|
+ target_link_libraries(${_name} Qt6::Network Qt6::Test)
|
||||||
|
endif()
|
||||||
|
endmacro(add_libmygpo_test)
|
||||||
|
|
@ -0,0 +1,81 @@
|
|||||||
|
From 1b53767b988b339aac8b353327a1542b2a0c0610 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
|
||||||
|
Date: Sun, 15 Apr 2018 22:29:33 +0200
|
||||||
|
Subject: [PATCH 02/10] Fix build with Qt 5.11_beta3 (dropping qt5_use_modules)
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 3 ---
|
||||||
|
src/CMakeLists.txt | 8 ++++++--
|
||||||
|
tests/CMakeLists.txt | 12 +++++++++---
|
||||||
|
3 files changed, 15 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index eb006d9..fa4b0cb 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -34,9 +34,6 @@ else()
|
||||||
|
set( QT_DONT_USE_QTGUI TRUE )
|
||||||
|
include( ${QT_USE_FILE} )
|
||||||
|
|
||||||
|
- macro(qt5_use_modules)
|
||||||
|
- endmacro()
|
||||||
|
-
|
||||||
|
macro(qt_wrap_cpp)
|
||||||
|
qt4_wrap_cpp(${ARGN})
|
||||||
|
endmacro()
|
||||||
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||||
|
index 802125b..253e81e 100644
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -79,9 +79,13 @@ QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} )
|
||||||
|
|
||||||
|
add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
|
||||||
|
|
||||||
|
-target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
|
||||||
|
set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
|
||||||
|
-qt5_use_modules( ${MYGPO_QT_TARGET_NAME} Core Network )
|
||||||
|
+
|
||||||
|
+if( NOT BUILD_WITH_QT4 )
|
||||||
|
+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network)
|
||||||
|
+else()
|
||||||
|
+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES})
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} )
|
||||||
|
|
||||||
|
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||||
|
index a3e3223..4f77158 100644
|
||||||
|
--- a/tests/CMakeLists.txt
|
||||||
|
+++ b/tests/CMakeLists.txt
|
||||||
|
@@ -11,11 +11,15 @@ include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CU
|
||||||
|
|
||||||
|
# UrlBuilder library
|
||||||
|
add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp )
|
||||||
|
-qt5_use_modules( UrlBuilder Core )
|
||||||
|
+if( NOT BUILD_WITH_QT4 )
|
||||||
|
+ target_link_libraries( UrlBuilder Qt5::Core )
|
||||||
|
+endif()
|
||||||
|
# JSONCreator library
|
||||||
|
QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
|
||||||
|
add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC})
|
||||||
|
-qt5_use_modules( JsonCreator Core Network )
|
||||||
|
+if( NOT BUILD_WITH_QT4 )
|
||||||
|
+ target_link_libraries( JsonCreator Qt5::Core Qt5::Network )
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
|
||||||
|
|
||||||
|
@@ -25,7 +29,9 @@ macro(add_libmygpo_test _source)
|
||||||
|
add_executable(${_name} ${_source} ${${_name}_MOC_SRC})
|
||||||
|
target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY})
|
||||||
|
add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name})
|
||||||
|
- qt5_use_modules(${_name} Network Test)
|
||||||
|
+ if( NOT BUILD_WITH_QT4 )
|
||||||
|
+ target_link_libraries(${_name} Qt5::Network Qt5::Test)
|
||||||
|
+ endif()
|
||||||
|
endmacro(add_libmygpo_test)
|
||||||
|
|
||||||
|
add_libmygpo_test( UrlBuilderTest.cpp )
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
33
base/libmygpo-qt/0003-Move-MYGPO_BUILD_TESTS-option.patch
Normal file
33
base/libmygpo-qt/0003-Move-MYGPO_BUILD_TESTS-option.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From 843cb11ef80353af76e02eaf2a344ec79707c13f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jonas Kvinge <jonas@jkvinge.net>
|
||||||
|
Date: Wed, 14 Jul 2021 21:57:37 +0200
|
||||||
|
Subject: [PATCH 03/10] Move MYGPO_BUILD_TESTS option
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 3 +--
|
||||||
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index fa4b0cb..d27435f 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -6,6 +6,7 @@ set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/mo
|
||||||
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" )
|
||||||
|
|
||||||
|
option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4" OFF)
|
||||||
|
+option(MYGPO_BUILD_TESTS "Build all unit tests" ON)
|
||||||
|
|
||||||
|
if( NOT BUILD_WITH_QT4 )
|
||||||
|
if( MYGPO_BUILD_TESTS )
|
||||||
|
@@ -77,8 +78,6 @@ if (CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
endif()
|
||||||
|
endif(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
|
||||||
|
-option(MYGPO_BUILD_TESTS "Build all unit tests" ON)
|
||||||
|
-
|
||||||
|
if(MYGPO_BUILD_TESTS)
|
||||||
|
INCLUDE(CTest)
|
||||||
|
enable_testing()
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -0,0 +1,22 @@
|
|||||||
|
From 70adbf91675ce70cbdd46478bb2867f705e7df0d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jonas Kvinge <jonas@jkvinge.net>
|
||||||
|
Date: Wed, 14 Jul 2021 22:04:13 +0200
|
||||||
|
Subject: [PATCH 04/10] Update the minimum required cmake version to 3.0
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index fa4b0cb..786ff44 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-cmake_minimum_required( VERSION 2.8.9 FATAL_ERROR )
|
||||||
|
+cmake_minimum_required( VERSION 3.0 FATAL_ERROR )
|
||||||
|
|
||||||
|
project( libmygpo-qt )
|
||||||
|
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From dab4844b8c516e99805b88f02df69e1b0bc11da2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bart De Vries <bart@mogwai.be>
|
||||||
|
Date: Wed, 28 Jul 2021 23:33:43 +0200
|
||||||
|
Subject: [PATCH 05/10] Fix parsing of timestamp for EpisodeAction
|
||||||
|
|
||||||
|
I don't know the entire history of the API, but the current timestamp
|
||||||
|
that is returned by gpodder.net is in ISO 8601 format. The libmygpo-qt
|
||||||
|
implementation was trying to convert this string directly into
|
||||||
|
qulonglong which would fail, and therefore always return 0.
|
||||||
|
Presumably, the timestamp was previously returned as seconds-since-epoch,
|
||||||
|
but changed at some point in time.
|
||||||
|
---
|
||||||
|
src/EpisodeAction.cpp | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/EpisodeAction.cpp b/src/EpisodeAction.cpp
|
||||||
|
index 95536be..59aa96b 100644
|
||||||
|
--- a/src/EpisodeAction.cpp
|
||||||
|
+++ b/src/EpisodeAction.cpp
|
||||||
|
@@ -118,7 +118,10 @@ bool EpisodeActionPrivate::parse( const QVariant& data )
|
||||||
|
if( episodeActionMap.contains( QLatin1String( "timestamp" ) ) )
|
||||||
|
{
|
||||||
|
s = episodeActionMap.value( QLatin1String( "timestamp" ) );
|
||||||
|
- m_timestamp = s.toULongLong();
|
||||||
|
+ // timestamp is provided in ISO 8601 format, to be converted to qulonglong
|
||||||
|
+ // when the server generates the timestamp, it will contain extra
|
||||||
|
+ // sub-second resolution, which we need to cut off first before converting
|
||||||
|
+ m_timestamp = static_cast<qulonglong>(QDateTime::fromString(s.toString().section(QLatin1String("."), 0, 0), QLatin1String("yyyy-MM-dd'T'hh:mm:ss")).toMSecsSinceEpoch() / 1000);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -0,0 +1,27 @@
|
|||||||
|
From b40cf4eded0c9b0a9feffa3f51919b086b4257f5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bart De Vries <bart@mogwai.be>
|
||||||
|
Date: Thu, 2 Sep 2021 14:24:40 +0200
|
||||||
|
Subject: [PATCH 06/10] Fix timestamp sent to gpodder.net to correspond to UTC
|
||||||
|
|
||||||
|
According to the gpodder.net API, this timestamp is supposed to be sent
|
||||||
|
as UTC time.
|
||||||
|
---
|
||||||
|
src/JsonCreator.cpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/JsonCreator.cpp b/src/JsonCreator.cpp
|
||||||
|
index 9c4f0bc..0c0a5ec 100644
|
||||||
|
--- a/src/JsonCreator.cpp
|
||||||
|
+++ b/src/JsonCreator.cpp
|
||||||
|
@@ -192,7 +192,7 @@ QVariantMap JsonCreator::episodeActionToQVariantMap( const EpisodeActionPtr epis
|
||||||
|
time.addMSecs(episodeAction->timestamp() % 1000 );
|
||||||
|
dateTime.setTime(time);
|
||||||
|
#endif
|
||||||
|
- map.insert( QLatin1String( "timestamp" ), dateTime.toString(Qt::ISODate) );
|
||||||
|
+ map.insert( QLatin1String( "timestamp" ), dateTime.toUTC().toString(Qt::ISODate) );
|
||||||
|
}
|
||||||
|
if( actionType == EpisodeAction::Play )
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
32
base/libmygpo-qt/0007-Fix-removeList-of-DeviceUpdates.patch
Normal file
32
base/libmygpo-qt/0007-Fix-removeList-of-DeviceUpdates.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From b02f23ec8c20eb32351a02bf47a584261074d3f5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bart De Vries <bart@mogwai.be>
|
||||||
|
Date: Wed, 29 Sep 2021 11:32:50 +0200
|
||||||
|
Subject: [PATCH 07/10] Fix removeList of DeviceUpdates
|
||||||
|
|
||||||
|
The gpodder.net server returns the list of subscriptions to be removed
|
||||||
|
under the "rem" tag, not "remove" as the API documentation seems to
|
||||||
|
suggest. Hence, libmygpo-qt is not picking up any subscription
|
||||||
|
removals.
|
||||||
|
|
||||||
|
As reference, see gpodder.net server source code (line 73):
|
||||||
|
https://github.com/gpodder/mygpo/blob/master/mygpo/api/advanced/updates.py
|
||||||
|
---
|
||||||
|
src/DeviceUpdates.cpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/DeviceUpdates.cpp b/src/DeviceUpdates.cpp
|
||||||
|
index 04653c5..2a8e80f 100644
|
||||||
|
--- a/src/DeviceUpdates.cpp
|
||||||
|
+++ b/src/DeviceUpdates.cpp
|
||||||
|
@@ -93,7 +93,7 @@ bool DeviceUpdatesPrivate::parse( const QVariant& data )
|
||||||
|
return false;
|
||||||
|
QVariantMap varMap = data.toMap();
|
||||||
|
m_add = varMap.value( QLatin1String( "add" ) );
|
||||||
|
- m_remove = varMap.value( QLatin1String( "remove" ) );
|
||||||
|
+ m_remove = varMap.value( QLatin1String( "rem" ) );
|
||||||
|
m_update = varMap.value( QLatin1String( "updates" ) );
|
||||||
|
if( varMap.value( QLatin1String( "timestamp" ) ).canConvert( QVariant::LongLong ) )
|
||||||
|
m_timestamp = varMap.value( QLatin1String( "timestamp" ) ).toLongLong();
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -0,0 +1,40 @@
|
|||||||
|
From 5f58afe75dea5acf79a22666beb897c024354bd0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tuomas Nurmi <tuomas@norsumanageri.org>
|
||||||
|
Date: Mon, 8 Jul 2024 16:35:56 +0300
|
||||||
|
Subject: [PATCH 08/10] Use c/c++ library-defined ULLONG_MAX instead of manual
|
||||||
|
calculation
|
||||||
|
|
||||||
|
---
|
||||||
|
src/EpisodeAction.cpp | 2 +-
|
||||||
|
src/JsonCreator.cpp | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/EpisodeAction.cpp b/src/EpisodeAction.cpp
|
||||||
|
index 59aa96b..e7d595d 100644
|
||||||
|
--- a/src/EpisodeAction.cpp
|
||||||
|
+++ b/src/EpisodeAction.cpp
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
|
||||||
|
using namespace mygpo;
|
||||||
|
|
||||||
|
-static qulonglong c_maxlonglong = (2^64)-1;
|
||||||
|
+static qulonglong c_maxlonglong = ULLONG_MAX;
|
||||||
|
|
||||||
|
EpisodeActionPrivate::EpisodeActionPrivate( EpisodeAction* qq, const QVariant& variant, QObject* parent ) : QObject( parent ), q( qq )
|
||||||
|
{
|
||||||
|
diff --git a/src/JsonCreator.cpp b/src/JsonCreator.cpp
|
||||||
|
index 0c0a5ec..f50540e 100644
|
||||||
|
--- a/src/JsonCreator.cpp
|
||||||
|
+++ b/src/JsonCreator.cpp
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
|
||||||
|
using namespace mygpo;
|
||||||
|
|
||||||
|
-static qulonglong c_maxlonglong = (2^64)-1;
|
||||||
|
+static qulonglong c_maxlonglong = ULLONG_MAX;
|
||||||
|
|
||||||
|
QByteArray JsonCreator::addRemoveSubsToJSON( const QList< QUrl >& add, const QList< QUrl >& remove )
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -0,0 +1,355 @@
|
|||||||
|
From ef1c1c1b2c36eaa21f73fc095cd801c15e6e736d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tuomas Nurmi <tuomas@norsumanageri.org>
|
||||||
|
Date: Mon, 8 Jul 2024 16:42:07 +0300
|
||||||
|
Subject: [PATCH 09/10] Update signals and slots to use Q_SIGNALS and Q_SLOTS
|
||||||
|
|
||||||
|
When including in projects with KDE Frameworks 5.85+, signals and slots keywords
|
||||||
|
don't work by default anymore and cause compilation to fail with default setup.
|
||||||
|
---
|
||||||
|
src/AddRemoveResult.h | 2 +-
|
||||||
|
src/AddRemoveResult_p.h | 4 ++--
|
||||||
|
src/DeviceList.h | 2 +-
|
||||||
|
src/DeviceList_p.h | 2 +-
|
||||||
|
src/DeviceSyncResult.h | 2 +-
|
||||||
|
src/DeviceSyncResult_p.h | 2 +-
|
||||||
|
src/DeviceUpdates.h | 2 +-
|
||||||
|
src/DeviceUpdates_p.h | 2 +-
|
||||||
|
src/Episode.h | 2 +-
|
||||||
|
src/EpisodeActionList.h | 2 +-
|
||||||
|
src/EpisodeActionList_p.h | 2 +-
|
||||||
|
src/EpisodeList.h | 2 +-
|
||||||
|
src/EpisodeList_p.h | 2 +-
|
||||||
|
src/Episode_p.h | 2 +-
|
||||||
|
src/Podcast.h | 2 +-
|
||||||
|
src/PodcastList.h | 2 +-
|
||||||
|
src/PodcastList_p.h | 2 +-
|
||||||
|
src/Podcast_p.h | 2 +-
|
||||||
|
src/Settings.h | 2 +-
|
||||||
|
src/Settings_p.h | 2 +-
|
||||||
|
src/TagList.h | 2 +-
|
||||||
|
src/TagList_p.h | 2 +-
|
||||||
|
tests/JsonCreatorTest.h | 2 +-
|
||||||
|
tests/UrlBuilderTest.h | 2 +-
|
||||||
|
24 files changed, 25 insertions(+), 25 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/AddRemoveResult.h b/src/AddRemoveResult.h
|
||||||
|
index cd31846..fc46b37 100644
|
||||||
|
--- a/src/AddRemoveResult.h
|
||||||
|
+++ b/src/AddRemoveResult.h
|
||||||
|
@@ -52,7 +52,7 @@ private:
|
||||||
|
Q_DISABLE_COPY( AddRemoveResult )
|
||||||
|
AddRemoveResultPrivate* const d;
|
||||||
|
friend class AddRemoveResultPrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/AddRemoveResult_p.h b/src/AddRemoveResult_p.h
|
||||||
|
index cd17cdc..999e8be 100644
|
||||||
|
--- a/src/AddRemoveResult_p.h
|
||||||
|
+++ b/src/AddRemoveResult_p.h
|
||||||
|
@@ -49,11 +49,11 @@ private:
|
||||||
|
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-#endif //ADDREMOVERESULT_PRIVATE_H
|
||||||
|
\ No newline at end of file
|
||||||
|
+#endif //ADDREMOVERESULT_PRIVATE_H
|
||||||
|
diff --git a/src/DeviceList.h b/src/DeviceList.h
|
||||||
|
index 04109fe..4e12ee7 100644
|
||||||
|
--- a/src/DeviceList.h
|
||||||
|
+++ b/src/DeviceList.h
|
||||||
|
@@ -49,7 +49,7 @@ private:
|
||||||
|
Q_DISABLE_COPY( DeviceList )
|
||||||
|
DeviceListPrivate* const d;
|
||||||
|
friend class DeviceListPrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/DeviceList_p.h b/src/DeviceList_p.h
|
||||||
|
index 91dfd26..c908b92 100644
|
||||||
|
--- a/src/DeviceList_p.h
|
||||||
|
+++ b/src/DeviceList_p.h
|
||||||
|
@@ -47,7 +47,7 @@ private:
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
};
|
||||||
|
diff --git a/src/DeviceSyncResult.h b/src/DeviceSyncResult.h
|
||||||
|
index 82925d2..6cab821 100644
|
||||||
|
--- a/src/DeviceSyncResult.h
|
||||||
|
+++ b/src/DeviceSyncResult.h
|
||||||
|
@@ -50,7 +50,7 @@ private:
|
||||||
|
Q_DISABLE_COPY( DeviceSyncResult )
|
||||||
|
DeviceSyncResultPrivate* const d;
|
||||||
|
friend class DeviceSyncResultPrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/DeviceSyncResult_p.h b/src/DeviceSyncResult_p.h
|
||||||
|
index 8bcca95..8e980a1 100644
|
||||||
|
--- a/src/DeviceSyncResult_p.h
|
||||||
|
+++ b/src/DeviceSyncResult_p.h
|
||||||
|
@@ -47,7 +47,7 @@ private:
|
||||||
|
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
|
||||||
|
diff --git a/src/DeviceUpdates.h b/src/DeviceUpdates.h
|
||||||
|
index a1308f5..324902e 100644
|
||||||
|
--- a/src/DeviceUpdates.h
|
||||||
|
+++ b/src/DeviceUpdates.h
|
||||||
|
@@ -56,7 +56,7 @@ private:
|
||||||
|
Q_DISABLE_COPY( DeviceUpdates )
|
||||||
|
DeviceUpdatesPrivate* const d;
|
||||||
|
friend class DeviceUpdatesPrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/DeviceUpdates_p.h b/src/DeviceUpdates_p.h
|
||||||
|
index 18197b3..b8c5b43 100644
|
||||||
|
--- a/src/DeviceUpdates_p.h
|
||||||
|
+++ b/src/DeviceUpdates_p.h
|
||||||
|
@@ -56,7 +56,7 @@ private:
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
|
||||||
|
diff --git a/src/Episode.h b/src/Episode.h
|
||||||
|
index 7121f78..12699b1 100644
|
||||||
|
--- a/src/Episode.h
|
||||||
|
+++ b/src/Episode.h
|
||||||
|
@@ -77,7 +77,7 @@ private:
|
||||||
|
Q_DISABLE_COPY( Episode )
|
||||||
|
EpisodePrivate* const d;
|
||||||
|
friend class EpisodePrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/EpisodeActionList.h b/src/EpisodeActionList.h
|
||||||
|
index 416b536..0372e23 100644
|
||||||
|
--- a/src/EpisodeActionList.h
|
||||||
|
+++ b/src/EpisodeActionList.h
|
||||||
|
@@ -52,7 +52,7 @@ public:
|
||||||
|
private:
|
||||||
|
EpisodeActionListPrivate* const d;
|
||||||
|
friend class EpisodeActionListPrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/EpisodeActionList_p.h b/src/EpisodeActionList_p.h
|
||||||
|
index 0e93e9c..6f82d4f 100644
|
||||||
|
--- a/src/EpisodeActionList_p.h
|
||||||
|
+++ b/src/EpisodeActionList_p.h
|
||||||
|
@@ -50,7 +50,7 @@ private:
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
|
||||||
|
diff --git a/src/EpisodeList.h b/src/EpisodeList.h
|
||||||
|
index b75e33d..bddbf8e 100644
|
||||||
|
--- a/src/EpisodeList.h
|
||||||
|
+++ b/src/EpisodeList.h
|
||||||
|
@@ -49,7 +49,7 @@ public:
|
||||||
|
private:
|
||||||
|
EpisodeListPrivate* const d;
|
||||||
|
friend class EpisodeListPrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/EpisodeList_p.h b/src/EpisodeList_p.h
|
||||||
|
index f8153ee..5442702 100644
|
||||||
|
--- a/src/EpisodeList_p.h
|
||||||
|
+++ b/src/EpisodeList_p.h
|
||||||
|
@@ -46,7 +46,7 @@ private:
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
|
||||||
|
diff --git a/src/Episode_p.h b/src/Episode_p.h
|
||||||
|
index 2b84f78..e8c2359 100644
|
||||||
|
--- a/src/Episode_p.h
|
||||||
|
+++ b/src/Episode_p.h
|
||||||
|
@@ -60,7 +60,7 @@ private:
|
||||||
|
QNetworkReply::NetworkError m_error;
|
||||||
|
bool parse ( const QVariant& data );
|
||||||
|
bool parse ( const QByteArray& data );
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error ( QNetworkReply::NetworkError error );
|
||||||
|
|
||||||
|
diff --git a/src/Podcast.h b/src/Podcast.h
|
||||||
|
index 9905c9a..b5889cf 100644
|
||||||
|
--- a/src/Podcast.h
|
||||||
|
+++ b/src/Podcast.h
|
||||||
|
@@ -66,7 +66,7 @@ private:
|
||||||
|
PodcastPrivate* const d;
|
||||||
|
friend class PodcastPrivate;
|
||||||
|
bool m_copy; //true if this object was created by the copy-ctor
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/PodcastList.h b/src/PodcastList.h
|
||||||
|
index e650736..38e956c 100644
|
||||||
|
--- a/src/PodcastList.h
|
||||||
|
+++ b/src/PodcastList.h
|
||||||
|
@@ -50,7 +50,7 @@ private:
|
||||||
|
PodcastListPrivate* const d;
|
||||||
|
friend class PodcastListPrivate;
|
||||||
|
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/PodcastList_p.h b/src/PodcastList_p.h
|
||||||
|
index 07706c1..9647c3f 100644
|
||||||
|
--- a/src/PodcastList_p.h
|
||||||
|
+++ b/src/PodcastList_p.h
|
||||||
|
@@ -45,7 +45,7 @@ private:
|
||||||
|
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
};
|
||||||
|
diff --git a/src/Podcast_p.h b/src/Podcast_p.h
|
||||||
|
index 83cbed9..025f7eb 100644
|
||||||
|
--- a/src/Podcast_p.h
|
||||||
|
+++ b/src/Podcast_p.h
|
||||||
|
@@ -61,7 +61,7 @@ private:
|
||||||
|
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
};
|
||||||
|
diff --git a/src/Settings.h b/src/Settings.h
|
||||||
|
index 0c8c2fd..34acdaf 100644
|
||||||
|
--- a/src/Settings.h
|
||||||
|
+++ b/src/Settings.h
|
||||||
|
@@ -50,7 +50,7 @@ private:
|
||||||
|
Q_DISABLE_COPY( Settings )
|
||||||
|
SettingsPrivate* d;
|
||||||
|
friend class SettingsPrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/Settings_p.h b/src/Settings_p.h
|
||||||
|
index 8de1b76..df26cc2 100644
|
||||||
|
--- a/src/Settings_p.h
|
||||||
|
+++ b/src/Settings_p.h
|
||||||
|
@@ -47,7 +47,7 @@ private:
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
|
||||||
|
diff --git a/src/TagList.h b/src/TagList.h
|
||||||
|
index f641307..8847f14 100644
|
||||||
|
--- a/src/TagList.h
|
||||||
|
+++ b/src/TagList.h
|
||||||
|
@@ -48,7 +48,7 @@ private:
|
||||||
|
Q_DISABLE_COPY( TagList )
|
||||||
|
TagListPrivate* const d;
|
||||||
|
friend class TagListPrivate;
|
||||||
|
-signals:
|
||||||
|
+Q_SIGNALS:
|
||||||
|
/**Gets emitted when the data is ready to read*/
|
||||||
|
void finished();
|
||||||
|
/**Gets emitted when an parse error ocurred*/
|
||||||
|
diff --git a/src/TagList_p.h b/src/TagList_p.h
|
||||||
|
index 5320241..0f01f2b 100644
|
||||||
|
--- a/src/TagList_p.h
|
||||||
|
+++ b/src/TagList_p.h
|
||||||
|
@@ -46,7 +46,7 @@ private:
|
||||||
|
|
||||||
|
bool parse( const QVariant& data );
|
||||||
|
bool parse( const QByteArray& data );
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void parseData();
|
||||||
|
void error( QNetworkReply::NetworkError error );
|
||||||
|
};
|
||||||
|
diff --git a/tests/JsonCreatorTest.h b/tests/JsonCreatorTest.h
|
||||||
|
index 0f49f5c..eed2117 100644
|
||||||
|
--- a/tests/JsonCreatorTest.h
|
||||||
|
+++ b/tests/JsonCreatorTest.h
|
||||||
|
@@ -36,7 +36,7 @@ class JsonCreatorTest : public QObject {
|
||||||
|
public:
|
||||||
|
JsonCreatorTest();
|
||||||
|
virtual ~JsonCreatorTest();
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void initTestCase();
|
||||||
|
void cleanupTestCase();
|
||||||
|
void init();
|
||||||
|
diff --git a/tests/UrlBuilderTest.h b/tests/UrlBuilderTest.h
|
||||||
|
index 91fd9d0..cbcf7cd 100644
|
||||||
|
--- a/tests/UrlBuilderTest.h
|
||||||
|
+++ b/tests/UrlBuilderTest.h
|
||||||
|
@@ -36,7 +36,7 @@ class UrlBuilderTest : public QObject {
|
||||||
|
public:
|
||||||
|
UrlBuilderTest();
|
||||||
|
virtual ~UrlBuilderTest();
|
||||||
|
-private slots:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
void initTestCase();
|
||||||
|
void cleanupTestCase();
|
||||||
|
void init();
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -0,0 +1,23 @@
|
|||||||
|
From 643562dd72e0ecbaddaf1700da84c5f037ca817d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tuomas Nurmi <tuomas@norsumanageri.org>
|
||||||
|
Date: Mon, 8 Jul 2024 16:44:03 +0300
|
||||||
|
Subject: [PATCH 10/10] Bump minimum CMake version to avoid a warning during
|
||||||
|
configuration
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 1a8c8e3..8a79ddc 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-cmake_minimum_required( VERSION 3.0 FATAL_ERROR )
|
||||||
|
+cmake_minimum_required( VERSION 3.5 FATAL_ERROR )
|
||||||
|
|
||||||
|
project( libmygpo-qt )
|
||||||
|
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -1,34 +1,35 @@
|
|||||||
|
%bcond_without qt5
|
||||||
|
%bcond_without qt6
|
||||||
|
|
||||||
# TODO: upstream qt4 support is deprecated, conditionalize qt4 support
|
%undefine __cmake_in_source_build
|
||||||
# in hopes of removing in soonish
|
|
||||||
%if 0%{?rhel} <= 7
|
|
||||||
%global qt4 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
Name: libmygpo-qt
|
Name: libmygpo-qt
|
||||||
Summary: Qt4 Library that wraps the gpodder.net Web API
|
Summary: Qt Library that wraps the gpodder.net Web API
|
||||||
Version: 1.1.0
|
Version: 1.1.0
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
|
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
#Url: http://wiki.gpodder.org/wiki/Libmygpo-qt
|
#Url: http://wiki.gpodder.org/wiki/Libmygpo-qt
|
||||||
URL: https://github.com/gpodder/libmygpo-qt/
|
URL: https://github.com/gpodder/libmygpo-qt/
|
||||||
Source0: https://github.com/gpodder/libmygpo-qt/archive/%{version}/%{name}-%{version}.tar.gz
|
Source0: https://github.com/gpodder/libmygpo-qt/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
Patch1: 0001-Add-missing-Qt5Network-Qt5Test-make-BUILD_WITH_QT4-m.patch
|
||||||
|
Patch2: 0002-Fix-build-with-Qt-5.11_beta3-dropping-qt5_use_module.patch
|
||||||
|
Patch3: 0003-Move-MYGPO_BUILD_TESTS-option.patch
|
||||||
|
Patch4: 0004-Update-the-minimum-required-cmake-version-to-3.0.patch
|
||||||
|
Patch5: 0005-Fix-parsing-of-timestamp-for-EpisodeAction.patch
|
||||||
|
Patch6: 0006-Fix-timestamp-sent-to-gpodder.net-to-correspond-to-U.patch
|
||||||
|
Patch7: 0007-Fix-removeList-of-DeviceUpdates.patch
|
||||||
|
Patch8: 0008-Use-c-c-library-defined-ULLONG_MAX-instead-of-manual.patch
|
||||||
|
Patch9: 0009-Update-signals-and-slots-to-use-Q_SIGNALS-and-Q_SLOT.patch
|
||||||
|
Patch10: 0010-Bump-minimum-CMake-version-to-avoid-a-warning-during.patch
|
||||||
|
# https://github.com/gpodder/libmygpo-qt/pull/23
|
||||||
|
Patch20: 0001-Minimal-changes-to-make-Qt6-compilation-possible.patch
|
||||||
|
|
||||||
|
BuildRequires: clang >= 19.0
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
|
|
||||||
BuildRequires: pkgconfig(Qt5Core)
|
|
||||||
BuildRequires: pkgconfig(Qt5Network)
|
|
||||||
|
|
||||||
%if 0%{?qt4}
|
|
||||||
BuildRequires: automoc4
|
|
||||||
BuildRequires: pkgconfig(QJson)
|
|
||||||
BuildRequires: pkgconfig(QtCore)
|
|
||||||
BuildRequires: pkgconfig(QtNetwork)
|
|
||||||
BuildRequires: pkgconfig(QtTest)
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
libmygpo-qt is a Qt4 Library that wraps the gpodder.net Web API,
|
libmygpo-qt is a Qt4 Library that wraps the gpodder.net Web API,
|
||||||
@ -40,8 +41,13 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
|
|||||||
%description devel
|
%description devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
|
%if %{with qt5}
|
||||||
%package -n libmygpo-qt5
|
%package -n libmygpo-qt5
|
||||||
Summary: Qt5 Library that wraps the gpodder.net Web API
|
Summary: Qt5 Library that wraps the gpodder.net Web API
|
||||||
|
BuildRequires: pkgconfig(Qt5Core)
|
||||||
|
BuildRequires: pkgconfig(Qt5Gui)
|
||||||
|
BuildRequires: pkgconfig(Qt5Network)
|
||||||
|
|
||||||
%description -n libmygpo-qt5
|
%description -n libmygpo-qt5
|
||||||
libmygpo-qt5 is a Qt5 Library that wraps the gpodder.net Web API,
|
libmygpo-qt5 is a Qt5 Library that wraps the gpodder.net Web API,
|
||||||
http://wiki.gpodder.org/wiki/Web_Services/API_2
|
http://wiki.gpodder.org/wiki/Web_Services/API_2
|
||||||
@ -51,72 +57,86 @@ Summary: Development files for libmygpo-qt5
|
|||||||
Requires: libmygpo-qt5%{?_isa} = %{version}-%{release}
|
Requires: libmygpo-qt5%{?_isa} = %{version}-%{release}
|
||||||
%description -n libmygpo-qt5-devel
|
%description -n libmygpo-qt5-devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with qt5}
|
||||||
|
%package -n libmygpo-qt6
|
||||||
|
Summary: Qt6 Library that wraps the gpodder.net Web API
|
||||||
|
BuildRequires: pkgconfig(Qt6Core)
|
||||||
|
BuildRequires: pkgconfig(Qt6Gui)
|
||||||
|
BuildRequires: pkgconfig(Qt6Network)
|
||||||
|
|
||||||
|
%description -n libmygpo-qt6
|
||||||
|
libmygpo-qt6 is a Qt6 Library that wraps the gpodder.net Web API,
|
||||||
|
http://wiki.gpodder.org/wiki/Web_Services/API_2
|
||||||
|
|
||||||
|
%package -n libmygpo-qt6-devel
|
||||||
|
Summary: Development files for libmygpo-qt6
|
||||||
|
Requires: libmygpo-qt6%{?_isa} = %{version}-%{release}
|
||||||
|
%description -n libmygpo-qt6-devel
|
||||||
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup -p1
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if 0%{?qt4}
|
export CC=clang
|
||||||
%global _vpath_builddir %{_target_platform}
|
export CXX=clang++
|
||||||
%{cmake} \
|
|
||||||
-DBUILD_WITH_QT4:BOOL=ON \
|
|
||||||
-DINCLUDE_INSTALL_DIR:PATH=%{_qt4_headerdir}/mygpo-qt \
|
|
||||||
-DLIB_INSTALL_DIR:PATH=%{_qt4_libdir}/mygpo-qt
|
|
||||||
|
|
||||||
%cmake_build
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
%if %{with qt5}
|
||||||
%global _vpath_builddir %{_target_platform}-qt5
|
%global _vpath_builddir %{_target_platform}-qt5
|
||||||
|
|
||||||
%{cmake} \
|
%{cmake} \
|
||||||
-DBUILD_WITH_QT4:BOOL=OFF \
|
-DBUILD_WITH_QT6:BOOL=OFF \
|
||||||
-DINCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir}/mygpo-qt \
|
-DINCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir}/mygpo-qt \
|
||||||
-DLIB_INSTALL_DIR:PATH=%{_qt5_libdir}/mygpo-qt
|
-DLIB_INSTALL_DIR:PATH=%{_qt5_libdir}/mygpo-qt
|
||||||
|
|
||||||
%cmake_build
|
%cmake_build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with qt6}
|
||||||
|
%global _vpath_builddir %{_target_platform}-qt6
|
||||||
|
|
||||||
|
%{cmake} \
|
||||||
|
-DBUILD_WITH_QT6:BOOL=ON \
|
||||||
|
-DINCLUDE_INSTALL_DIR:PATH=%{_qt6_headerdir}/mygpo-qt \
|
||||||
|
-DLIB_INSTALL_DIR:PATH=%{_qt6_libdir}/mygpo-qt
|
||||||
|
|
||||||
|
%cmake_build
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%if 0%{?qt4}
|
%if %{with qt5}
|
||||||
%global _vpath_builddir %{_target_platform}
|
|
||||||
%cmake_install
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%global _vpath_builddir %{_target_platform}-qt5
|
%global _vpath_builddir %{_target_platform}-qt5
|
||||||
%cmake_install
|
%cmake_install
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with qt6}
|
||||||
|
%global _vpath_builddir %{_target_platform}-qt6
|
||||||
|
%cmake_install
|
||||||
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%if 0%{?qt4}
|
%if %{with qt5}
|
||||||
export PKG_CONFIG_PATH=%{buildroot}%{_qt4_libdir}/pkgconfig
|
|
||||||
test "$(pkg-config --modversion libmygpo-qt)" = "%{version}"
|
|
||||||
export CTEST_OUTPUT_ON_FAILURE=1
|
|
||||||
# test 2 currently fails on i686, poke upstream -- rex
|
|
||||||
make test -C %{_target_platform} ||:
|
|
||||||
%endif
|
|
||||||
export PKG_CONFIG_PATH=%{buildroot}%{_qt5_libdir}/pkgconfig
|
export PKG_CONFIG_PATH=%{buildroot}%{_qt5_libdir}/pkgconfig
|
||||||
test "$(pkg-config --modversion libmygpo-qt5)" = "%{version}"
|
test "$(pkg-config --modversion libmygpo-qt5)" = "%{version}"
|
||||||
export CTEST_OUTPUT_ON_FAILURE=1
|
export CTEST_OUTPUT_ON_FAILURE=1
|
||||||
# test 2 currently fails on i686, poke upstream -- rex
|
# test 2 currently fails on i686, poke upstream -- rex
|
||||||
make test -C %{_target_platform}-qt5 ||:
|
make test -C %{_target_platform}-qt5 ||:
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?qt4}
|
|
||||||
%ldconfig_scriptlets
|
|
||||||
|
|
||||||
%files
|
|
||||||
%doc AUTHORS LICENSE README
|
|
||||||
%{_qt4_libdir}/libmygpo-qt.so.1*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_qt4_headerdir}/mygpo-qt/
|
|
||||||
%{_qt4_libdir}/libmygpo-qt.so
|
|
||||||
%{_qt4_libdir}/pkgconfig/libmygpo-qt.pc
|
|
||||||
%{_qt4_libdir}/cmake/mygpo-qt/
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with qt6}
|
||||||
|
export PKG_CONFIG_PATH=%{buildroot}%{_qt6_libdir}/pkgconfig
|
||||||
|
test "$(pkg-config --modversion libmygpo-qt6)" = "%{version}"
|
||||||
|
export CTEST_OUTPUT_ON_FAILURE=1
|
||||||
|
# test 2 currently fails on i686, poke upstream -- rex
|
||||||
|
make test -C %{_target_platform}-qt6 ||:
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with qt5}
|
||||||
%ldconfig_scriptlets -n libmygpo-qt5
|
%ldconfig_scriptlets -n libmygpo-qt5
|
||||||
|
|
||||||
%files -n libmygpo-qt5
|
%files -n libmygpo-qt5
|
||||||
@ -128,9 +148,27 @@ make test -C %{_target_platform}-qt5 ||:
|
|||||||
%{_qt5_libdir}/libmygpo-qt5.so
|
%{_qt5_libdir}/libmygpo-qt5.so
|
||||||
%{_qt5_libdir}/pkgconfig/libmygpo-qt5.pc
|
%{_qt5_libdir}/pkgconfig/libmygpo-qt5.pc
|
||||||
%{_qt5_libdir}/cmake/mygpo-qt5/
|
%{_qt5_libdir}/cmake/mygpo-qt5/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with qt6}
|
||||||
|
%ldconfig_scriptlets -n libmygpo-qt6
|
||||||
|
|
||||||
|
%files -n libmygpo-qt6
|
||||||
|
%doc AUTHORS LICENSE README
|
||||||
|
%{_qt6_libdir}/libmygpo-qt6.so.1*
|
||||||
|
|
||||||
|
%files -n libmygpo-qt6-devel
|
||||||
|
%{_qt6_headerdir}/mygpo-qt/
|
||||||
|
%{_qt6_libdir}/libmygpo-qt6.so
|
||||||
|
%{_qt6_libdir}/pkgconfig/libmygpo-qt6.pc
|
||||||
|
%{_qt6_libdir}/cmake/mygpo-qt6/
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 13 2025 Raven <raven@sysadmins.ws> - 1.1.0-4
|
||||||
|
- drop qt4 support
|
||||||
|
- build with qt6
|
||||||
|
|
||||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
15236
base/libressl/libressl-cmake-rename-binaries.patch
Normal file
15236
base/libressl/libressl-cmake-rename-binaries.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,66 +1,6 @@
|
|||||||
diff -Naur libressl-3.8.1-orig/Makefile.am libressl-3.8.1/Makefile.am
|
diff -Naur a/apps/openssl/apps.c b/apps/openssl/apps.c
|
||||||
--- libressl-3.8.1-orig/Makefile.am 2023-08-21 17:00:06.000000000 +0600
|
--- a/apps/openssl/apps.c 2024-09-25 09:30:06.000000000 +0600
|
||||||
+++ libressl-3.8.1/Makefile.am 2023-10-03 14:13:45.763015193 +0600
|
+++ b/apps/openssl/apps.c 2025-01-09 22:24:46.419234126 +0600
|
||||||
@@ -12,7 +12,7 @@
|
|
||||||
|
|
||||||
EXTRA_DIST = README.md README.windows VERSION config scripts
|
|
||||||
EXTRA_DIST += CMakeLists.txt cmake_export_symbol.cmake cmake_uninstall.cmake.in FindLibreSSL.cmake LibreSSLConfig.cmake.in
|
|
||||||
-EXTRA_DIST += cert.pem openssl.cnf x509v3.cnf
|
|
||||||
+EXTRA_DIST += cert.pem libressl.cnf x509v3.cnf
|
|
||||||
|
|
||||||
.PHONY: install_sw
|
|
||||||
install_sw: install
|
|
||||||
@@ -24,7 +24,7 @@
|
|
||||||
OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \
|
|
||||||
fi; \
|
|
||||||
mkdir -p "$$OPENSSLDIR/certs"; \
|
|
||||||
- for i in cert.pem openssl.cnf x509v3.cnf; do \
|
|
||||||
+ for i in cert.pem libressl.cnf x509v3.cnf; do \
|
|
||||||
if [ ! -f "$$OPENSSLDIR/$i" ]; then \
|
|
||||||
$(INSTALL) -m 644 "$(srcdir)/$$i" "$$OPENSSLDIR/$$i"; \
|
|
||||||
else \
|
|
||||||
@@ -38,7 +38,7 @@
|
|
||||||
else \
|
|
||||||
OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \
|
|
||||||
fi; \
|
|
||||||
- for i in cert.pem openssl.cnf x509v3.cnf; do \
|
|
||||||
+ for i in cert.pem libressl.cnf x509v3.cnf; do \
|
|
||||||
if cmp -s "$$OPENSSLDIR/$$i" "$(srcdir)/$$i"; then \
|
|
||||||
rm -f "$$OPENSSLDIR/$$i"; \
|
|
||||||
fi \
|
|
||||||
diff -Naur libressl-3.8.1-orig/Makefile.in libressl-3.8.1/Makefile.in
|
|
||||||
--- libressl-3.8.1-orig/Makefile.in 2023-08-31 08:15:32.000000000 +0600
|
|
||||||
+++ libressl-3.8.1/Makefile.in 2023-10-03 14:14:15.117827061 +0600
|
|
||||||
@@ -374,7 +374,7 @@
|
|
||||||
EXTRA_DIST = README.md README.windows VERSION config scripts \
|
|
||||||
CMakeLists.txt cmake_export_symbol.cmake \
|
|
||||||
cmake_uninstall.cmake.in FindLibreSSL.cmake \
|
|
||||||
- LibreSSLConfig.cmake.in cert.pem openssl.cnf x509v3.cnf
|
|
||||||
+ LibreSSLConfig.cmake.in cert.pem libressl.cnf x509v3.cnf
|
|
||||||
all: all-recursive
|
|
||||||
|
|
||||||
.SUFFIXES:
|
|
||||||
@@ -895,7 +895,7 @@
|
|
||||||
OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \
|
|
||||||
fi; \
|
|
||||||
mkdir -p "$$OPENSSLDIR/certs"; \
|
|
||||||
- for i in cert.pem openssl.cnf x509v3.cnf; do \
|
|
||||||
+ for i in cert.pem libressl.cnf x509v3.cnf; do \
|
|
||||||
if [ ! -f "$$OPENSSLDIR/$i" ]; then \
|
|
||||||
$(INSTALL) -m 644 "$(srcdir)/$$i" "$$OPENSSLDIR/$$i"; \
|
|
||||||
else \
|
|
||||||
@@ -909,7 +909,7 @@
|
|
||||||
else \
|
|
||||||
OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \
|
|
||||||
fi; \
|
|
||||||
- for i in cert.pem openssl.cnf x509v3.cnf; do \
|
|
||||||
+ for i in cert.pem libressl.cnf x509v3.cnf; do \
|
|
||||||
if cmp -s "$$OPENSSLDIR/$$i" "$(srcdir)/$$i"; then \
|
|
||||||
rm -f "$$OPENSSLDIR/$$i"; \
|
|
||||||
fi \
|
|
||||||
diff -Naur libressl-3.8.1-orig/apps/openssl/apps.c libressl-3.8.1/apps/openssl/apps.c
|
|
||||||
--- libressl-3.8.1-orig/apps/openssl/apps.c 2023-08-21 16:50:37.000000000 +0600
|
|
||||||
+++ libressl-3.8.1/apps/openssl/apps.c 2023-10-03 14:15:00.235537604 +0600
|
|
||||||
@@ -1069,7 +1069,7 @@
|
@@ -1069,7 +1069,7 @@
|
||||||
const char *t = X509_get_default_cert_area();
|
const char *t = X509_get_default_cert_area();
|
||||||
char *p;
|
char *p;
|
||||||
@ -70,10 +10,22 @@ diff -Naur libressl-3.8.1-orig/apps/openssl/apps.c libressl-3.8.1/apps/openssl/a
|
|||||||
return NULL;
|
return NULL;
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
diff -Naur libressl-3.8.1-orig/crypto/conf/conf_mod.c libressl-3.8.1/crypto/conf/conf_mod.c
|
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
||||||
--- libressl-3.8.1-orig/crypto/conf/conf_mod.c 2023-08-21 16:50:37.000000000 +0600
|
--- a/CMakeLists.txt 2024-10-08 16:16:19.000000000 +0600
|
||||||
+++ libressl-3.8.1/crypto/conf/conf_mod.c 2023-10-03 14:15:27.230364281 +0600
|
+++ b/CMakeLists.txt 2025-01-09 22:34:00.078411167 +0600
|
||||||
@@ -474,7 +474,7 @@
|
@@ -531,7 +531,7 @@
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
- install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
|
||||||
|
+ install(FILES cert.pem libressl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
|
||||||
|
install(DIRECTORY DESTINATION ${CONF_DIR}/certs)
|
||||||
|
|
||||||
|
if(NOT TARGET uninstall)
|
||||||
|
diff -Naur a/crypto/conf/conf_mod.c b/crypto/conf/conf_mod.c
|
||||||
|
--- a/crypto/conf/conf_mod.c 2024-09-25 09:30:06.000000000 +0600
|
||||||
|
+++ b/crypto/conf/conf_mod.c 2025-01-09 22:22:06.849337107 +0600
|
||||||
|
@@ -485,7 +485,7 @@
|
||||||
{
|
{
|
||||||
char *file = NULL;
|
char *file = NULL;
|
||||||
|
|
||||||
@ -82,9 +34,9 @@ diff -Naur libressl-3.8.1-orig/crypto/conf/conf_mod.c libressl-3.8.1/crypto/conf
|
|||||||
X509_get_default_cert_area()) == -1)
|
X509_get_default_cert_area()) == -1)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
return file;
|
return file;
|
||||||
diff -Naur libressl-3.8.1-orig/libressl.cnf libressl-3.8.1/libressl.cnf
|
diff -Naur a/libressl.cnf b/libressl.cnf
|
||||||
--- libressl-3.8.1-orig/libressl.cnf 1970-01-01 06:00:00.000000000 +0600
|
--- a/libressl.cnf 1970-01-01 06:00:00.000000000 +0600
|
||||||
+++ libressl-3.8.1/libressl.cnf 2023-07-05 14:08:27.000000000 +0600
|
+++ b/libressl.cnf 2023-07-05 14:08:27.000000000 +0600
|
||||||
@@ -0,0 +1,24 @@
|
@@ -0,0 +1,24 @@
|
||||||
+[ req ]
|
+[ req ]
|
||||||
+#default_bits = 2048
|
+#default_bits = 2048
|
||||||
@ -110,9 +62,823 @@ diff -Naur libressl-3.8.1-orig/libressl.cnf libressl-3.8.1/libressl.cnf
|
|||||||
+challengePassword = A challenge password
|
+challengePassword = A challenge password
|
||||||
+challengePassword_min = 4
|
+challengePassword_min = 4
|
||||||
+challengePassword_max = 20
|
+challengePassword_max = 20
|
||||||
diff -Naur libressl-3.8.1-orig/openssl.cnf libressl-3.8.1/openssl.cnf
|
diff -Naur a/Makefile.am b/Makefile.am
|
||||||
--- libressl-3.8.1-orig/openssl.cnf 2023-07-05 14:08:27.000000000 +0600
|
--- a/Makefile.am 2024-05-28 19:25:41.000000000 +0600
|
||||||
+++ libressl-3.8.1/openssl.cnf 1970-01-01 06:00:00.000000000 +0600
|
+++ b/Makefile.am 2025-01-09 22:23:13.342877490 +0600
|
||||||
|
@@ -12,7 +12,7 @@
|
||||||
|
|
||||||
|
EXTRA_DIST = README.md README.mingw.md VERSION config scripts
|
||||||
|
EXTRA_DIST += CMakeLists.txt cmake_export_symbol.cmake cmake_uninstall.cmake.in FindLibreSSL.cmake LibreSSLConfig.cmake.in
|
||||||
|
-EXTRA_DIST += cert.pem openssl.cnf x509v3.cnf
|
||||||
|
+EXTRA_DIST += cert.pem libressl.cnf x509v3.cnf
|
||||||
|
|
||||||
|
.PHONY: install_sw
|
||||||
|
install_sw: install
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \
|
||||||
|
fi; \
|
||||||
|
mkdir -p "$$OPENSSLDIR/certs"; \
|
||||||
|
- for i in cert.pem openssl.cnf x509v3.cnf; do \
|
||||||
|
+ for i in cert.pem libressl.cnf x509v3.cnf; do \
|
||||||
|
if [ ! -f "$$OPENSSLDIR/$i" ]; then \
|
||||||
|
$(INSTALL) -m 644 "$(srcdir)/$$i" "$$OPENSSLDIR/$$i"; \
|
||||||
|
else \
|
||||||
|
@@ -38,7 +38,7 @@
|
||||||
|
else \
|
||||||
|
OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \
|
||||||
|
fi; \
|
||||||
|
- for i in cert.pem openssl.cnf x509v3.cnf; do \
|
||||||
|
+ for i in cert.pem libressl.cnf x509v3.cnf; do \
|
||||||
|
if cmp -s "$$OPENSSLDIR/$$i" "$(srcdir)/$$i"; then \
|
||||||
|
rm -f "$$OPENSSLDIR/$$i"; \
|
||||||
|
fi \
|
||||||
|
diff -Naur a/Makefile.in b/Makefile.in
|
||||||
|
--- a/Makefile.in 2024-10-14 10:53:04.000000000 +0600
|
||||||
|
+++ b/Makefile.in 2025-01-09 22:25:23.906975003 +0600
|
||||||
|
@@ -374,7 +374,7 @@
|
||||||
|
EXTRA_DIST = README.md README.mingw.md VERSION config scripts \
|
||||||
|
CMakeLists.txt cmake_export_symbol.cmake \
|
||||||
|
cmake_uninstall.cmake.in FindLibreSSL.cmake \
|
||||||
|
- LibreSSLConfig.cmake.in cert.pem openssl.cnf x509v3.cnf
|
||||||
|
+ LibreSSLConfig.cmake.in cert.pem libressl.cnf x509v3.cnf
|
||||||
|
all: all-recursive
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
@@ -895,7 +895,7 @@
|
||||||
|
OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \
|
||||||
|
fi; \
|
||||||
|
mkdir -p "$$OPENSSLDIR/certs"; \
|
||||||
|
- for i in cert.pem openssl.cnf x509v3.cnf; do \
|
||||||
|
+ for i in cert.pem libressl.cnf x509v3.cnf; do \
|
||||||
|
if [ ! -f "$$OPENSSLDIR/$i" ]; then \
|
||||||
|
$(INSTALL) -m 644 "$(srcdir)/$$i" "$$OPENSSLDIR/$$i"; \
|
||||||
|
else \
|
||||||
|
@@ -909,7 +909,7 @@
|
||||||
|
else \
|
||||||
|
OPENSSLDIR="$(DESTDIR)$(sysconfdir)/ssl"; \
|
||||||
|
fi; \
|
||||||
|
- for i in cert.pem openssl.cnf x509v3.cnf; do \
|
||||||
|
+ for i in cert.pem libressl.cnf x509v3.cnf; do \
|
||||||
|
if cmp -s "$$OPENSSLDIR/$$i" "$(srcdir)/$$i"; then \
|
||||||
|
rm -f "$$OPENSSLDIR/$$i"; \
|
||||||
|
fi \
|
||||||
|
diff -Naur a/man/libressl.cnf.5 b/man/libressl.cnf.5
|
||||||
|
--- a/man/libressl.cnf.5 1970-01-01 06:00:00.000000000 +0600
|
||||||
|
+++ b/man/libressl.cnf.5 2025-01-09 22:33:23.437663998 +0600
|
||||||
|
@@ -0,0 +1,361 @@
|
||||||
|
+.\" $OpenBSD: openssl.cnf.5,v 1.11 2024/07/08 15:02:28 jmc Exp $
|
||||||
|
+.\" full merge up to: OpenSSL man5/config b53338cb Feb 28 12:30:28 2017 +0100
|
||||||
|
+.\" selective merge up to: OpenSSL a8c5ed81 Jul 18 13:57:25 2017 -0400
|
||||||
|
+.\"
|
||||||
|
+.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
|
||||||
|
+.\" Copyright (c) 1999, 2000, 2004, 2013, 2015, 2016, 2017 The OpenSSL Project.
|
||||||
|
+.\" All rights reserved.
|
||||||
|
+.\"
|
||||||
|
+.\" Redistribution and use in source and binary forms, with or without
|
||||||
|
+.\" modification, are permitted provided that the following conditions
|
||||||
|
+.\" are met:
|
||||||
|
+.\"
|
||||||
|
+.\" 1. Redistributions of source code must retain the above copyright
|
||||||
|
+.\" notice, this list of conditions and the following disclaimer.
|
||||||
|
+.\"
|
||||||
|
+.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
+.\" notice, this list of conditions and the following disclaimer in
|
||||||
|
+.\" the documentation and/or other materials provided with the
|
||||||
|
+.\" distribution.
|
||||||
|
+.\"
|
||||||
|
+.\" 3. All advertising materials mentioning features or use of this
|
||||||
|
+.\" software must display the following acknowledgment:
|
||||||
|
+.\" "This product includes software developed by the OpenSSL Project
|
||||||
|
+.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
+.\"
|
||||||
|
+.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
+.\" endorse or promote products derived from this software without
|
||||||
|
+.\" prior written permission. For written permission, please contact
|
||||||
|
+.\" openssl-core@openssl.org.
|
||||||
|
+.\"
|
||||||
|
+.\" 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
+.\" nor may "OpenSSL" appear in their names without prior written
|
||||||
|
+.\" permission of the OpenSSL Project.
|
||||||
|
+.\"
|
||||||
|
+.\" 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
+.\" acknowledgment:
|
||||||
|
+.\" "This product includes software developed by the OpenSSL Project
|
||||||
|
+.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
+.\"
|
||||||
|
+.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
+.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
+.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
+.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
+.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
+.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
+.\" OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
+.\"
|
||||||
|
+.Dd $Mdocdate: July 8 2024 $
|
||||||
|
+.Dt OPENSSL.CNF 5
|
||||||
|
+.Os
|
||||||
|
+.Sh NAME
|
||||||
|
+.Nm libressl.cnf
|
||||||
|
+.Nd OpenSSL configuration files
|
||||||
|
+.Sh DESCRIPTION
|
||||||
|
+The OpenSSL CONF library can be used to read configuration files; see
|
||||||
|
+.Xr CONF_modules_load_file 3 .
|
||||||
|
+It is used for the OpenSSL master configuration file
|
||||||
|
+.Pa /etc/pki/tls/libressl.cnf
|
||||||
|
+and in a few other places such as certificate extension files for the
|
||||||
|
+.Xr openssl 1
|
||||||
|
+.Cm x509
|
||||||
|
+utility.
|
||||||
|
+OpenSSL applications can also use the CONF library for their own
|
||||||
|
+purposes.
|
||||||
|
+.Pp
|
||||||
|
+A configuration file is divided into a number of sections.
|
||||||
|
+Each section starts with a line
|
||||||
|
+.Bq Ar section_name
|
||||||
|
+and ends when a new section is started or the end of the file is reached.
|
||||||
|
+A section name can consist of alphanumeric characters and underscores.
|
||||||
|
+.Pp
|
||||||
|
+The first section of a configuration file is special and is referred to
|
||||||
|
+as the
|
||||||
|
+.Dq default section .
|
||||||
|
+It is usually unnamed and extends from the start of file to the
|
||||||
|
+first named section.
|
||||||
|
+When a name is being looked up, it is first looked up in a named
|
||||||
|
+section (if any) and then in the default section.
|
||||||
|
+.Pp
|
||||||
|
+The environment is mapped onto a section called
|
||||||
|
+.Ic ENV .
|
||||||
|
+.Pp
|
||||||
|
+Comments can be included by preceding them with the
|
||||||
|
+.Ql #
|
||||||
|
+character.
|
||||||
|
+.Pp
|
||||||
|
+Each section in a configuration file consists of a number of name and
|
||||||
|
+value pairs of the form
|
||||||
|
+.Ar name Ns = Ns Ar value .
|
||||||
|
+.Pp
|
||||||
|
+The
|
||||||
|
+.Ar name
|
||||||
|
+string can contain any alphanumeric characters as well as a few
|
||||||
|
+punctuation symbols such as
|
||||||
|
+.Ql \&.
|
||||||
|
+.Ql \&,
|
||||||
|
+.Ql \&;
|
||||||
|
+and
|
||||||
|
+.Ql _ .
|
||||||
|
+.Pp
|
||||||
|
+The
|
||||||
|
+.Ar value
|
||||||
|
+string consists of the string following the
|
||||||
|
+.Ql =
|
||||||
|
+character until the end of the line with any leading and trailing
|
||||||
|
+whitespace removed.
|
||||||
|
+.Pp
|
||||||
|
+The value string undergoes variable expansion.
|
||||||
|
+This can be done by including substrings of the form
|
||||||
|
+.Pf $ Ar name
|
||||||
|
+or
|
||||||
|
+.Pf $ Brq Ar name :
|
||||||
|
+this will substitute the value of the named variable in the current
|
||||||
|
+section.
|
||||||
|
+It is also possible to substitute a value from another section using the
|
||||||
|
+syntax
|
||||||
|
+.Pf $ Ar section Ns :: Ns Ar name
|
||||||
|
+or
|
||||||
|
+.Pf $ Brq Ar section Ns :: Ns Ar name .
|
||||||
|
+By using the form
|
||||||
|
+.Pf $ Ic ENV Ns :: Ns Ar name ,
|
||||||
|
+environment variables can be substituted.
|
||||||
|
+It is also possible to assign values to environment variables by using
|
||||||
|
+the name
|
||||||
|
+.Ic ENV Ns :: Ns Ar name .
|
||||||
|
+This will work if the program looks up environment variables using
|
||||||
|
+the CONF library instead of calling
|
||||||
|
+.Xr getenv 3
|
||||||
|
+directly.
|
||||||
|
+The value string must not exceed 64k in length after variable expansion or an
|
||||||
|
+error will occur.
|
||||||
|
+.Pp
|
||||||
|
+It is possible to escape certain characters by using any kind of quote
|
||||||
|
+or the
|
||||||
|
+.Ql \e
|
||||||
|
+character.
|
||||||
|
+By making the last character of a line a
|
||||||
|
+.Ql \e ,
|
||||||
|
+a
|
||||||
|
+.Ar value
|
||||||
|
+string can be spread across multiple lines.
|
||||||
|
+In addition the sequences
|
||||||
|
+.Ql \en ,
|
||||||
|
+.Ql \er ,
|
||||||
|
+.Ql \eb ,
|
||||||
|
+and
|
||||||
|
+.Ql \et
|
||||||
|
+are recognized.
|
||||||
|
+.Sh OPENSSL LIBRARY CONFIGURATION
|
||||||
|
+Applications can automatically configure certain aspects of OpenSSL
|
||||||
|
+using the master OpenSSL configuration file, or optionally an
|
||||||
|
+alternative configuration file.
|
||||||
|
+The
|
||||||
|
+.Xr openssl 1
|
||||||
|
+utility includes this functionality: any sub command uses the master
|
||||||
|
+OpenSSL configuration file unless an option is used in the sub command
|
||||||
|
+to use an alternative configuration file.
|
||||||
|
+.Pp
|
||||||
|
+To enable library configuration, the default section needs to contain
|
||||||
|
+an appropriate line which points to the main configuration section.
|
||||||
|
+The default name is
|
||||||
|
+.Ic openssl_conf ,
|
||||||
|
+which is used by the
|
||||||
|
+.Xr openssl 1
|
||||||
|
+utility.
|
||||||
|
+Other applications may use an alternative name such as
|
||||||
|
+.Sy myapplication_conf .
|
||||||
|
+All library configuration lines appear in the default section
|
||||||
|
+at the start of the configuration file.
|
||||||
|
+.Pp
|
||||||
|
+The configuration section should consist of a set of name value pairs
|
||||||
|
+which contain specific module configuration information.
|
||||||
|
+The
|
||||||
|
+.Ar name
|
||||||
|
+represents the name of the configuration module.
|
||||||
|
+The meaning of the
|
||||||
|
+.Ar value
|
||||||
|
+is module specific: it may, for example, represent a further
|
||||||
|
+configuration section containing configuration module specific
|
||||||
|
+information.
|
||||||
|
+For example:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+# The following line must be in the default section.
|
||||||
|
+openssl_conf = openssl_init
|
||||||
|
+
|
||||||
|
+[openssl_init]
|
||||||
|
+oid_section = new_oids
|
||||||
|
+
|
||||||
|
+[new_oids]
|
||||||
|
+\&... new oids here ...
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
+The features of each configuration module are described below.
|
||||||
|
+.Ss ASN1 Object Configuration Module
|
||||||
|
+This module has the name
|
||||||
|
+.Ic oid_section .
|
||||||
|
+The value of this variable points to a section containing name value
|
||||||
|
+pairs of OIDs: the name is the OID short and long name, and the value is the
|
||||||
|
+numerical form of the OID.
|
||||||
|
+Although some of the
|
||||||
|
+.Xr openssl 1
|
||||||
|
+utility subcommands already have their own ASN1 OBJECT section
|
||||||
|
+functionality, not all do.
|
||||||
|
+By using the ASN1 OBJECT configuration module, all the
|
||||||
|
+.Xr openssl 1
|
||||||
|
+utility subcommands can see the new objects as well as any compliant
|
||||||
|
+applications.
|
||||||
|
+For example:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+[new_oids]
|
||||||
|
+some_new_oid = 1.2.3.4
|
||||||
|
+some_other_oid = 1.2.3.5
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
+It is also possible to set the value to the long name followed by a
|
||||||
|
+comma and the numerical OID form.
|
||||||
|
+For example:
|
||||||
|
+.Pp
|
||||||
|
+.Dl shortName = some object long name, 1.2.3.4
|
||||||
|
+.Sh FILES
|
||||||
|
+.Bl -tag -width /etc/pki/tls/libressl.cnf -compact
|
||||||
|
+.It Pa /etc/pki/tls/libressl.cnf
|
||||||
|
+standard configuration file
|
||||||
|
+.El
|
||||||
|
+.Sh EXAMPLES
|
||||||
|
+Here is a sample configuration file using some of the features
|
||||||
|
+mentioned above:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+# This is the default section.
|
||||||
|
+HOME=/temp
|
||||||
|
+RANDFILE= ${ENV::HOME}/.rnd
|
||||||
|
+configdir=$ENV::HOME/config
|
||||||
|
+
|
||||||
|
+[ section_one ]
|
||||||
|
+# We are now in section one.
|
||||||
|
+
|
||||||
|
+# Quotes permit leading and trailing whitespace
|
||||||
|
+any = " any variable name "
|
||||||
|
+
|
||||||
|
+other = A string that can \e
|
||||||
|
+cover several lines \e
|
||||||
|
+by including \e\e characters
|
||||||
|
+
|
||||||
|
+message = Hello World\en
|
||||||
|
+
|
||||||
|
+[ section_two ]
|
||||||
|
+greeting = $section_one::message
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
+This next example shows how to expand environment variables safely.
|
||||||
|
+.Pp
|
||||||
|
+Suppose you want a variable called
|
||||||
|
+.Sy tmpfile
|
||||||
|
+to refer to a temporary filename.
|
||||||
|
+The directory it is placed in can determined by the
|
||||||
|
+.Ev TEMP
|
||||||
|
+or
|
||||||
|
+.Ev TMP
|
||||||
|
+environment variables but they may not be set to any value at all.
|
||||||
|
+If you just include the environment variable names and the variable
|
||||||
|
+doesn't exist then this will cause an error when an attempt is made to
|
||||||
|
+load the configuration file.
|
||||||
|
+By making use of the default section both values can be looked up with
|
||||||
|
+.Ev TEMP
|
||||||
|
+taking priority and
|
||||||
|
+.Pa /tmp
|
||||||
|
+used if neither is defined:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+TMP=/tmp
|
||||||
|
+# The above value is used if TMP isn't in the environment
|
||||||
|
+TEMP=$ENV::TMP
|
||||||
|
+# The above value is used if TEMP isn't in the environment
|
||||||
|
+tmpfile=${ENV::TEMP}/tmp.filename
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
+More complex OpenSSL library configuration.
|
||||||
|
+Add OID:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+# Default appname: should match "appname" parameter (if any)
|
||||||
|
+# supplied to CONF_modules_load_file et al.
|
||||||
|
+openssl_conf = openssl_conf_section
|
||||||
|
+
|
||||||
|
+[openssl_conf_section]
|
||||||
|
+# Configuration module list
|
||||||
|
+oid_section = new_oids
|
||||||
|
+
|
||||||
|
+[new_oids]
|
||||||
|
+# New OID, just short name
|
||||||
|
+newoid1 = 1.2.3.4.1
|
||||||
|
+# New OID shortname and long name
|
||||||
|
+newoid2 = New OID 2 long name, 1.2.3.4.2
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
+The above examples can be used with any application supporting library
|
||||||
|
+configuration if "openssl_conf" is modified to match the appropriate
|
||||||
|
+"appname".
|
||||||
|
+.Pp
|
||||||
|
+For example if the second sample file above is saved to "example.cnf"
|
||||||
|
+then the command line:
|
||||||
|
+.Pp
|
||||||
|
+.Dl OPENSSL_CONF=example.cnf openssl asn1parse -genstr OID:1.2.3.4.1
|
||||||
|
+.Pp
|
||||||
|
+will output:
|
||||||
|
+.Dl 0:d=0 hl=2 l= 4 prim: OBJECT :newoid1
|
||||||
|
+.Pp
|
||||||
|
+showing that the OID "newoid1" has been added as "1.2.3.4.1".
|
||||||
|
+.Sh SEE ALSO
|
||||||
|
+.Xr openssl 1 ,
|
||||||
|
+.Xr CONF_modules_load_file 3 ,
|
||||||
|
+.Xr OPENSSL_config 3 ,
|
||||||
|
+.Xr x509v3.cnf 5
|
||||||
|
+.Sh CAVEATS
|
||||||
|
+If a configuration file attempts to expand a variable that doesn't
|
||||||
|
+exist, then an error is flagged and the file will not load.
|
||||||
|
+This can also happen if an attempt is made to expand an environment
|
||||||
|
+variable that doesn't exist.
|
||||||
|
+For example, in a previous version of OpenSSL the default OpenSSL
|
||||||
|
+master configuration file used the value of
|
||||||
|
+.Ev HOME
|
||||||
|
+which may not be defined on non Unix systems and would cause an error.
|
||||||
|
+.Pp
|
||||||
|
+This can be worked around by including a default section to provide
|
||||||
|
+a default value: then if the environment lookup fails, the default
|
||||||
|
+value will be used instead.
|
||||||
|
+For this to work properly, the default value must be defined earlier
|
||||||
|
+in the configuration file than the expansion.
|
||||||
|
+See the
|
||||||
|
+.Sx EXAMPLES
|
||||||
|
+section for an example of how to do this.
|
||||||
|
+.Pp
|
||||||
|
+If the same variable is defined more than once in the same section,
|
||||||
|
+then all but the last value will be silently ignored.
|
||||||
|
+In certain circumstances such as with DNs, the same field may occur
|
||||||
|
+multiple times.
|
||||||
|
+This is usually worked around by ignoring any characters before an
|
||||||
|
+initial
|
||||||
|
+.Ql \&. ,
|
||||||
|
+for example:
|
||||||
|
+.Bd -literal -offset indent
|
||||||
|
+1.OU="My first OU"
|
||||||
|
+2.OU="My Second OU"
|
||||||
|
+.Ed
|
||||||
|
+.Sh BUGS
|
||||||
|
+Currently there is no way to include characters using the octal
|
||||||
|
+.Pf \e Ar nnn
|
||||||
|
+form.
|
||||||
|
+Strings are all NUL terminated, so NUL bytes cannot form part of
|
||||||
|
+the value.
|
||||||
|
+.Pp
|
||||||
|
+The escaping isn't quite right: if you want to use sequences like
|
||||||
|
+.Ql \en ,
|
||||||
|
+you can't use any quote escaping on the same line.
|
||||||
|
+.Pp
|
||||||
|
+Files are loaded in a single pass.
|
||||||
|
+This means that a variable expansion will only work if the variables
|
||||||
|
+referenced are defined earlier in the file.
|
||||||
|
diff -Naur a/man/Makefile.am b/man/Makefile.am
|
||||||
|
--- a/man/Makefile.am 2024-10-14 10:52:54.000000000 +0600
|
||||||
|
+++ b/man/Makefile.am 2025-01-09 22:30:29.135866729 +0600
|
||||||
|
@@ -561,7 +561,7 @@
|
||||||
|
dist_man3_MANS += tls_load_file.3
|
||||||
|
dist_man3_MANS += tls_ocsp_process_response.3
|
||||||
|
dist_man3_MANS += tls_read.3
|
||||||
|
-dist_man5_MANS += openssl.cnf.5
|
||||||
|
+dist_man5_MANS += libressl.cnf.5
|
||||||
|
dist_man5_MANS += x509v3.cnf.5
|
||||||
|
install-data-hook:
|
||||||
|
ln -sf "ACCESS_DESCRIPTION_new.3" "$(DESTDIR)$(mandir)/man3/ACCESS_DESCRIPTION_free.3"
|
||||||
|
diff -Naur a/man/Makefile.in b/man/Makefile.in
|
||||||
|
--- a/man/Makefile.in 2024-10-14 10:53:07.000000000 +0600
|
||||||
|
+++ b/man/Makefile.in 2025-01-09 22:30:39.821792993 +0600
|
||||||
|
@@ -686,7 +686,7 @@
|
||||||
|
@ENABLE_LIBTLS_ONLY_FALSE@ tls_init.3 tls_load_file.3 \
|
||||||
|
@ENABLE_LIBTLS_ONLY_FALSE@ tls_ocsp_process_response.3 \
|
||||||
|
@ENABLE_LIBTLS_ONLY_FALSE@ tls_read.3
|
||||||
|
-@ENABLE_LIBTLS_ONLY_FALSE@dist_man5_MANS = openssl.cnf.5 x509v3.cnf.5
|
||||||
|
+@ENABLE_LIBTLS_ONLY_FALSE@dist_man5_MANS = libressl.cnf.5 x509v3.cnf.5
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
diff -Naur a/man/openssl.cnf.5 b/man/openssl.cnf.5
|
||||||
|
--- a/man/openssl.cnf.5 2024-09-25 09:30:06.000000000 +0600
|
||||||
|
+++ b/man/openssl.cnf.5 1970-01-01 06:00:00.000000000 +0600
|
||||||
|
@@ -1,361 +0,0 @@
|
||||||
|
-.\" $OpenBSD: openssl.cnf.5,v 1.11 2024/07/08 15:02:28 jmc Exp $
|
||||||
|
-.\" full merge up to: OpenSSL man5/config b53338cb Feb 28 12:30:28 2017 +0100
|
||||||
|
-.\" selective merge up to: OpenSSL a8c5ed81 Jul 18 13:57:25 2017 -0400
|
||||||
|
-.\"
|
||||||
|
-.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
|
||||||
|
-.\" Copyright (c) 1999, 2000, 2004, 2013, 2015, 2016, 2017 The OpenSSL Project.
|
||||||
|
-.\" All rights reserved.
|
||||||
|
-.\"
|
||||||
|
-.\" Redistribution and use in source and binary forms, with or without
|
||||||
|
-.\" modification, are permitted provided that the following conditions
|
||||||
|
-.\" are met:
|
||||||
|
-.\"
|
||||||
|
-.\" 1. Redistributions of source code must retain the above copyright
|
||||||
|
-.\" notice, this list of conditions and the following disclaimer.
|
||||||
|
-.\"
|
||||||
|
-.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
-.\" notice, this list of conditions and the following disclaimer in
|
||||||
|
-.\" the documentation and/or other materials provided with the
|
||||||
|
-.\" distribution.
|
||||||
|
-.\"
|
||||||
|
-.\" 3. All advertising materials mentioning features or use of this
|
||||||
|
-.\" software must display the following acknowledgment:
|
||||||
|
-.\" "This product includes software developed by the OpenSSL Project
|
||||||
|
-.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
-.\"
|
||||||
|
-.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
-.\" endorse or promote products derived from this software without
|
||||||
|
-.\" prior written permission. For written permission, please contact
|
||||||
|
-.\" openssl-core@openssl.org.
|
||||||
|
-.\"
|
||||||
|
-.\" 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
-.\" nor may "OpenSSL" appear in their names without prior written
|
||||||
|
-.\" permission of the OpenSSL Project.
|
||||||
|
-.\"
|
||||||
|
-.\" 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
-.\" acknowledgment:
|
||||||
|
-.\" "This product includes software developed by the OpenSSL Project
|
||||||
|
-.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
-.\"
|
||||||
|
-.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
-.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
-.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
-.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
-.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
-.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
-.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
-.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
-.\" OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
-.\"
|
||||||
|
-.Dd $Mdocdate: July 8 2024 $
|
||||||
|
-.Dt OPENSSL.CNF 5
|
||||||
|
-.Os
|
||||||
|
-.Sh NAME
|
||||||
|
-.Nm openssl.cnf
|
||||||
|
-.Nd OpenSSL configuration files
|
||||||
|
-.Sh DESCRIPTION
|
||||||
|
-The OpenSSL CONF library can be used to read configuration files; see
|
||||||
|
-.Xr CONF_modules_load_file 3 .
|
||||||
|
-It is used for the OpenSSL master configuration file
|
||||||
|
-.Pa /etc/ssl/openssl.cnf
|
||||||
|
-and in a few other places such as certificate extension files for the
|
||||||
|
-.Xr openssl 1
|
||||||
|
-.Cm x509
|
||||||
|
-utility.
|
||||||
|
-OpenSSL applications can also use the CONF library for their own
|
||||||
|
-purposes.
|
||||||
|
-.Pp
|
||||||
|
-A configuration file is divided into a number of sections.
|
||||||
|
-Each section starts with a line
|
||||||
|
-.Bq Ar section_name
|
||||||
|
-and ends when a new section is started or the end of the file is reached.
|
||||||
|
-A section name can consist of alphanumeric characters and underscores.
|
||||||
|
-.Pp
|
||||||
|
-The first section of a configuration file is special and is referred to
|
||||||
|
-as the
|
||||||
|
-.Dq default section .
|
||||||
|
-It is usually unnamed and extends from the start of file to the
|
||||||
|
-first named section.
|
||||||
|
-When a name is being looked up, it is first looked up in a named
|
||||||
|
-section (if any) and then in the default section.
|
||||||
|
-.Pp
|
||||||
|
-The environment is mapped onto a section called
|
||||||
|
-.Ic ENV .
|
||||||
|
-.Pp
|
||||||
|
-Comments can be included by preceding them with the
|
||||||
|
-.Ql #
|
||||||
|
-character.
|
||||||
|
-.Pp
|
||||||
|
-Each section in a configuration file consists of a number of name and
|
||||||
|
-value pairs of the form
|
||||||
|
-.Ar name Ns = Ns Ar value .
|
||||||
|
-.Pp
|
||||||
|
-The
|
||||||
|
-.Ar name
|
||||||
|
-string can contain any alphanumeric characters as well as a few
|
||||||
|
-punctuation symbols such as
|
||||||
|
-.Ql \&.
|
||||||
|
-.Ql \&,
|
||||||
|
-.Ql \&;
|
||||||
|
-and
|
||||||
|
-.Ql _ .
|
||||||
|
-.Pp
|
||||||
|
-The
|
||||||
|
-.Ar value
|
||||||
|
-string consists of the string following the
|
||||||
|
-.Ql =
|
||||||
|
-character until the end of the line with any leading and trailing
|
||||||
|
-whitespace removed.
|
||||||
|
-.Pp
|
||||||
|
-The value string undergoes variable expansion.
|
||||||
|
-This can be done by including substrings of the form
|
||||||
|
-.Pf $ Ar name
|
||||||
|
-or
|
||||||
|
-.Pf $ Brq Ar name :
|
||||||
|
-this will substitute the value of the named variable in the current
|
||||||
|
-section.
|
||||||
|
-It is also possible to substitute a value from another section using the
|
||||||
|
-syntax
|
||||||
|
-.Pf $ Ar section Ns :: Ns Ar name
|
||||||
|
-or
|
||||||
|
-.Pf $ Brq Ar section Ns :: Ns Ar name .
|
||||||
|
-By using the form
|
||||||
|
-.Pf $ Ic ENV Ns :: Ns Ar name ,
|
||||||
|
-environment variables can be substituted.
|
||||||
|
-It is also possible to assign values to environment variables by using
|
||||||
|
-the name
|
||||||
|
-.Ic ENV Ns :: Ns Ar name .
|
||||||
|
-This will work if the program looks up environment variables using
|
||||||
|
-the CONF library instead of calling
|
||||||
|
-.Xr getenv 3
|
||||||
|
-directly.
|
||||||
|
-The value string must not exceed 64k in length after variable expansion or an
|
||||||
|
-error will occur.
|
||||||
|
-.Pp
|
||||||
|
-It is possible to escape certain characters by using any kind of quote
|
||||||
|
-or the
|
||||||
|
-.Ql \e
|
||||||
|
-character.
|
||||||
|
-By making the last character of a line a
|
||||||
|
-.Ql \e ,
|
||||||
|
-a
|
||||||
|
-.Ar value
|
||||||
|
-string can be spread across multiple lines.
|
||||||
|
-In addition the sequences
|
||||||
|
-.Ql \en ,
|
||||||
|
-.Ql \er ,
|
||||||
|
-.Ql \eb ,
|
||||||
|
-and
|
||||||
|
-.Ql \et
|
||||||
|
-are recognized.
|
||||||
|
-.Sh OPENSSL LIBRARY CONFIGURATION
|
||||||
|
-Applications can automatically configure certain aspects of OpenSSL
|
||||||
|
-using the master OpenSSL configuration file, or optionally an
|
||||||
|
-alternative configuration file.
|
||||||
|
-The
|
||||||
|
-.Xr openssl 1
|
||||||
|
-utility includes this functionality: any sub command uses the master
|
||||||
|
-OpenSSL configuration file unless an option is used in the sub command
|
||||||
|
-to use an alternative configuration file.
|
||||||
|
-.Pp
|
||||||
|
-To enable library configuration, the default section needs to contain
|
||||||
|
-an appropriate line which points to the main configuration section.
|
||||||
|
-The default name is
|
||||||
|
-.Ic openssl_conf ,
|
||||||
|
-which is used by the
|
||||||
|
-.Xr openssl 1
|
||||||
|
-utility.
|
||||||
|
-Other applications may use an alternative name such as
|
||||||
|
-.Sy myapplication_conf .
|
||||||
|
-All library configuration lines appear in the default section
|
||||||
|
-at the start of the configuration file.
|
||||||
|
-.Pp
|
||||||
|
-The configuration section should consist of a set of name value pairs
|
||||||
|
-which contain specific module configuration information.
|
||||||
|
-The
|
||||||
|
-.Ar name
|
||||||
|
-represents the name of the configuration module.
|
||||||
|
-The meaning of the
|
||||||
|
-.Ar value
|
||||||
|
-is module specific: it may, for example, represent a further
|
||||||
|
-configuration section containing configuration module specific
|
||||||
|
-information.
|
||||||
|
-For example:
|
||||||
|
-.Bd -literal -offset indent
|
||||||
|
-# The following line must be in the default section.
|
||||||
|
-openssl_conf = openssl_init
|
||||||
|
-
|
||||||
|
-[openssl_init]
|
||||||
|
-oid_section = new_oids
|
||||||
|
-
|
||||||
|
-[new_oids]
|
||||||
|
-\&... new oids here ...
|
||||||
|
-.Ed
|
||||||
|
-.Pp
|
||||||
|
-The features of each configuration module are described below.
|
||||||
|
-.Ss ASN1 Object Configuration Module
|
||||||
|
-This module has the name
|
||||||
|
-.Ic oid_section .
|
||||||
|
-The value of this variable points to a section containing name value
|
||||||
|
-pairs of OIDs: the name is the OID short and long name, and the value is the
|
||||||
|
-numerical form of the OID.
|
||||||
|
-Although some of the
|
||||||
|
-.Xr openssl 1
|
||||||
|
-utility subcommands already have their own ASN1 OBJECT section
|
||||||
|
-functionality, not all do.
|
||||||
|
-By using the ASN1 OBJECT configuration module, all the
|
||||||
|
-.Xr openssl 1
|
||||||
|
-utility subcommands can see the new objects as well as any compliant
|
||||||
|
-applications.
|
||||||
|
-For example:
|
||||||
|
-.Bd -literal -offset indent
|
||||||
|
-[new_oids]
|
||||||
|
-some_new_oid = 1.2.3.4
|
||||||
|
-some_other_oid = 1.2.3.5
|
||||||
|
-.Ed
|
||||||
|
-.Pp
|
||||||
|
-It is also possible to set the value to the long name followed by a
|
||||||
|
-comma and the numerical OID form.
|
||||||
|
-For example:
|
||||||
|
-.Pp
|
||||||
|
-.Dl shortName = some object long name, 1.2.3.4
|
||||||
|
-.Sh FILES
|
||||||
|
-.Bl -tag -width /etc/ssl/openssl.cnf -compact
|
||||||
|
-.It Pa /etc/ssl/openssl.cnf
|
||||||
|
-standard configuration file
|
||||||
|
-.El
|
||||||
|
-.Sh EXAMPLES
|
||||||
|
-Here is a sample configuration file using some of the features
|
||||||
|
-mentioned above:
|
||||||
|
-.Bd -literal -offset indent
|
||||||
|
-# This is the default section.
|
||||||
|
-HOME=/temp
|
||||||
|
-RANDFILE= ${ENV::HOME}/.rnd
|
||||||
|
-configdir=$ENV::HOME/config
|
||||||
|
-
|
||||||
|
-[ section_one ]
|
||||||
|
-# We are now in section one.
|
||||||
|
-
|
||||||
|
-# Quotes permit leading and trailing whitespace
|
||||||
|
-any = " any variable name "
|
||||||
|
-
|
||||||
|
-other = A string that can \e
|
||||||
|
-cover several lines \e
|
||||||
|
-by including \e\e characters
|
||||||
|
-
|
||||||
|
-message = Hello World\en
|
||||||
|
-
|
||||||
|
-[ section_two ]
|
||||||
|
-greeting = $section_one::message
|
||||||
|
-.Ed
|
||||||
|
-.Pp
|
||||||
|
-This next example shows how to expand environment variables safely.
|
||||||
|
-.Pp
|
||||||
|
-Suppose you want a variable called
|
||||||
|
-.Sy tmpfile
|
||||||
|
-to refer to a temporary filename.
|
||||||
|
-The directory it is placed in can determined by the
|
||||||
|
-.Ev TEMP
|
||||||
|
-or
|
||||||
|
-.Ev TMP
|
||||||
|
-environment variables but they may not be set to any value at all.
|
||||||
|
-If you just include the environment variable names and the variable
|
||||||
|
-doesn't exist then this will cause an error when an attempt is made to
|
||||||
|
-load the configuration file.
|
||||||
|
-By making use of the default section both values can be looked up with
|
||||||
|
-.Ev TEMP
|
||||||
|
-taking priority and
|
||||||
|
-.Pa /tmp
|
||||||
|
-used if neither is defined:
|
||||||
|
-.Bd -literal -offset indent
|
||||||
|
-TMP=/tmp
|
||||||
|
-# The above value is used if TMP isn't in the environment
|
||||||
|
-TEMP=$ENV::TMP
|
||||||
|
-# The above value is used if TEMP isn't in the environment
|
||||||
|
-tmpfile=${ENV::TEMP}/tmp.filename
|
||||||
|
-.Ed
|
||||||
|
-.Pp
|
||||||
|
-More complex OpenSSL library configuration.
|
||||||
|
-Add OID:
|
||||||
|
-.Bd -literal -offset indent
|
||||||
|
-# Default appname: should match "appname" parameter (if any)
|
||||||
|
-# supplied to CONF_modules_load_file et al.
|
||||||
|
-openssl_conf = openssl_conf_section
|
||||||
|
-
|
||||||
|
-[openssl_conf_section]
|
||||||
|
-# Configuration module list
|
||||||
|
-oid_section = new_oids
|
||||||
|
-
|
||||||
|
-[new_oids]
|
||||||
|
-# New OID, just short name
|
||||||
|
-newoid1 = 1.2.3.4.1
|
||||||
|
-# New OID shortname and long name
|
||||||
|
-newoid2 = New OID 2 long name, 1.2.3.4.2
|
||||||
|
-.Ed
|
||||||
|
-.Pp
|
||||||
|
-The above examples can be used with any application supporting library
|
||||||
|
-configuration if "openssl_conf" is modified to match the appropriate
|
||||||
|
-"appname".
|
||||||
|
-.Pp
|
||||||
|
-For example if the second sample file above is saved to "example.cnf"
|
||||||
|
-then the command line:
|
||||||
|
-.Pp
|
||||||
|
-.Dl OPENSSL_CONF=example.cnf openssl asn1parse -genstr OID:1.2.3.4.1
|
||||||
|
-.Pp
|
||||||
|
-will output:
|
||||||
|
-.Dl 0:d=0 hl=2 l= 4 prim: OBJECT :newoid1
|
||||||
|
-.Pp
|
||||||
|
-showing that the OID "newoid1" has been added as "1.2.3.4.1".
|
||||||
|
-.Sh SEE ALSO
|
||||||
|
-.Xr openssl 1 ,
|
||||||
|
-.Xr CONF_modules_load_file 3 ,
|
||||||
|
-.Xr OPENSSL_config 3 ,
|
||||||
|
-.Xr x509v3.cnf 5
|
||||||
|
-.Sh CAVEATS
|
||||||
|
-If a configuration file attempts to expand a variable that doesn't
|
||||||
|
-exist, then an error is flagged and the file will not load.
|
||||||
|
-This can also happen if an attempt is made to expand an environment
|
||||||
|
-variable that doesn't exist.
|
||||||
|
-For example, in a previous version of OpenSSL the default OpenSSL
|
||||||
|
-master configuration file used the value of
|
||||||
|
-.Ev HOME
|
||||||
|
-which may not be defined on non Unix systems and would cause an error.
|
||||||
|
-.Pp
|
||||||
|
-This can be worked around by including a default section to provide
|
||||||
|
-a default value: then if the environment lookup fails, the default
|
||||||
|
-value will be used instead.
|
||||||
|
-For this to work properly, the default value must be defined earlier
|
||||||
|
-in the configuration file than the expansion.
|
||||||
|
-See the
|
||||||
|
-.Sx EXAMPLES
|
||||||
|
-section for an example of how to do this.
|
||||||
|
-.Pp
|
||||||
|
-If the same variable is defined more than once in the same section,
|
||||||
|
-then all but the last value will be silently ignored.
|
||||||
|
-In certain circumstances such as with DNs, the same field may occur
|
||||||
|
-multiple times.
|
||||||
|
-This is usually worked around by ignoring any characters before an
|
||||||
|
-initial
|
||||||
|
-.Ql \&. ,
|
||||||
|
-for example:
|
||||||
|
-.Bd -literal -offset indent
|
||||||
|
-1.OU="My first OU"
|
||||||
|
-2.OU="My Second OU"
|
||||||
|
-.Ed
|
||||||
|
-.Sh BUGS
|
||||||
|
-Currently there is no way to include characters using the octal
|
||||||
|
-.Pf \e Ar nnn
|
||||||
|
-form.
|
||||||
|
-Strings are all NUL terminated, so NUL bytes cannot form part of
|
||||||
|
-the value.
|
||||||
|
-.Pp
|
||||||
|
-The escaping isn't quite right: if you want to use sequences like
|
||||||
|
-.Ql \en ,
|
||||||
|
-you can't use any quote escaping on the same line.
|
||||||
|
-.Pp
|
||||||
|
-Files are loaded in a single pass.
|
||||||
|
-This means that a variable expansion will only work if the variables
|
||||||
|
-referenced are defined earlier in the file.
|
||||||
|
diff -Naur a/openssl.cnf b/openssl.cnf
|
||||||
|
--- a/openssl.cnf 2023-07-05 14:08:27.000000000 +0600
|
||||||
|
+++ b/openssl.cnf 1970-01-01 06:00:00.000000000 +0600
|
||||||
@@ -1,24 +0,0 @@
|
@@ -1,24 +0,0 @@
|
||||||
-[ req ]
|
-[ req ]
|
||||||
-#default_bits = 2048
|
-#default_bits = 2048
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
%global _hardened_build 1
|
%global _hardened_build 1
|
||||||
|
|
||||||
Name: libressl
|
Name: libressl
|
||||||
Version: 3.8.4
|
Version: 4.0.0
|
||||||
Release: 1%{dist}
|
Release: 1%{dist}
|
||||||
Summary: An SSL/TLS protocol implementation
|
Summary: An SSL/TLS protocol implementation
|
||||||
License: OpenSSL
|
License: OpenSSL
|
||||||
@ -29,6 +29,7 @@ Url: http://libressl.org/
|
|||||||
|
|
||||||
Source: http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/%{name}-%{version}.tar.gz
|
Source: http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/%{name}-%{version}.tar.gz
|
||||||
Patch1: libressl-rename-config-file.patch
|
Patch1: libressl-rename-config-file.patch
|
||||||
|
Patch2: libressl-cmake-rename-binaries.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
%if 0%{?rhel} == 7
|
%if 0%{?rhel} == 7
|
||||||
@ -36,13 +37,7 @@ BuildRequires: devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-build devtool
|
|||||||
%else
|
%else
|
||||||
BuildRequires: gcc gcc-c++
|
BuildRequires: gcc gcc-c++
|
||||||
%endif
|
%endif
|
||||||
%if %{?rhel} < 7
|
BuildRequires: cmake
|
||||||
BuildRequires: autoconf2.69
|
|
||||||
%else
|
|
||||||
BuildRequires: autoconf
|
|
||||||
%endif
|
|
||||||
BuildRequires: automake
|
|
||||||
BuildRequires: libtool
|
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
Requires: %{name}-libs = %{version}-%{release}
|
Requires: %{name}-libs = %{version}-%{release}
|
||||||
|
|
||||||
@ -86,9 +81,7 @@ applications that want to make use of libressl.
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}
|
%autosetup -p1 -n %{name}-%{version}
|
||||||
%patch1 -p1 -b .config
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if 0%{?rhel} == 7
|
%if 0%{?rhel} == 7
|
||||||
@ -96,22 +89,17 @@ applications that want to make use of libressl.
|
|||||||
%enable_devtoolset8
|
%enable_devtoolset8
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
autoreconf -vfi
|
%cmake \
|
||||||
|
-DCMAKE_INSTALL_LIBDIR=%{_libdir}/libressl \
|
||||||
|
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/libressl \
|
||||||
|
-DOPENSSLDIR=%{_ssldir} \
|
||||||
|
-DLIBRESSL_TESTS=OFF \
|
||||||
|
-DENABLE_NC=ON
|
||||||
|
|
||||||
# Some smart people broke disable-static
|
%cmake_build
|
||||||
%configure \
|
|
||||||
--with-openssldir=%{_ssldir} \
|
|
||||||
--libdir=%{_libdir}/libressl \
|
|
||||||
--includedir=%{_includedir}/libressl \
|
|
||||||
--program-suffix "-libre"
|
|
||||||
|
|
||||||
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
||||||
|
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
%cmake_install
|
||||||
|
|
||||||
rm -f %{buildroot}/etc/pki/tls/cert.pem
|
rm -f %{buildroot}/etc/pki/tls/cert.pem
|
||||||
rm -f %{buildroot}/%{_libdir}/libressl/*.a
|
rm -f %{buildroot}/%{_libdir}/libressl/*.a
|
||||||
@ -121,10 +109,12 @@ echo '%{_libdir}/libressl' > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/libressl.c
|
|||||||
find %{buildroot}/%{_libdir} -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod 755 {} +
|
find %{buildroot}/%{_libdir} -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod 755 {} +
|
||||||
|
|
||||||
mv %{buildroot}%{_libdir}/libressl/pkgconfig %{buildroot}%{_libdir}/pkgconfig
|
mv %{buildroot}%{_libdir}/libressl/pkgconfig %{buildroot}%{_libdir}/pkgconfig
|
||||||
|
mv %{buildroot}%{_libdir}/libressl/cmake %{buildroot}%{_libdir}/
|
||||||
pushd %{buildroot}%{_libdir}/libressl
|
pushd %{buildroot}%{_libdir}/libressl
|
||||||
for lib in ssl tls crypto
|
for lib in ssl tls crypto
|
||||||
do
|
do
|
||||||
ln -sf %{_libdir}/libressl/$(readlink lib${lib}.so) %{buildroot}%{_libdir}/lib${lib}.so
|
ln -sf %{_libdir}/libressl/$(readlink lib${lib}.so) %{buildroot}%{_libdir}/lib${lib}.so
|
||||||
|
rm -f %{buildroot}/%{_libdir}/libressl/lib${lib}.so
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
@ -135,7 +125,6 @@ done
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%config %{_sysconfdir}/ld.so.conf.d/libressl.conf
|
|
||||||
%{_bindir}/*-libre
|
%{_bindir}/*-libre
|
||||||
%{_mandir}/man1/*.1*
|
%{_mandir}/man1/*.1*
|
||||||
%{_mandir}/man5/*.*
|
%{_mandir}/man5/*.*
|
||||||
@ -143,9 +132,10 @@ done
|
|||||||
%doc COPYING VERSION README.md
|
%doc COPYING VERSION README.md
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
|
%config %{_sysconfdir}/ld.so.conf.d/libressl.conf
|
||||||
%attr(0644,root,root) %config(noreplace) %{_ssldir}/libressl.cnf
|
%attr(0644,root,root) %config(noreplace) %{_ssldir}/libressl.cnf
|
||||||
%attr(0644,root,root) %config(noreplace) %{_ssldir}/x509v3.cnf
|
%attr(0644,root,root) %config(noreplace) %{_ssldir}/x509v3.cnf
|
||||||
%{_libdir}/libressl/lib*.so*
|
%{_libdir}/libressl/lib*.so.*
|
||||||
%doc COPYING VERSION
|
%doc COPYING VERSION
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
@ -155,9 +145,13 @@ done
|
|||||||
%{_libdir}/libssl.so
|
%{_libdir}/libssl.so
|
||||||
%{_libdir}/libtls.so
|
%{_libdir}/libtls.so
|
||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%{_libdir}/cmake/LibreSSL/*.cmake
|
||||||
%{_mandir}/man3/*
|
%{_mandir}/man3/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 6 2025 Raven <raven@sysadmins.ws> - 4.0.0-1
|
||||||
|
- update to 4.0.0
|
||||||
|
|
||||||
* Thu Mar 28 2024 Raven <raven@sysadmins.ws> - 3.8.4-1
|
* Thu Mar 28 2024 Raven <raven@sysadmins.ws> - 3.8.4-1
|
||||||
- update to 3.8.4
|
- update to 3.8.4
|
||||||
|
|
||||||
|
@ -21,62 +21,62 @@ diff --git a/configure b/configure
|
|||||||
index a54398c57f..dd7607731f 100755
|
index a54398c57f..dd7607731f 100755
|
||||||
--- a/configure
|
--- a/configure
|
||||||
+++ b/configure
|
+++ b/configure
|
||||||
@@ -289,6 +289,7 @@ External library support:
|
@@ -294,6 +294,7 @@
|
||||||
--enable-libvorbis enable Vorbis en/decoding via libvorbis,
|
--enable-libvorbis enable Vorbis en/decoding via libvorbis,
|
||||||
native implementation exists [no]
|
native implementation exists [no]
|
||||||
--enable-libvpx enable VP8 and VP9 de/encoding via libvpx [no]
|
--enable-libvpx enable VP8 and VP9 de/encoding via libvpx [no]
|
||||||
+ --enable-libsvtvp9 enable VP9 encoding via svt [no]
|
+ --enable-libsvtvp9 enable VP9 encoding via svt [no]
|
||||||
|
--enable-libvvenc enable H.266/VVC encoding via vvenc [no]
|
||||||
--enable-libwebp enable WebP encoding via libwebp [no]
|
--enable-libwebp enable WebP encoding via libwebp [no]
|
||||||
--enable-libx264 enable H.264 encoding via x264 [no]
|
--enable-libx264 enable H.264 encoding via x264 [no]
|
||||||
--enable-libx265 enable HEVC encoding via x265 [no]
|
@@ -1972,6 +1972,7 @@
|
||||||
@@ -1848,6 +1849,7 @@ EXTERNAL_LIBRARY_LIST="
|
libvmaf
|
||||||
libshaderc
|
libvorbis
|
||||||
libshine
|
libvpx
|
||||||
libsmbclient
|
|
||||||
+ libsvtvp9
|
+ libsvtvp9
|
||||||
libsnappy
|
libvvenc
|
||||||
libsoxr
|
libwebp
|
||||||
libspeex
|
libxevd
|
||||||
@@ -3390,6 +3392,7 @@ libvpx_vp8_decoder_deps="libvpx"
|
@@ -3578,6 +3579,7 @@
|
||||||
libvpx_vp8_encoder_deps="libvpx"
|
libvpx_vp8_encoder_deps="libvpx"
|
||||||
libvpx_vp9_decoder_deps="libvpx"
|
libvpx_vp9_decoder_deps="libvpx"
|
||||||
libvpx_vp9_encoder_deps="libvpx"
|
libvpx_vp9_encoder_deps="libvpx"
|
||||||
+libsvt_vp9_encoder_deps="libsvtvp9"
|
+libsvt_vp9_encoder_deps="libsvtvp9"
|
||||||
|
libvvenc_encoder_deps="libvvenc"
|
||||||
libwebp_encoder_deps="libwebp"
|
libwebp_encoder_deps="libwebp"
|
||||||
libwebp_anim_encoder_deps="libwebp"
|
libwebp_anim_encoder_deps="libwebp"
|
||||||
libx262_encoder_deps="libx262"
|
@@ -7041,6 +7043,7 @@
|
||||||
@@ -6727,6 +6730,7 @@ enabled libvpx && {
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
+enabled libsvtvp9 && require_pkg_config libsvtvp9 SvtVp9Enc EbSvtVp9Enc.h eb_vp9_svt_init_handle
|
+enabled libsvtvp9 && require_pkg_config libsvtvp9 SvtVp9Enc EbSvtVp9Enc.h eb_vp9_svt_init_handle
|
||||||
|
enabled libvvenc && require_pkg_config libvvenc "libvvenc >= 1.6.1" "vvenc/vvenc.h" vvenc_get_version
|
||||||
enabled libwebp && {
|
enabled libwebp && {
|
||||||
enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
|
enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
|
||||||
enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; }
|
|
||||||
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
|
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
|
||||||
index 9c38240025..1984cb970c 100644
|
index 9c38240025..1984cb970c 100644
|
||||||
--- a/libavcodec/Makefile
|
--- a/libavcodec/Makefile
|
||||||
+++ b/libavcodec/Makefile
|
+++ b/libavcodec/Makefile
|
||||||
@@ -1128,6 +1128,7 @@ OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
|
@@ -1161,6 +1161,7 @@
|
||||||
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
|
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
|
||||||
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o
|
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o
|
||||||
OBJS-$(CONFIG_LIBVPX_VP9_ENCODER) += libvpxenc.o
|
OBJS-$(CONFIG_LIBVPX_VP9_ENCODER) += libvpxenc.o
|
||||||
+OBJS-$(CONFIG_LIBSVT_VP9_ENCODER) += libsvt_vp9.o
|
+OBJS-$(CONFIG_LIBSVT_VP9_ENCODER) += libsvt_vp9.o
|
||||||
|
OBJS-$(CONFIG_LIBVVENC_ENCODER) += libvvenc.o
|
||||||
OBJS-$(CONFIG_LIBWEBP_ENCODER) += libwebpenc_common.o libwebpenc.o
|
OBJS-$(CONFIG_LIBWEBP_ENCODER) += libwebpenc_common.o libwebpenc.o
|
||||||
OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_animencoder.o
|
OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_animencoder.o
|
||||||
OBJS-$(CONFIG_LIBX262_ENCODER) += libx264.o
|
|
||||||
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
|
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
|
||||||
index 184bb8521f..bda526f755 100644
|
index 184bb8521f..bda526f755 100644
|
||||||
--- a/libavcodec/allcodecs.c
|
--- a/libavcodec/allcodecs.c
|
||||||
+++ b/libavcodec/allcodecs.c
|
+++ b/libavcodec/allcodecs.c
|
||||||
@@ -801,6 +801,7 @@ extern const FFCodec ff_libvpx_vp8_encoder;
|
|
||||||
extern const FFCodec ff_libvpx_vp8_decoder;
|
extern const FFCodec ff_libvpx_vp8_decoder;
|
||||||
extern FFCodec ff_libvpx_vp9_encoder;
|
extern FFCodec ff_libvpx_vp9_encoder;
|
||||||
extern const FFCodec ff_libvpx_vp9_decoder;
|
extern const FFCodec ff_libvpx_vp9_decoder;
|
||||||
+extern const FFCodec ff_libsvt_vp9_encoder;
|
+extern const FFCodec ff_libsvt_vp9_encoder;
|
||||||
|
extern const FFCodec ff_libvvenc_encoder;
|
||||||
/* preferred over libwebp */
|
/* preferred over libwebp */
|
||||||
extern const FFCodec ff_libwebp_anim_encoder;
|
extern const FFCodec ff_libwebp_anim_encoder;
|
||||||
extern const FFCodec ff_libwebp_encoder;
|
|
||||||
diff --git a/libavcodec/libsvt_vp9.c b/libavcodec/libsvt_vp9.c
|
diff --git a/libavcodec/libsvt_vp9.c b/libavcodec/libsvt_vp9.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..5f99367924
|
index 0000000000..5f99367924
|
||||||
|
@ -124,8 +124,8 @@ ExclusiveArch: armv7hnl
|
|||||||
|
|
||||||
Summary: Digital VCR and streaming server
|
Summary: Digital VCR and streaming server
|
||||||
Name: ffmpeg%{?flavor}
|
Name: ffmpeg%{?flavor}
|
||||||
Version: 7.0.2
|
Version: 7.1
|
||||||
Release: 2%{?date:.%{?date}%{?date:git}%{?rel}}%{?dist}
|
Release: 12%{?date:.%{?date}%{?date:git}%{?rel}}%{?dist}
|
||||||
License: %{ffmpeg_license}
|
License: %{ffmpeg_license}
|
||||||
URL: https://ffmpeg.org/
|
URL: https://ffmpeg.org/
|
||||||
%if 0%{?date}
|
%if 0%{?date}
|
||||||
@ -206,7 +206,7 @@ BuildRequires: libv4l-devel
|
|||||||
%{?!_without_vaapi:BuildRequires: libva-devel >= 0.31.0}
|
%{?!_without_vaapi:BuildRequires: libva-devel >= 0.31.0}
|
||||||
BuildRequires: libvdpau-devel
|
BuildRequires: libvdpau-devel
|
||||||
BuildRequires: libvorbis-devel
|
BuildRequires: libvorbis-devel
|
||||||
%{?_with_vapoursynth:BuildRequires: vapoursynth-devel}
|
%{?_with_vapoursynth:BuildRequires: vapoursynth-devel >= 54}
|
||||||
%{?!_without_vpx:BuildRequires: libvpx-devel >= 1.4.0}
|
%{?!_without_vpx:BuildRequires: libvpx-devel >= 1.4.0}
|
||||||
%{?_with_mfx:BuildRequires: pkgconfig(libmfx) >= 1.28}
|
%{?_with_mfx:BuildRequires: pkgconfig(libmfx) >= 1.28}
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
@ -563,6 +563,9 @@ strip %{buildroot}%{_libdir}/%{name}/libavcodec.so.*
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 17 2025 Raven <raven@sysadmins.ws> - 7.1-1
|
||||||
|
- Update to 7.1 release
|
||||||
|
|
||||||
* Mon Sep 9 2024 Raven <raven@sysadmins.ws> - 7.0.2-2
|
* Mon Sep 9 2024 Raven <raven@sysadmins.ws> - 7.0.2-2
|
||||||
- rebuilt
|
- rebuilt
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user