From 89eedcaa94e1c8a97ea3af10642fd224bcea068f Mon Sep 17 00:00:00 2001
From: Andy Green <andy@warmcat.com>
Date: Fri, 23 Nov 2018 11:30:56 +0800
Subject: [PATCH] v3.1.0

---
 CMakeLists.txt             |  13 ++--
 README.md                  |   2 +-
 READMEs/release-checklist  |  32 ++++------
 scripts/libwebsockets.spec | 121 +++++++++++++++++++++++++++++++------
 4 files changed, 122 insertions(+), 46 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 175a9cf2..453fdfd2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -152,7 +152,8 @@ if(LWS_WITH_DISTRO_RECOMMENDED)
 	set(LWS_WITH_HTTP_PROXY 1)
 	set(LWS_WITH_DISKCACHE 1)
 	set(LWS_WITH_LWSAC 1)
-	set(LWS_WITH_LEJP_CONF 1)	
+	set(LWS_WITH_LEJP_CONF 1)
+	set(LWS_WITH_PLUGINS 1)
 endif()
 
 # do you care about this?  Then send me a patch where it disables it on travis
@@ -181,12 +182,15 @@ project(libwebsockets C)
 set(PACKAGE "libwebsockets")
 set(CPACK_PACKAGE_NAME "${PACKAGE}")
 set(CPACK_PACKAGE_VERSION_MAJOR "3")
-set(CPACK_PACKAGE_VERSION_MINOR "0")
-set(CPACK_PACKAGE_VERSION_PATCH "99")
+set(CPACK_PACKAGE_VERSION_MINOR "1")
+set(CPACK_PACKAGE_VERSION_PATCH "0")
+set(CPACK_PACKAGE_RELEASE 1)
+set(CPACK_GENERATOR "RPM")
 set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
 set(CPACK_PACKAGE_VENDOR "andy@warmcat.com")
+set(CPACK_PACKAGE_CONTACT "andy@warmcat.com")
 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PACKAGE} ${PACKAGE_VERSION}")
-set(SOVERSION "13")
+set(SOVERSION "14")
 if(NOT CPACK_GENERATOR)
     if(UNIX)
         set(CPACK_GENERATOR "TGZ")
@@ -205,6 +209,7 @@ set(LWS_LIBRARY_VERSION_PATCH ${CPACK_PACKAGE_VERSION_PATCH})
 
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/")
 
+
 message(STATUS "CMAKE_TOOLCHAIN_FILE='${CMAKE_TOOLCHAIN_FILE}'")
 
 if(WIN32)
diff --git a/README.md b/README.md
index 390edf89..85a0846a 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ various scenarios, CC0-licensed (public domain) for cut-and-paste, allow you to
 News
 ----
 
-## New features in v3.1
+## v3.1 released: new features in v3.1
 
  - **lws threadpool** - lightweight pool of pthreads integrated to lws wsi, with all
    synchronization to event loop handled internally, queue for excess tasks
diff --git a/READMEs/release-checklist b/READMEs/release-checklist
index 1581fef5..e142130e 100644
--- a/READMEs/release-checklist
+++ b/READMEs/release-checklist
@@ -1,32 +1,19 @@
 Release Checklist
 -----------------
 
-1) QA
-
- a) ab / h2load / h2spec
-
-   $ ab -n 100000 -c 200 https://127.0.0.1:7681/
-   $ h2load -n 100000 -c 200  https://localhost:7681
-   $ h2spec  -h 127.0.0.1 -p 7681 -t -k -o 1
-
- b) coverity
+1) non-CI QA
  
-   $ ../make-coverity-tarball.sh
-   https://scan.coverity.com/projects/warmcat-libwebsockets
-
- c) test servers + client + browser
- 
- d) valgrind test servers + client + browser
+ a) valgrind test servers + client + browser
 
 2) soname bump?
 
  a) We need one if we added / changed / removed apis
 
-  CMakeLists.txt
+  - CMakeLists.txt
 
    set(SOVERSION "6")
 
-  scripts/libwebsockets.spec
+  - scripts/libwebsockets.spec
 
   -/%{_libdir}/libwebsockets.so.6
   +/%{_libdir}/libwebsockets.so.7
@@ -37,13 +24,13 @@ Release Checklist
 
  b) Classify as
 
-    - MINOR bug fixes
-    - MAJOR bug fixes
-    - SECURITY fixes
+    - NEW
+    - CHANGE
+    - REMOVE
 
 4) main version bump
 
-  CMakeLists.txt
+  - CMakeLists.txt
 
    set(CPACK_PACKAGE_VERSION_MAJOR "1")
    set(CPACK_PACKAGE_VERSION_MINOR "6")
@@ -66,6 +53,9 @@ Release Checklist
 - Bump version to 1.6.4
 - MINOR fix xyz
 
+ c) Use -DLWS_WITH_DISTRO_RECOMMENDED=1 then make package and adapt the .spec
+    to match the file list
+
 6) Announce latest version on README.md
 
 7) Make sure all new READMEs and public headers are in libwebsockets.dox
diff --git a/scripts/libwebsockets.spec b/scripts/libwebsockets.spec
index d13616a8..84790b1c 100644
--- a/scripts/libwebsockets.spec
+++ b/scripts/libwebsockets.spec
@@ -1,5 +1,5 @@
 Name: libwebsockets
-Version: 3.0.0
+Version: 3.1.0
 Release: 1%{?dist}
 Summary: Websocket Server and Client Library
 
@@ -47,29 +47,110 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(-,root,root,-)
 %attr(755,root,root)
-/usr/bin/libwebsockets-test-server
-/usr/bin/libwebsockets-test-client
-/usr/bin/libwebsockets-test-sshd
-/usr/bin/libwebsockets-test-lejp
-/usr/bin/libwebsockets-test-server-extpoll
-/usr/bin/lwsws
-/%{_libdir}/libwebsockets.so.13
-/%{_libdir}/libwebsockets.so
-/%{_libdir}/cmake/libwebsockets/LibwebsocketsConfig.cmake
-/%{_libdir}/cmake/libwebsockets/LibwebsocketsConfigVersion.cmake
-/%{_libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
-/%{_libdir}/cmake/libwebsockets/LibwebsocketsTargets-release.cmake
-/usr/share/libwebsockets-test-server
-%doc
+"/usr/bin/libwebsockets-test-client"
+"/usr/bin/libwebsockets-test-lejp"
+"/usr/bin/libwebsockets-test-server"
+"/usr/bin/libwebsockets-test-server-extpoll"
+"/usr/bin/libwebsockets-test-sshd"
+"/usr/bin/lwsws"
+"/%{_libdir}/libwebsockets.so"
+"/%{_libdir}/libwebsockets.so.14"
+%dir "/usr/share/libwebsockets-test-server"
+"/usr/share/libwebsockets-test-server/candide.zip"
+"/usr/share/libwebsockets-test-server/favicon.ico"
+%dir "/usr/share/libwebsockets-test-server/generic-table"
+"/usr/share/libwebsockets-test-server/generic-table/index.html"
+"/usr/share/libwebsockets-test-server/generic-table/lwsgt.js"
+"/usr/share/libwebsockets-test-server/http2.png"
+"/usr/share/libwebsockets-test-server/leaf.jpg"
+"/usr/share/libwebsockets-test-server/libwebsockets-test-server.key.pem"
+"/usr/share/libwebsockets-test-server/libwebsockets-test-server.pem"
+"/usr/share/libwebsockets-test-server/libwebsockets.org-logo.svg"
+"/usr/share/libwebsockets-test-server/lws-cgi-test.sh"
+"/usr/share/libwebsockets-test-server/lws-common.js"
+"/usr/share/libwebsockets-test-server/lws-ssh-test-keys"
+"/usr/share/libwebsockets-test-server/lws-ssh-test-keys.pub"
+%dir "/usr/share/libwebsockets-test-server/plugins"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_client_loopback_test.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_dumb_increment.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_fulltext_demo.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_lws_acme_client.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_lws_mirror.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_lws_raw_test.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_lws_server_status.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_lws_ssh_base.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_lws_sshd_demo.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_lws_status.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_lws_table_dirlisting.so"
+"/usr/share/libwebsockets-test-server/plugins/libprotocol_post_demo.so"
+%dir "/usr/share/libwebsockets-test-server/private"
+"/usr/share/libwebsockets-test-server/private/index.html"
+%dir "/usr/share/libwebsockets-test-server/server-status"
+"/usr/share/libwebsockets-test-server/server-status/lwsws-logo.png"
+"/usr/share/libwebsockets-test-server/server-status/server-status.css"
+"/usr/share/libwebsockets-test-server/server-status/server-status.html"
+"/usr/share/libwebsockets-test-server/server-status/server-status.js"
+"/usr/share/libwebsockets-test-server/test.css"
+"/usr/share/libwebsockets-test-server/test.html"
+"/usr/share/libwebsockets-test-server/test.js"
+"/usr/share/libwebsockets-test-server/wss-over-h2.png"
 %files devel
 %defattr(-,root,root,-)
-/usr/include/*
-%attr(755,root,root)
-/%{_libdir}/libwebsockets.a
-/%{_libdir}/pkgconfig/libwebsockets.pc
-/%{_libdir}/pkgconfig/libwebsockets_static.pc
+%dir "/usr/include/libwebsockets"
+"/usr/include/libwebsockets.h"
+"/usr/include/libwebsockets/lws-adopt.h"
+"/usr/include/libwebsockets/lws-callbacks.h"
+"/usr/include/libwebsockets/lws-cgi.h"
+"/usr/include/libwebsockets/lws-client.h"
+"/usr/include/libwebsockets/lws-context-vhost.h"
+"/usr/include/libwebsockets/lws-dbus.h"
+"/usr/include/libwebsockets/lws-diskcache.h"
+"/usr/include/libwebsockets/lws-esp32.h"
+"/usr/include/libwebsockets/lws-fts.h"
+"/usr/include/libwebsockets/lws-genhash.h"
+"/usr/include/libwebsockets/lws-genrsa.h"
+"/usr/include/libwebsockets/lws-http.h"
+"/usr/include/libwebsockets/lws-jwk.h"
+"/usr/include/libwebsockets/lws-jws.h"
+"/usr/include/libwebsockets/lws-lejp.h"
+"/usr/include/libwebsockets/lws-logs.h"
+"/usr/include/libwebsockets/lws-lwsac.h"
+"/usr/include/libwebsockets/lws-misc.h"
+"/usr/include/libwebsockets/lws-network-helper.h"
+"/usr/include/libwebsockets/lws-plugin-generic-sessions.h"
+"/usr/include/libwebsockets/lws-protocols-plugins.h"
+"/usr/include/libwebsockets/lws-purify.h"
+"/usr/include/libwebsockets/lws-ring.h"
+"/usr/include/libwebsockets/lws-service.h"
+"/usr/include/libwebsockets/lws-sha1-base64.h"
+"/usr/include/libwebsockets/lws-spa.h"
+"/usr/include/libwebsockets/lws-stats.h"
+"/usr/include/libwebsockets/lws-threadpool.h"
+"/usr/include/libwebsockets/lws-timeout-timer.h"
+"/usr/include/libwebsockets/lws-tokenize.h"
+"/usr/include/libwebsockets/lws-vfs.h"
+"/usr/include/libwebsockets/lws-write.h"
+"/usr/include/libwebsockets/lws-writeable.h"
+"/usr/include/libwebsockets/lws-ws-close.h"
+"/usr/include/libwebsockets/lws-ws-ext.h"
+"/usr/include/libwebsockets/lws-ws-state.h"
+"/usr/include/libwebsockets/lws-x509.h"
+"/usr/include/lws-plugin-ssh.h"
+"/usr/include/lws_config.h"
+%dir "/usr/lib/pkgconfig"
+"/%{_libdir}/pkgconfig/libwebsockets.pc"
+"/usr/lib/pkgconfig/libwebsockets_static.pc"
+%dir "/usr/lib/cmake"
+%dir "/usr/lib/cmake/libwebsockets"
+"/%{_libdir}/cmake/libwebsockets/LibwebsocketsConfig.cmake"
+"/%{_libdir}/cmake/libwebsockets/LibwebsocketsConfigVersion.cmake"
+"/%{_libdir}/cmake/libwebsockets/LibwebsocketsTargets-debug.cmake"
+"/%{_libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake"
 
 %changelog
+* Fri Nov 23 2018 Andy Green <andy@warmcat.com> 3.1.0-1
+- MAJOR SONAMEBUMP APICHANGES Upstream 3.1.0 release
+
 * Fri May 4 2018 Andy Green <andy@warmcat.com> 3.0.0-1
 - MAJOR SONAMEBUMP APICHANGES Upstream 3.0.0 release
 
-- 
GitLab