Changeset - 21030465161a
[Not reviewed]
0 3 0
Jan Kaluza - 10 years ago 2016-01-25 12:21:47
jkaluza@redhat.com
Preparation for 2.0.1
3 files changed with 43 insertions and 3 deletions:
0 comments (0 inline, 0 general)
CMakeLists.txt
Show inline comments
 
@@ -217,100 +217,100 @@ if (NOT WIN32 AND ENABLE_SKYPE)
 
set(dbus_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
find_package(dbus)
 
endif()
 

	
 

	
 
####### Miscallanous ######
 

	
 
if(ENABLE_DOCS)
 
	find_package(Doxygen)
 
endif()
 

	
 
# if(ENABLE_LOG)
 
	if(LOG4CXX_INCLUDE_DIR AND LOG4CXX_LIBRARY)
 
		set(LOG4CXX_LIBRARIES ${LOG4CXX_LIBRARY})
 
		set(LOG4CXX_FOUND 1)
 
		message(STATUS "Using log4cxx: ${CPPUNIT_INCLUDE_DIR} ${LOG4CXX_INCLUDE_DIR}")
 
	else()
 
		set(log4cxx_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
		find_package(log4cxx)
 
	endif()
 
# endif()
 

	
 
# FIND CPPUNIT
 
if(ENABLE_TESTS)
 
	set(cppunit_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
 
	find_package(cppunit)
 

	
 
	if(NOT CPPUNIT_FOUND AND CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARY)
 
		set(CCPUNIT_LIBRARIES ${CPPUNIT_LIBRARY})
 
		set(CPPUNIT_FOUND 1)
 
		message(STATUS "Using cppunit: ${CPPUNIT_INCLUDE_DIR} ${CPPUNIT_LIBRARIES}")
 
	endif()
 
endif()
 

	
 
message("  Supported features")
 
message("-----------------------")
 

	
 
if (SPECTRUM_VERSION)
 
	ADD_DEFINITIONS(-DSPECTRUM_VERSION="${SPECTRUM_VERSION}")
 
else (SPECTRUM_VERSION)
 
	if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
 
		if (NOT GIT_EXECUTABLE)
 
		set (GIT_EXECUTABLE git)
 
		endif()
 
		execute_process(COMMAND ${GIT_EXECUTABLE} "--git-dir=${CMAKE_CURRENT_SOURCE_DIR}/.git" rev-parse --short HEAD
 
						OUTPUT_VARIABLE GIT_REVISION
 
						OUTPUT_STRIP_TRAILING_WHITESPACE
 
		)
 
		set(SPECTRUM_VERSION 2.0.0-git-${GIT_REVISION})
 
		set(SPECTRUM_VERSION 2.0.1-git-${GIT_REVISION})
 
		ADD_DEFINITIONS(-DSPECTRUM_VERSION="${SPECTRUM_VERSION}")
 
	else (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
 
		set(SPECTRUM_VERSION 2.0.0)
 
		set(SPECTRUM_VERSION 2.0.1)
 
		ADD_DEFINITIONS(-DSPECTRUM_VERSION="${SPECTRUM_VERSION}")
 
	endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
 
endif (SPECTRUM_VERSION)
 

	
 
message("Version           : " ${SPECTRUM_VERSION})
 

	
 
if (SQLITE3_FOUND)
 
	ADD_DEFINITIONS(-DWITH_SQLITE)
 
if (WIN32)
 
	include_directories("${CMAKE_SOURCE_DIR}/msvc-deps/sqlite3")
 
	message("SQLite3           : bundled")
 
else (WIN32)
 
	include_directories(${SQLITE3_INCLUDE_DIR})
 
	message("SQLite3           : yes")
 
endif (WIN32)
 
else (SQLITE3_FOUND)
 
	set(SQLITE3_LIBRARIES "")
 
	if(ENABLE_SQLITE3)
 
		message("SQLite3           : no (install sqlite3)")
 
	else(ENABLE_SQLITE3)
 
		message("SQLite3           : no (user disabled)")
 
	endif()
 
endif (SQLITE3_FOUND)
 

	
 
if (MYSQL_FOUND)
 
	ADD_DEFINITIONS(-DWITH_MYSQL)
 
	include_directories(${MYSQL_INCLUDE_DIR})
 
	message("MySQL             : yes")
 
else (MYSQL_FOUND)
 
	set(MYSQL_LIBRARIES "")
 
	if(ENABLE_MYSQL)
 
		message("MySQL             : no (install mysql-devel)")
 
	else(ENABLE_MYSQL)
 
		message("MySQL             : no (user disabled)")
 
	endif()
 
endif (MYSQL_FOUND)
 

	
 
if (PQXX_FOUND)
 
	ADD_DEFINITIONS(-DWITH_PQXX)
 
	include_directories(${PQXX_INCLUDE_DIR})
 
	message("PostgreSQL        : yes")
 
else (PQXX_FOUND)
 
	set(PQXX_LIBRARY "")
 
	set(PQ_LIBRARY "")
 
	if(ENABLE_PQXX)
 
		message("PostgreSQL        : no (install libpqxx-devel)")
 
	else(ENABLE_PQXX)
 
		message("PostgreSQL        : no (user disabled)")
ChangeLog
Show inline comments
 
Version 2.0.1 (2015-01-25):
 
	General:
 
	* Fix wrong nickname when joining room with some backends.
 
	* Leave room when disconnected from 3rd-party network because of an error.
 
	  Fixes a bug when users were not able to rejoin the room after Spectrum 2
 
	  disconnected them from 3rd-party network.
 
	* Fix building on Windows.
 
	* Support case-sensitive buddy names transparently - boost_locale is now
 
	  needed as a new dependency.
 

	
 
	Spectrum2_manager:
 
	* Add simple web interface, can be tested using "spectrum2_manager server".
 

	
 
	XMPP frontend:
 
	* Show MUC feature in room disco#info response.
 

	
 
	Slack frontend:
 
	* Slack frontend is now working as Slack app, so you need to obtain the
 
	  client_id and client_secret from Slack to setup your own server and to
 
	  do the OAuth2 flow, you have to setup the Spectrum2_manager Server. Read
 
	  the documentation for more info.
 
	* Fix OAuth2 registration flow.
 
	* Fix multiple crashes when disconnected from Slack network or from
 
	  3rd-party network.
 
	* Slack frontend should still be used only for testing, it is till under
 
	  the development.
 

	
 
	Libpurple backend:
 
	* Forward room list to frontend.
 
	* Fix compatibility with latest telegram-purple - You mean need to
 
	  unregister the transport and register it again if you experience
 
	  compatibility problems.
 

	
 
	Twitter backend:
 
	* Fix default value of fetch timer.
 
	* Disable useless Curl verbose output.
 
	* Fix crash when populating roster when using Swiften 3.
 
	* Do not set status message for buddies not in Friends list - fixes a bug
 
	  when buddies who are not in Friends list have been added to roster.
 

	
 
Version 2.0.0 (2015-12-29):
 
	General:
 
	* Fix compilation with new versions of Spectrum 2 dependencies.
 
	* Added support for multiple frontends - Slack frontend is the first one.
 
	* Log errors related to backend spawning (Show proper log message for
 
	  example when path to backend binary is not found).
 
	* Set SQLite3 as default database backend.
 
	* Fixed disconnecting from server caused by sending VCard response
 
	  with bad "from" attribute.
 
	* Added Munin plugin (Thanks to Askovpen).
 
	* Added support for more admin_jid JIDs (Thanks to Askovpen).
 
	* Fixed allowed_servers option.
 
	* Options from config file can now be set also using command line like
 
	  --service.jid=domain.tld .
 
	* Do not send password in IQ-get registration response.
 
	* Added support for AdHoc commands.
 
	* Do not store buddies with empty name in database.
 
	* Improved MySQL storage backend performance.
 
	* Fix crash caused by two XMPP users using single PurpleAccount instance.
 
	* Support for [registration] allowed_usernames.
 

	
 
	Spectrum2_manager:
 
	* Rewritten to provide more features. Check the documentation.
 

	
 
	Libpurple:
 
	* prpl-gg: Fetch the contact list properly (#252).
 
	* Added support for prpl-novell as it was in Spectrum 1.
 

	
 
	Twitter:
 
	* Added Twitter support using Twitter backend. Thanks to Sarang and
 
	  Google Summer of Code.
 

	
 
	Skype:
 
	* Skype backend is now deprecated, use libpurple purple-skypeweb plugin
 
	  as a replacement.
 

	
 
	Backend API:
 
	* Added Python NetworkPlugin class, so it is now easier to write backends
 
	  in Python (Thanks to Sarang).
 

	
 
Version 2.0.0-beta2 (2012-03-28):
 
	General:
 
	* Fixed bug when Roster Item Exchange and subscribe stanzas were sent
 
	  repeatedly.
 
	* Backends related logs now contain the backend PID.
 
	* Fixed username_mask setting.
 
	* Added new fields into statistics (backends_crashed, messages related
 
	  stats).
Dockerfile
Show inline comments
 
FROM fedora:23
 

	
 
EXPOSE 5222
 
VOLUME ["/etc/spectrum2/transports", "/var/lib/spectrum2"]
 

	
 
# Spectrum 2
 
RUN dnf install protobuf protobuf swiften gcc gcc-c++ make libpqxx-devel libpurple-devel protobuf-devel swiften-devel rpm-build avahi-devel boost-devel cmake cppunit-devel expat-devel libcommuni-devel libidn-devel libsqlite3x-devel log4cxx-devel gettext libgcrypt-devel libwebp-devel libpurple-devel zlib-devel json-glib-devel python-pip zlib-devel libjpeg-devel python-devel  mysql-devel popt-devel git libevent-devel qt-devel dbus-glib-devel libcurl-devel wget -y && \
 
	echo "---> Installing Spectrum 2" && \
 
		git clone git://github.com/hanzz/spectrum2.git && \
 
		cd spectrum2 && \
 
		./packaging/fedora/build_rpm.sh && \
 
		rpm -U /root/rpmbuild/RPMS/x86_64/*.rpm && \
 
		cp ./packaging/docker/run.sh /run.sh && \
 
		cd .. && \
 
		rm -rf spectrum2 && \
 
		rm -rf ~/rpmbuild && \
 
	echo "---> Installing purple-facebook" && \
 
		wget https://github.com/jgeboski/purple-facebook/releases/download/6a0a79182ebc/purple-facebook-6a0a79182ebc.tar.gz && \
 
		tar -xf purple-facebook-6a0a79182ebc.tar.gz  && cd purple-facebook-6a0a79182ebc && \
 
		./configure && \
 
		make && \
 
		make install && \
 
		cd .. && \
 
		rm -rf purple-facebook* && \
 
	echo "---> Installing skype4pidgin" && \
 
		git clone git://github.com/EionRobb/skype4pidgin.git && \
 
		cd skype4pidgin/skypeweb && \
 
		make && \
 
		make CFLAGS=-DFEDORA=1 && \
 
		make install && \
 
		cd ../.. && \
 
		rm -rf skype4pidgin && \
 
	echo "---> Installing transwhat" && \
 
		pip install --pre e4u protobuf python-dateutil yowsup2 Pillow==2.9.0 &&\
 
		git clone git://github.com/stv0g/transwhat.git &&\
 
		git clone git://github.com/tgalal/yowsup.git &&\
 
		cd transwhat &&\
 
		git worktree add /opt/transwhat &&\
 
		cd .. &&\
 
		cd yowsup &&\
 
		cp -R yowsup /opt/transwhat/yowsup &&\
 
		cd .. &&\
 
		rm -r transwhat &&\
 
		rm -r yowsup &&\
 
		rm -rf /opt/transwhat/.git &&\
 
		rm -rf /opt/transwhat/.gitignore &&\
 
	echo "---> Installing Telegram" && \
 
		git clone --recursive https://github.com/majn/telegram-purple && \
 
		cd telegram-purple && \
 
		./configure && \
 
		make && \
 
		make install && \
 
		rm -rf telegram-purple && \
 
	echo "---> cleanup" && \
 
		rm -rf /usr/share/locale/* && \
 
		rm -rf /usr/share/doc/* && \
 
		rm -rf /usr/share/icons/* && \
 
		rm -rf /usr/share/cracklib* && \
 
		rm -rf /usr/share/hwdata* && \
 
		rm -rf /usr/lib64/libQtGui* && \
 
		rm -rf /usr/lib64/libQtSvg* && \
 
		rm -rf /usr/lib64/libQtDeclarative* && \
 
		rm -rf /usr/lib64/libQtOpenGL* && \
 
		rm -rf /usr/lib64/libQtScriptTools* && \
 
		rm -rf /usr/lib64/libQtMultimedia* && \
 
		rm -rf /usr/lib64/libQtHelp* && \
 
		rm -rf /usr/lib64/libQtDesigner* && \
 
		rm -rf /usr/lib64/libQt3* && \
 
		dnf remove protobuf-devel swiften-devel gcc gcc-c++ libpqxx-devel libevent-devel qt-devel dbus-glib-devel libpurple-devel make rpm-build avahi-devel boost-devel cmake cppunit-devel expat-devel libcommuni-devel libidn-devel libsqlite3x-devel libgcrypt-devel libwebp-devel libpurple-devel zlib-devel json-glib-devel zlib-devel libjpeg-devel python-devel  log4cxx-devel mysql-devel popt-devel libcurl-devel spectrum2-debuginfo yum perl wget -y && \
 
		dnf clean all -y && \
 
		rm -rf /var/lib/rpm/*
 

	
 
CMD "/run.sh"
0 comments (0 inline, 0 general)