Merge lp:~cairo-dock-team/ubuntu/oneiric/cairo-dock-plug-ins/2.3.0-3 into lp:ubuntu/oneiric/cairo-dock-plug-ins

Proposed by Matthieu Baerts on 2011-06-20
Status: Merged
Merged at revision: 20
Proposed branch: lp:~cairo-dock-team/ubuntu/oneiric/cairo-dock-plug-ins/2.3.0-3
Merge into: lp:ubuntu/oneiric/cairo-dock-plug-ins
Diff against target: 1611 lines (+21/-1508)
10 files modified
.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/CMakeLists.txt (+0/-941)
.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src/applet-backend-ubuntuone.c (+0/-95)
.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src/applet-read-data.c (+0/-462)
.pc/applied-patches (+0/-2)
CMakeLists.txt (+1/-1)
Status-Notifier/src/CMakeLists.txt (+2/-2)
debian/changelog (+14/-0)
debian/control (+3/-3)
debian/patches/series (+0/-2)
weather/src/applet-load-icons.c (+1/-0)
To merge this branch: bzr merge lp:~cairo-dock-team/ubuntu/oneiric/cairo-dock-plug-ins/2.3.0-3
Reviewer Review Type Date Requested Status
Michael Terry 2011-06-20 Approve on 2011-07-05
Review via email: mp+65213@code.launchpad.net

Description of the change

This is a bugs fixed version.

How to reproduce the bugs:
   * Simply drop a file into the Drop to Share (aka DND2Share) applet configured to use UbuntuOne and u1sdtool will crash.
   * If the connection is stopped/slowed down during the download of weather xml files, the dock (version 2.3.0~1 and 2.3.0~2.1) will crash.
   * Translations of Status Notifier applet are not enabled.

Thank you

PS: please don't forget to update the core too (LP: #799773)

To post a comment you must log in.
Michael Terry (mterry) wrote :

Looks good, thanks! Merged.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch'
2=== removed file '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/CMakeLists.txt'
3--- .pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/CMakeLists.txt 2011-06-06 10:13:07 +0000
4+++ .pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/CMakeLists.txt 1970-01-01 00:00:00 +0000
5@@ -1,941 +0,0 @@
6-########### requirements ###############
7-
8-cmake_minimum_required (VERSION 2.6)
9-find_package (PkgConfig)
10-include (CheckLibraryExists)
11-include (CheckIncludeFiles)
12-include (CheckFunctionExists)
13-include (CheckSymbolExists)
14-
15-########### project ###############
16-
17-project ("cairo-dock-plugins")
18-set (VERSION "2.3.0~2")
19-
20-add_definitions (-std=c99 -Wstrict-prototypes -Wextra -Wwrite-strings -Wuninitialized -Werror-implicit-function-declaration) #-Wunreachable-code -Wno-unused-parameter -Wall
21-if (NOT ${CMAKE_BUILD_TYPE})
22- add_definitions (-O3)
23-endif()
24-add_definitions (-DGL_GLEXT_PROTOTYPES="1")
25-
26-############ sources tarball #############
27-
28-set (CPACK_SOURCE_GENERATOR "TGZ")
29-set (CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}")
30-set (CPACK_SOURCE_IGNORE_FILES
31- "/build/;/.bzr/;bzrignore$;/misc/;~$;${CPACK_SOURCE_IGNORE_FILES}")
32-include (CPack)
33-
34-add_custom_target( dist
35- COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
36-add_custom_target(dist-bzr
37- COMMAND bzr export ${CMAKE_PROJECT_NAME}-${VERSION}.tar.gz
38- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
39-
40-############ uninstall #############
41-
42-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake IMMEDIATE @ONLY)
43-add_custom_target (uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
44-
45-########### global variables ###############
46-
47-if( WIN32 )
48- message(FATAL_ERROR "Cairo-Dock requires an air-conditioned room. Please close Windows!")
49-endif( WIN32 )
50-
51-set (PACKAGE ${CMAKE_PROJECT_NAME})
52-set (GETTEXT_PACKAGE ${PACKAGE})
53-
54-# get plug-ins install dir
55-execute_process(
56- COMMAND pkg-config cairo-dock --variable=pluginsdir # /usr/lib/cairo-dock
57- OUTPUT_VARIABLE pluginsdir)
58-STRING (REGEX REPLACE "\n" "" pluginsdir ${pluginsdir}) # la commande rajoute un retour chariot ...
59-# get plug-ins data dir
60-execute_process(
61- COMMAND pkg-config cairo-dock --variable=pluginsdatadir # /usr/share/cairo-dock/plug-ins
62- OUTPUT_VARIABLE pluginsdatadir)
63-STRING (REGEX REPLACE "\n" "" pluginsdatadir ${pluginsdatadir})
64-# check that version matches with the core
65-execute_process(
66- COMMAND pkg-config --modversion cairo-dock # 2.2.0-3
67- OUTPUT_VARIABLE dock_version)
68-STRING (REGEX REPLACE "\n" "" dock_version ${dock_version})
69-if (NOT "${dock_version}" STREQUAL "${VERSION}") # Version
70- MESSAGE (FATAL_ERROR "warning : version mismatch with the core : " ${VERSION} <> ${dock_version})
71-endif()
72-
73-#if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT "${FORCE_LIB64}" STREQUAL "") # 64bits and force install in lib64
74-# set (libname "lib64")
75-#else()
76-# set (libname "lib${LIB_SUFFIX}")
77-#endif()
78-#set (libdir "${CMAKE_INSTALL_PREFIX}/${libname}/cairo-dock") # /usr/lib
79-
80-# check that installation dir matches with the core
81-GET_FILENAME_COMPONENT(libdir "${pluginsdir}/.." ABSOLUTE) # /usr/lib
82-GET_FILENAME_COMPONENT(prefix "${pluginsdir}/../.." ABSOLUTE) # /usr
83-if (NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "${prefix}")
84- message (STATUS "Warning : plug-ins should be installed in the same directory as the core, that is to say in ${pluginsdir}")
85- set (CMAKE_INSTALL_PREFIX "${prefix}")
86- #set (libdir "${CMAKE_INSTALL_PREFIX}/${libname}/cairo-dock")
87-endif()
88-
89-# set internationalisation
90-set (GETTEXT_PLUGINS "cairo-dock-plugins")
91-set (localedir "${CMAKE_INSTALL_PREFIX}/share/locale")
92-set (gaugesdir "${CMAKE_INSTALL_PREFIX}/share/cairo-dock/gauges")
93-
94-set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/") # additionnal FindPackage files
95-
96-########### dependancies ###############
97-
98-message ("")
99-message (STATUS "=====================")
100-message (STATUS "Check dependancies...")
101-message (STATUS "=====================")
102-message ("")
103-
104-pkg_check_modules ("PACKAGE" REQUIRED "gtk+-2.0" "gthread-2.0" "cairo" "librsvg-2.0" "dbus-1" "dbus-glib-1" "libxml-2.0" "gtkglext-1.0" "cairo-dock")
105-
106-############# GLIB #################
107-pkg_check_modules (GLIB glib-2.0)
108- STRING (REGEX REPLACE "\\..*" "" GLIB_MAJOR "${GLIB_VERSION}") # 2.28.3 => 2
109- STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" GLIB_MINOR "${GLIB_VERSION}") # 2.28.3 => 2.28
110- STRING (REGEX REPLACE "\\.[0-9]*" "" GLIB_MINOR "${GLIB_MINOR}") # 2.28 => 28
111- STRING (REGEX REPLACE ".*\\." "" GLIB_NANO "${GLIB_VERSION}") # 2.28.3 => 3
112- STRING (REGEX REPLACE "-.*" "" GLIB_NANO "${GLIB_NANO}")
113-
114-############# ALSA_MIXER #################
115-set (with_alsa "no")
116-if (NOT "${enable-alsa-mixer}" STREQUAL "no")
117- pkg_check_modules (ALSA_MIXER_PACKAGE alsa)
118- if ("${ALSA_MIXER_PACKAGE_FOUND}" STREQUAL "")
119- message (STATUS "Could not find alsa; Cairo-Dock won't be built with AlsaMixer applet.")
120- else()
121- set (GETTEXT_ALSA_MIXER ${GETTEXT_PLUGINS})
122- set (VERSION_ALSA_MIXER "1.0.12")
123- set (PACKAGE_ALSA_MIXER "cd-AlsaMixer")
124- set (with_alsa "yes")
125- set (alsa_mixerdatadir "${pluginsdatadir}/AlsaMixer")
126- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/alsaMixer/data/AlsaMixer.conf.in ${CMAKE_CURRENT_BINARY_DIR}/alsaMixer/data/AlsaMixer.conf)
127- add_subdirectory ("alsaMixer")
128- endif()
129-endif()
130-
131-############# ANIMATED ICONS #################
132-set (GETTEXT_ANIMATED_ICONS ${GETTEXT_PLUGINS})
133-set (VERSION_ANIMATED_ICONS "1.0.10")
134-set (PACKAGE_ANIMATED_ICONS "cd-Animated-icons")
135-set (animated_iconsdatadir "${pluginsdatadir}/Animated-icons")
136-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Animated-icons/data/Animated-icons.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Animated-icons/data/Animated-icons.conf)
137-add_subdirectory (Animated-icons)
138-
139-############# CAIRO_PENGUIN #################
140-set (GETTEXT_CAIRO_PENGUIN ${GETTEXT_PLUGINS})
141-set (VERSION_CAIRO_PENGUIN "1.1.8")
142-set (PACKAGE_CAIRO_PENGUIN "cd-Cairo-Penguin")
143-set (cairo_penguinuserdirname "Cairo-Penguin")
144-set (cairo_penguindatadir "${pluginsdatadir}/Cairo-Penguin")
145-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Cairo-Penguin/data/Cairo-Penguin.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Cairo-Penguin/data/Cairo-Penguin.conf)
146-add_subdirectory (Cairo-Penguin)
147-
148-############# CLIPPER #################
149-set (GETTEXT_CLIPPER ${GETTEXT_PLUGINS})
150-set (VERSION_CLIPPER "1.1.4")
151-set (PACKAGE_CLIPPER "cd-Clipper")
152-set (Clipperdatadir "${pluginsdatadir}/Clipper")
153-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Clipper/data/Clipper.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Clipper/data/Clipper.conf)
154-add_subdirectory (Clipper)
155-
156-############# CLOCK #################
157-set (with_ical "yes")
158-pkg_check_modules ("LIBICAL_PACKAGE" "libical")
159-if ("${LIBICAL_PACKAGE_FOUND}" STREQUAL "")
160- set (with_ical "no")
161- message (STATUS "Could not find libical; Clock plugin won't be built with iCal support.")
162-endif()
163-set (GETTEXT_CLOCK ${GETTEXT_PLUGINS})
164-set (VERSION_CLOCK "2.1.2")
165-set (PACKAGE_CLOCK "cd-clock")
166-set (clockuserdirname "clock")
167-set (clockdatadir "${pluginsdatadir}/clock")
168-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/clock/data/clock.conf.in ${CMAKE_CURRENT_BINARY_DIR}/clock/data/clock.conf)
169-add_subdirectory (clock)
170-
171-############# COMPIZ_ICON #################
172-set (GETTEXT_COMPIZ_ICON ${GETTEXT_PLUGINS})
173-set (VERSION_COMPIZ_ICON "1.1.6")
174-set (PACKAGE_COMPIZ_ICON "cd-compiz-icon")
175-set (compiz_icondatadir "${pluginsdatadir}/compiz-icon")
176-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/compiz-icon/data/compiz-icon.conf.in ${CMAKE_CURRENT_BINARY_DIR}/compiz-icon/data/compiz-icon.conf)
177-add_subdirectory (compiz-icon)
178-
179-############# DBUS #################
180-find_program (PYTHON_EXECUTABLE python)
181-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; print sys.version" OUTPUT_VARIABLE PYTHON_VERSION)
182-if ("${PYTHON_VERSION}" STREQUAL "")
183- message (STATUS "Could not find Python, won't install Python interface.")
184- set (with_python "no")
185-else()
186- STRING (REGEX REPLACE "\n" "" PYTHON_VERSION ${PYTHON_VERSION})
187- message (STATUS "Python Version: ${PYTHON_VERSION}")
188- GET_FILENAME_COMPONENT(DEBIAN_VERSION /etc/debian_version ABSOLUTE)
189- if (EXISTS ${DEBIAN_VERSION})
190- message (STATUS " will use '--install-layout deb' with 'python setup.py install'")
191- set (DEBIAN_INSTALL_LAYOUT "--install-layout deb")
192- endif()
193- set (PYTHON_FOUND "TRUE")
194- set (with_python "yes")
195-endif()
196-
197-# find_package(Ruby) found libs of ruby-dev but we only need a directory where we can install ruby libs.
198-find_program (RUBY_EXECUTABLE ruby)
199-EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['rubylibdir']"
200- OUTPUT_VARIABLE RUBY_LIB_DIR)
201-message (STATUS "RUBY_LIBRARY: ${RUBY_LIB_DIR}")
202-if ("${RUBY_LIB_DIR}" STREQUAL "" OR "${RUBY_LIB_DIR}" STREQUAL "nil")
203- message (STATUS "Could not find ruby libs, won't install Ruby interface.")
204- set (with_ruby "no")
205-else()
206- string (REGEX REPLACE "lib/ruby/[0-9].[0-9]" "" RUBY_LIB_DIR_INSTALL "${RUBY_LIB_DIR}")
207- string (REGEX REPLACE "${RUBY_LIB_DIR_INSTALL}" "" RUBY_LIB_DIR_INSTALL "${RUBY_LIB_DIR}")
208- set (RUBY_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${RUBY_LIB_DIR_INSTALL}")
209- message (STATUS " will be installed in: ${RUBY_LIB_DIR}")
210- set (RUBY_FOUND "TRUE")
211- set (with_ruby "yes")
212-endif()
213-
214-#find_package (Mono)
215-find_program (GMCS_EXECUTABLE gmcs)
216-if ("${GMCS_EXECUTABLE}" STREQUAL "" OR NOT EXISTS ${GMCS_EXECUTABLE})
217- message (STATUS "Could not find Mono compiler gmcs, won't build Mono interface.")
218- set (with_mono "no")
219-else()
220- pkg_check_modules (MONO_PACKAGE glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0)
221- if ("${MONO_PACKAGE_FOUND}" STREQUAL "")
222- message (STATUS "Could not find glib-sharp-2.0, ndesk-dbus-1.0 or ndesk-dbus-glib-1.0; won't be built Mono interface.")
223- set (with_mono "no")
224- else()
225- set (MONO_FOUND "TRUE")
226- set (with_mono "yes")
227- endif()
228-endif()
229-
230-# Valac is only riquired to convert vala files to C files.
231-# So we can directly use produced files (c, h, vapi) without using valac.
232-set (with_vala "yes")
233-set (with_valac "no")
234-find_program (VALAC_EXE valac)
235-message (STATUS "VALAC_EXE: ${VALAC_EXE}")
236-
237-if ("${WITH_VALA}" STREQUAL "no")
238- set (with_vala "no")
239-# >= Glib 2.26
240-elseif (${GLIB_MAJOR} LESS 3 AND ${GLIB_MINOR} LESS 26)
241- set (with_vala "no")
242-elseif (NOT "${VALAC_EXE}" STREQUAL "VALAC_EXE-NOTFOUND") # now it works with 0.10 and 0.11 (= next 0.12)
243- execute_process(COMMAND ${VALAC_EXE} "--version"
244- OUTPUT_VARIABLE "VALA_VERSION")
245- string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
246- string(STRIP ${VALA_VERSION} "VALA_VERSION")
247- message (STATUS "VALA_VERSION: ${VALA_VERSION}")
248-
249- STRING (REGEX REPLACE "\\..*" "" VALA_MAJOR "${VALA_VERSION}")
250- # message (STATUS "VALA_MAJOR : ${VALA_MAJOR}")
251-
252- STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" VALA_MINOR "${VALA_VERSION}") # 0.1.7 => 1.7
253- STRING (REGEX REPLACE "\\.[0-9]*" "" VALA_MINOR "${VALA_MINOR}")
254- # message (STATUS "VALA_MINOR : ${VALA_MINOR}")
255-
256- STRING (REGEX REPLACE ".*\\." "" VALA_NANO "${VALA_VERSION}")
257- STRING (REGEX REPLACE "-.*" "" VALA_NANO "${VALA_NANO}")
258- # message (STATUS "VALA_NANO : ${VALA_NANO}")
259-
260- if (${VALA_MAJOR} GREATER 0 OR ${VALA_MINOR} GREATER 9) # vala > 0.10
261- message (STATUS " Vala compiler OK (>= 0.10).")
262- set (VALAC_FOUND "TRUE")
263- set (with_valac "yes")
264- else()
265- message (STATUS "Vala compiler is too old (0.10 required), won't build Vala interface.")
266- endif()
267-endif()
268-
269-
270-set (GETTEXT_DBUS ${GETTEXT_PLUGINS})
271-set (VERSION_DBUS "1.2.1")
272-set (PACKAGE_DBUS "cd-Dbus")
273-set (dbusdatadir "${pluginsdatadir}/Dbus")
274-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Dbus/data/Dbus.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Dbus/data/Dbus.conf)
275-add_subdirectory (Dbus)
276-
277-############# DESKLET_RENDERING #################
278-set (GETTEXT_DESKLET_RENDERING ${GETTEXT_PLUGINS})
279-set (VERSION_DESKLET_RENDERING "1.5.6")
280-set (PACKAGE_DESKLET_RENDERING "cd-desklet-rendering")
281-set (desklet_renderingdatadir "${pluginsdatadir}/desklet-rendering")
282-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/desklet-rendering/data/desklet-rendering.conf.in ${CMAKE_CURRENT_BINARY_DIR}/desklet-rendering/data/desklet-rendering.conf)
283-add_subdirectory (desklet-rendering)
284-
285-############# DIALOG_RENDERING #################
286-set (GETTEXT_DIALOG_RENDERING ${GETTEXT_PLUGINS})
287-set (VERSION_DIALOG_RENDERING "0.5.1")
288-set (PACKAGE_DIALOG_RENDERING "cd-dialog-rendering")
289-set (dialog_renderingdatadir "${pluginsdatadir}/dialog-rendering")
290-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dialog-rendering/data/dialog-rendering.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dialog-rendering/data/dialog-rendering.conf)
291-add_subdirectory (dialog-rendering)
292-
293-############# DISKS #################
294-set (with_disks "no")
295-if ("${enable-disks}" STREQUAL "yes")
296- set (GETTEXT_DISKS ${GETTEXT_PLUGINS})
297- set (VERSION_DISKS "0.0.2")
298- set (PACKAGE_DISKS "cd-disks")
299- set (with_disks "yes")
300- set (disksdatadir "${pluginsdatadir}/Disks")
301- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Disks/data/Disks.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Disks/data/Disks.conf)
302- add_subdirectory ("Disks")
303-endif()
304-
305-############# DND2SHARE #################
306-set (GETTEXT_DND2SHARE ${GETTEXT_PLUGINS})
307-set (VERSION_DND2SHARE "1.0.5")
308-set (PACKAGE_DND2SHARE "cd-dnd2share")
309-set (dnd2sharedatadir "${pluginsdatadir}/dnd2share")
310-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dnd2share/data/dnd2share.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dnd2share/data/dnd2share.conf)
311-add_subdirectory (dnd2share)
312-
313-############# DOCK RENDERING #################
314-set (GETTEXT_RENDERING ${GETTEXT_PLUGINS})
315-set (VERSION_RENDERING "1.5.9")
316-set (PACKAGE_RENDERING "cd-rendering")
317-set (renderingdatadir "${pluginsdatadir}/rendering")
318-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dock-rendering/data/rendering.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dock-rendering/data/rendering.conf)
319-add_subdirectory (dock-rendering)
320-
321-############# DONCKY #################
322-set (with_doncky "no")
323-if ("${enable-doncky}" STREQUAL "yes")
324- set (GETTEXT_DONCKY ${GETTEXT_PLUGINS})
325- set (VERSION_DONCKY "0.0.4")
326- set (PACKAGE_DONCKY "cd-doncky")
327- set (with_doncky "yes")
328- set (donckydatadir "${pluginsdatadir}/Doncky")
329- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Doncky/data/Doncky.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Doncky/data/Doncky.conf)
330- add_subdirectory (Doncky)
331-endif()
332-
333-############# DROP INDICATOR #################
334-set (GETTEXT_DROP_INDICATOR ${GETTEXT_PLUGINS})
335-set (VERSION_DROP_INDICATOR "1.1.4")
336-set (PACKAGE_DROP_INDICATOR "cd-drop_indicator")
337-set (drop_indicatordatadir "${pluginsdatadir}/drop-indicator")
338-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/drop-indicator/data/drop_indicator.conf.in ${CMAKE_CURRENT_BINARY_DIR}/drop-indicator/data/drop_indicator.conf)
339-add_subdirectory (drop-indicator)
340-
341-############# DUSTBIN #################
342-set (GETTEXT_DUSTBIN ${GETTEXT_PLUGINS})
343-set (VERSION_DUSTBIN "2.3.1")
344-set (PACKAGE_DUSTBIN "cd-dustbin")
345-set (dustbinuserdirname "dustbin")
346-set (dustbindatadir "${pluginsdatadir}/dustbin")
347-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dustbin/data/dustbin.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dustbin/data/dustbin.conf)
348-add_subdirectory (dustbin)
349-
350-############# FOLDERS #################
351-set (GETTEXT_FOLDERS ${GETTEXT_PLUGINS})
352-set (VERSION_FOLDERS "0.2.1")
353-set (PACKAGE_FOLDERS "cd-Folders")
354-set (foldersdatadir "${pluginsdatadir}/Folders")
355-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Folders/data/Folders.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Folders/data/Folders.conf)
356-add_subdirectory (Folders)
357-
358-############# GMENU #################
359-set (with_gmenu "no")
360-if (NOT "${enable-gmenu}" STREQUAL "no")
361- pkg_check_modules (GMENU_PACKAGE libgnome-menu)
362- if ("${GMENU_PACKAGE_FOUND}" STREQUAL "")
363- message (STATUS "Could not find libgnome-menu; Cairo-Dock won't be built with GMenu applet.")
364- else()
365- set (GETTEXT_GMENU ${GETTEXT_PLUGINS})
366- set (VERSION_GMENU "1.1.6")
367- set (PACKAGE_GMENU "cd-GMenu")
368- set (with_gmenu "yes")
369- set (gmenudatadir "${pluginsdatadir}/GMenu")
370- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/GMenu/data/GMenu.conf.in ${CMAKE_CURRENT_BINARY_DIR}/GMenu/data/GMenu.conf)
371- add_subdirectory ("GMenu")
372- endif()
373-endif()
374-
375-############# GVFS-INTEGRATION #################
376-pkg_check_modules ("LIBGIO" "gio-2.0")
377-add_subdirectory (gvfs-integration)
378-
379-############# GNOME-INTEGRATION #################
380-set (with_gnome_integration "no")
381-if (NOT "${enable-gnome-integration}" STREQUAL "no")
382- pkg_check_modules (GNOME_INTEGRATION gio-2.0)
383- if ("${GNOME_INTEGRATION_FOUND}" STREQUAL "")
384- message (STATUS "Could not find gio; Cairo-Dock won't be built with Gnome>=2.22 support.")
385- else()
386- set (VERSION_GNOME_INTEGRATION "1.0.3")
387- set (PACKAGE_GNOME_INTEGRATION "cd_gnome-integration")
388- set (with_gnome_integration "yes")
389- set (gnome_integrationdatadir "${pluginsdatadir}/gnome-integration")
390- add_subdirectory ("gnome-integration")
391- endif()
392-endif()
393-
394-############# GNOME-INTEGRATION-OLD #################
395-set (with_gnome_integration_old "no")
396-if ("${enable-old-gnome-integration}" STREQUAL "yes")
397- pkg_check_modules (OLD_GNOME_INTEGRATION gnome-vfs-2.0 libgnomeui-2.0)
398- if ("${OLD_GNOME_INTEGRATION_FOUND}" STREQUAL "")
399- message (STATUS "Could not find gnome-vfs and/or gnomeui; Cairo-Dock won't be built with Gnome<2.22 support.")
400- else()
401- set (VERSION_GNOME_INTEGRATION_OLD "1.0.4")
402- set (PACKAGE_GNOME_INTEGRATION_OLD "cd_gnome-integration-old")
403- set (with_gnome_integration_old "yes")
404- set (gnome_integration_olddatadir "${pluginsdatadir}/gnome-integration-old")
405- add_subdirectory ("gnome-integration-old")
406- endif()
407-endif()
408-
409-############# ICON EFFECT #################
410-set (GETTEXT_ICON_EFFECTS ${GETTEXT_PLUGINS})
411-set (VERSION_ICON_EFFECTS "1.2.4")
412-set (PACKAGE_ICON_EFFECTS "cd-icon-effect")
413-set (icon_effectsdatadir "${pluginsdatadir}/icon-effect")
414-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/icon-effect/data/icon-effect.conf.in ${CMAKE_CURRENT_BINARY_DIR}/icon-effect/data/icon-effect.conf)
415-add_subdirectory (icon-effect)
416-
417-############# INDICATOR-APPLET #################
418-# Note: the names of dbusmenu-glib and dbusmenu-gtk have changed...
419-pkg_check_modules (DBUSMENU_04 QUIET dbusmenu-glib-0.4)
420-pkg_check_modules (DBUSMENU_GTK_04 QUIET dbusmenu-gtk-0.4)
421-pkg_check_modules (INDICATOR_APPLET indicator libido-0.1)
422-if ("${DBUSMENU_04_FOUND}" STREQUAL "1")
423- pkg_check_modules (DBUSMENU dbusmenu-glib-0.4)
424-else()
425- pkg_check_modules (DBUSMENU dbusmenu-glib)
426-endif()
427-if ("${DBUSMENU_GTK_04_FOUND}" STREQUAL "1")
428- pkg_check_modules (DBUSMENU_GTK dbusmenu-gtk-0.4)
429-else()
430- pkg_check_modules (DBUSMENU_GTK dbusmenu-gtk)
431-endif()
432-if ("${INDICATOR_APPLET_FOUND}" STREQUAL "1" AND "${DBUSMENU_FOUND}" STREQUAL "1" AND "${DBUSMENU_GTK_FOUND}" STREQUAL "1")
433- message (STATUS "DBUSMENU_VERSION : ${DBUSMENU_VERSION}")
434-
435- STRING (REGEX REPLACE "\\..*" "" DBUSMENU_MAJOR "${DBUSMENU_VERSION}")
436- # message (STATUS "DBUSMENU_MAJOR : ${DBUSMENU_MAJOR}")
437-
438- STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" DBUSMENU_MINOR "${DBUSMENU_VERSION}") # 0.1.7 => 1.7
439- STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_MINOR "${DBUSMENU_MINOR}")
440- # message (STATUS "DBUSMENU_MINOR : ${DBUSMENU_MINOR}")
441-
442- STRING (REGEX REPLACE ".*\\." "" DBUSMENU_NANO "${DBUSMENU_VERSION}")
443- STRING (REGEX REPLACE "-.*" "" DBUSMENU_NANO "${DBUSMENU_NANO}")
444- # message (STATUS "DBUSMENU_NANO : ${DBUSMENU_NANO}")
445-
446- execute_process(
447- COMMAND pkg-config --variable=iconsdir indicator
448- OUTPUT_VARIABLE INDICATORICONSDIR)
449- STRING (REGEX REPLACE "\n" "" INDICATORICONSDIR ${INDICATORICONSDIR}) # la commande rajoute un retour chariot ...
450- add_subdirectory (Indicator-applet)
451- set (with_indicator "yes")
452-endif()
453-
454-############# ILLUSION #################
455-set (GETTEXT_ILLUSION ${GETTEXT_PLUGINS})
456-set (VERSION_ILLUSION "1.0.7")
457-set (PACKAGE_ILLUSION "cd-illusion")
458-set (illusiondatadir "${pluginsdatadir}/illusion")
459-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/illusion/data/illusion.conf.in ${CMAKE_CURRENT_BINARY_DIR}/illusion/data/illusion.conf)
460-add_subdirectory (illusion)
461-
462-############# KDE-INTEGRATION #################
463-set (with_kde_integration "no")
464-if (NOT "${enable-kde-integration}" STREQUAL "no")
465- pkg_check_modules (KDE_INTEGRATION gio-2.0)
466- if ("${KDE_INTEGRATION_FOUND}" STREQUAL "")
467- message (STATUS "Could not find kde libs; Cairo-Dock won't be built with KDE support.")
468- else()
469- set (VERSION_KDE_INTEGRATION "0.0.2")
470- set (PACKAGE_KDE_INTEGRATION "cd_kde-integration")
471- set (with_kde_integration "yes")
472- set (kde_integrationdatadir "${pluginsdatadir}/kde-integration")
473- add_subdirectory ("kde-integration")
474- endif()
475-endif()
476-
477-############# KEYBOARD_INDICATOR #################
478-set (with_keyboard_indicator "no")
479-pkg_check_modules (KEYBOARD_INDICATOR_PACKAGE libxklavier)
480-if ("${KEYBOARD_INDICATOR_PACKAGE_FOUND}" STREQUAL "")
481- message (STATUS "Could not find libxklavier; Cairo-Dock won't be built with keyboard-indicator applet.")
482-else()
483- set (GETTEXT_KEYBOARD_INDICATOR ${GETTEXT_PLUGINS})
484- set (VERSION_KEYBOARD_INDICATOR "1.1.3")
485- set (PACKAGE_KEYBOARD_INDICATOR "cd-keyboard-indicator")
486- set (with_keyboard_indicator "yes")
487- set (keyboard_indicatordatadir "${pluginsdatadir}/keyboard-indicator")
488- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/keyboard-indicator/data/keyboard-indicator.conf.in ${CMAKE_CURRENT_BINARY_DIR}/keyboard-indicator/data/keyboard-indicator.conf)
489- add_subdirectory ("keyboard-indicator")
490-endif()
491-
492-############# LOGOUT #################
493-set (GETTEXT_LOGOUT ${GETTEXT_PLUGINS})
494-set (VERSION_LOGOUT "1.2.10")
495-set (PACKAGE_LOGOUT "cd-logout")
496-set (logoutdatadir "${pluginsdatadir}/logout")
497-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/logout/data/logout.conf.in ${CMAKE_CURRENT_BINARY_DIR}/logout/data/logout.conf)
498-add_subdirectory (logout)
499-
500-############# MAIL #################
501-set (with_mail "no")
502-# find the compilation flags
503-execute_process(
504- COMMAND libetpan-config --cflags
505- OUTPUT_VARIABLE MAIL_PACKAGE_CFLAGS)
506-if (NOT "${MAIL_PACKAGE_CFLAGS}" STREQUAL "") # if we don't want to use it, we don't want to have an error
507- STRING (REGEX MATCHALL "-I[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_CFLAGS}") # first extract the "-I" options
508- STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
509- STRING (REGEX REPLACE " $" "" TMP_VARIABLE "${TMP_VARIABLE}")
510- STRING (REGEX REPLACE "-I([^ ]+)" "\\1" MAIL_PACKAGE_INCLUDE_DIRS "${TMP_VARIABLE}") # then remove the "-I" string
511-endif()
512-# find the link flags
513-execute_process(
514- COMMAND libetpan-config --libs
515- OUTPUT_VARIABLE MAIL_PACKAGE_LIBS)
516-if (NOT "${MAIL_PACKAGE_LIBS}" STREQUAL "")
517- # find the link libraries
518- STRING (REGEX MATCHALL "-l[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_LIBS}") # extract the "-l" options
519- STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
520- STRING (REGEX REPLACE " $" "" MAIL_PACKAGE_LIBRARIES "${TMP_VARIABLE}")
521- # find the link directories
522- STRING (REGEX MATCHALL "-L[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_LIBS}") # extract the "-L" options
523- STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
524- STRING (REGEX REPLACE " $" "" TMP_VARIABLE "${TMP_VARIABLE}")
525- STRING (REGEX REPLACE "-L([^ ]+)" "\\1" MAIL_PACKAGE_LIBRARY_DIRS "${TMP_VARIABLE}") # then remove the "-L" string
526-endif()
527-if ("${MAIL_PACKAGE_LIBS}" STREQUAL "")
528- message (STATUS "warning : Could not find libetpan; Cairo-Dock won't be built with Mail applet.")
529-else()
530- message (STATUS "libetpan found. Using the following options:")
531- message (STATUS " Include directories: ${MAIL_PACKAGE_INCLUDE_DIRS}")
532- message (STATUS " Link directories: ${MAIL_PACKAGE_LIBRARY_DIRS}")
533- message (STATUS " Link libraries: ${MAIL_PACKAGE_LIBRARIES}")
534- set (GETTEXT_MAIL ${GETTEXT_PLUGINS})
535- set (VERSION_MAIL "1.0.8")
536- set (PACKAGE_MAIL "cd-mail")
537- set (maildatadir "${pluginsdatadir}/mail")
538- set (with_mail "yes")
539- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/mail/data/mail.conf.in ${CMAKE_CURRENT_BINARY_DIR}/mail/data/mail.conf)
540- add_subdirectory ("mail")
541-endif()
542-
543-############# MEMENU #################
544-# We try to detect if the user is on Ubuntu to know which bus we have to use...
545-execute_process(
546- COMMAND lsb_release -i
547- OUTPUT_VARIABLE DISTRO_ID) # -> "Distributor ID: Ubuntu"
548-if (NOT "${DISTRO_ID}" STREQUAL "") # this tool isn't available on all distributions
549- STRING (REGEX REPLACE "\n" "" DISTRO_ID ${DISTRO_ID}) # retour chariot
550- STRING (REGEX REPLACE ".*: *\t*" "" DISTRO_ID ${DISTRO_ID})
551-
552- execute_process(
553- COMMAND lsb_release -r
554- OUTPUT_VARIABLE DISTRO_RELEASE) # -> "Release: 10.10"
555- STRING (REGEX REPLACE "\n" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # retour chariot
556- STRING (REGEX REPLACE ".*: *\t*" "" DISTRO_RELEASE ${DISTRO_RELEASE})
557-else()
558- # on Ubuntu deb builders, lsb_release isn't available but we can have a look to /etc/issue.net
559- get_filename_component(ISSUE_NET "/etc/issue.net" ABSOLUTE)
560- if (EXISTS ${ISSUE_NET}) # to not have an error with cat
561- execute_process(
562- COMMAND cat ${ISSUE_NET}
563- OUTPUT_VARIABLE DISTRO_RELEASE) # -> Ubuntu 10.10 || Ubuntu natty (development branch)
564- if (NOT "${DISTRO_RELEASE}" STREQUAL "")
565- STRING (REGEX REPLACE "\n" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # retour chariot
566- STRING (REGEX REPLACE " (.+)" "" DISTRO_ID ${DISTRO_RELEASE})
567- if ("${DISTRO_ID}" STREQUAL "Ubuntu")
568- STRING (REGEX REPLACE ".[(]development branch[)]" "" DISTRO_RELEASE ${DISTRO_RELEASE})
569- STRING (REGEX REPLACE ".LTS" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # Ubuntu 10.04.1 LTS
570- STRING (REGEX REPLACE "(.+) " "" DISTRO_RELEASE ${DISTRO_RELEASE})
571- if ("${DISTRO_RELEASE}" STREQUAL "natty")
572- set (DISTRO_RELEASE "11.04")
573- elseif ("${DISTRO_RELEASE}" STREQUAL "oneiric")
574- set (DISTRO_RELEASE "11.10")
575- endif()
576- endif()
577- endif()
578- endif()
579-endif()
580-
581-set (INDICATOR_OLD_NAMES 0)
582-if (NOT "${DISTRO_ID}" STREQUAL "")
583- message (STATUS "DISTRO_ID: ${DISTRO_ID}, DISTRO_RELEASE: ${DISTRO_RELEASE}")
584-endif()
585-if ("${DISTRO_ID}" STREQUAL "Ubuntu")
586- STRING (REGEX REPLACE "\\..*" "" DISTRO_RELEASE_MAJOR ${DISTRO_RELEASE})
587- # message (STATUS "DISTRO_RELEASE_MAJOR: ${DISTRO_RELEASE_MAJOR}")
588- if (${DISTRO_RELEASE_MAJOR} LESS 11) # from 11.04, new names are used.
589- set (INDICATOR_OLD_NAMES 1)
590- message (STATUS "Indicators: use old Ayatana Dbus names")
591- endif()
592-endif()
593-
594-set (with_me_menu "no")
595-if ("${with_indicator}" STREQUAL "yes")
596- set (GETTEXT_MEMENU ${GETTEXT_PLUGINS})
597- set (VERSION_MEMENU "1.0.1")
598- set (PACKAGE_MEMENU "cd-MeMenu")
599- set (memenudatadir "${pluginsdatadir}/MeMenu")
600- set (with_me_menu "yes")
601- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/MeMenu/data/MeMenu.conf.in ${CMAKE_CURRENT_BINARY_DIR}/MeMenu/data/MeMenu.conf)
602- add_subdirectory (MeMenu)
603-endif()
604-
605-############# MESSAGING_MENU #################
606-set (with_messaging_menu "no")
607-if ("${with_indicator}" STREQUAL "yes")
608- set (GETTEXT_MESSAGING_MENU ${GETTEXT_PLUGINS})
609- set (VERSION_MESSAGING_MENU "1.0.1")
610- set (PACKAGE_MESSAGING_MENU "cd-Messaging-Menu")
611- set (with_messaging_menu "yes")
612- set (messaging_menudatadir "${pluginsdatadir}/Messaging-Menu")
613- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Messaging-Menu/data/Messaging-Menu.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Messaging-Menu/data/Messaging-Menu.conf)
614- add_subdirectory (Messaging-Menu)
615-endif()
616-
617-############# MOTION BLUR #################
618-set (GETTEXT_MOTION_BLUR ${GETTEXT_PLUGINS})
619-set (VERSION_MOTION_BLUR "1.0.4")
620-set (PACKAGE_MOTION_BLUR "cd-motion_blur")
621-set (motion_blurdatadir "${pluginsdatadir}/motion-blur")
622-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/motion-blur/data/motion_blur.conf.in ${CMAKE_CURRENT_BINARY_DIR}/motion-blur/data/motion_blur.conf)
623-add_subdirectory (motion-blur)
624-
625-############# MUSICPLAYER #################
626-set (GETTEXT_MUSICPLAYER ${GETTEXT_PLUGINS})
627-set (VERSION_MUSICPLAYER "1.0.7")
628-set (PACKAGE_MUSICPLAYER "cd-musicPlayer")
629-set (musicplayerdatadir "${pluginsdatadir}/musicPlayer")
630-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/musicPlayer/data/musicPlayer.conf.in ${CMAKE_CURRENT_BINARY_DIR}/musicPlayer/data/musicPlayer.conf)
631-add_subdirectory (musicPlayer)
632-
633-############# NETSPEED #################
634-set (GETTEXT_NETSPEED ${GETTEXT_PLUGINS})
635-set (VERSION_NETSPEED "1.2.5")
636-set (PACKAGE_NETSPEED "cd-netspeed")
637-set (netspeeddatadir "${pluginsdatadir}/netspeed")
638-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/netspeed/data/netspeed.conf.in ${CMAKE_CURRENT_BINARY_DIR}/netspeed/data/netspeed.conf)
639-add_subdirectory (netspeed)
640-
641-############# NETWORK_MONITOR #################
642-set (with_network_monitor "no")
643-if ("${enable-network-monitor}" STREQUAL "yes")
644- set (GETTEXT_NETWORK_MONITOR ${GETTEXT_PLUGINS})
645- set (VERSION_NETWORK_MONITOR "0.2.3")
646- set (PACKAGE_NETWORK_MONITOR "cd-network-monitor")
647- set (with_network_monitor "yes")
648- set (network_monitordatadir "${pluginsdatadir}/Network-Monitor")
649- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Network-Monitor/data/Network-Monitor.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Network-Monitor/data/Network-Monitor.conf)
650- add_subdirectory (Network-Monitor)
651-endif()
652-
653-############# POWERMANAGER #################
654-set (GETTEXT_POWERMANAGER ${GETTEXT_PLUGINS})
655-set (VERSION_POWERMANAGER "1.3.4")
656-set (PACKAGE_POWERMANAGER "cd-powermanager")
657-set (powermanagerdatadir "${pluginsdatadir}/powermanager")
658-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/powermanager/data/powermanager.conf.in ${CMAKE_CURRENT_BINARY_DIR}/powermanager/data/powermanager.conf)
659-add_subdirectory (powermanager)
660-
661-############# QUICK BROWSER #################
662-set (GETTEXT_QUICK_BROWSER ${GETTEXT_PLUGINS})
663-set (VERSION_QUICK_BROWSER "1.0.8")
664-set (PACKAGE_QUICK_BROWSER "cd-quick-browser")
665-set (quick_browserdatadir "${pluginsdatadir}/quick_browser")
666-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/quick-browser/data/quick-browser.conf.in ${CMAKE_CURRENT_BINARY_DIR}/quick-browser/data/quick-browser.conf)
667-add_subdirectory (quick-browser)
668-
669-############# RECENT-EVENTS #################
670-set (with_recent_events "no")
671-pkg_check_modules (RECENT_EVENTS zeitgeist-1.0)
672-if ("${RECENT_EVENTS_FOUND}" STREQUAL "")
673- message (STATUS "Could not find libzeitgeist; Cairo-Dock won't be built with Zeitgeist support.")
674-else()
675- set (GETTEXT_RECENT_EVENTS ${GETTEXT_PLUGINS})
676- set (VERSION_RECENT_EVENTS "0.0.2")
677- set (PACKAGE_RECENT_EVENTS "cd-Recent-Events")
678- set (with_recent_events "yes")
679- set (recent_eventsdatadir "${pluginsdatadir}/Recent-Events")
680- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Recent-Events/data/Recent-Events.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Recent-Events/data/Recent-Events.conf)
681- add_subdirectory ("Recent-Events")
682-endif()
683-
684-############# REMOTE_CONTROL #################
685-set (GETTEXT_REMOTE_CONTROL ${GETTEXT_PLUGINS})
686-set (VERSION_REMOTE_CONTROL "0.0.2")
687-set (PACKAGE_REMOTE_CONTROL "cd-Remote-Control")
688-set (remote_controldatadir "${pluginsdatadir}/Remote-Control")
689-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Remote-Control/data/Remote-Control.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Remote-Control/data/Remote-Control.conf)
690-add_subdirectory (Remote-Control)
691-
692-############# RSSREADER #################
693-set (GETTEXT_RSS_READER ${GETTEXT_PLUGINS})
694-set (VERSION_RSS_READER "1.0.3")
695-set (PACKAGE_RSS_READER "cd-rssreader")
696-set (rss_readerdatadir "${pluginsdatadir}/RSSreader")
697-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/RSSreader/data/RSSreader.conf.in ${CMAKE_CURRENT_BINARY_DIR}/RSSreader/data/RSSreader.conf)
698-add_subdirectory (RSSreader)
699-
700-############# SCOOBY_DO #################
701-set (with_scooby_do "no")
702-if ("${enable-scooby-do}" STREQUAL "yes")
703- set (GETTEXT_SCOOBY_DO ${GETTEXT_PLUGINS})
704- set (VERSION_SCOOBY_DO "0.1.1")
705- set (PACKAGE_SCOOBY_DO "cd-scooby-do")
706- set (with_scooby_do "yes")
707- set (scooby_dodatadir "${pluginsdatadir}/Scooby-Do")
708- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Scooby-Do/data/Scooby-Do.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Scooby-Do/data/Scooby-Do.conf)
709- add_subdirectory (Scooby-Do)
710-endif()
711-
712-############# SHORTCUTS #################
713-set (GETTEXT_SHORTCUTS ${GETTEXT_PLUGINS})
714-set (VERSION_SHORTCUTS "1.3.1")
715-set (PACKAGE_SHORTCUTS "cd-shortcuts")
716-set (shortcutsdatadir "${pluginsdatadir}/shortcuts")
717-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/shortcuts/data/shortcuts.conf.in ${CMAKE_CURRENT_BINARY_DIR}/shortcuts/data/shortcuts.conf)
718-add_subdirectory (shortcuts)
719-
720-############# SHOW DESKTOP #################
721-set (with_xrandr "yes")
722-pkg_check_modules (SHOW_DESKTOP_XRANDR xrandr)
723-if ("${SHOW_DESKTOP_XRANDR_FOUND}" STREQUAL "")
724- message (STATUS "Could not find xrandr; ShowDesktop won't be built with screen resolution abilities.")
725- set (with_xrandr "no")
726-endif()
727-set (GETTEXT_SHOW_DESKTOP ${GETTEXT_PLUGINS})
728-set (VERSION_SHOW_DESKTOP "1.2.4")
729-set (PACKAGE_SHOW_DESKTOP "cd-showDesktop")
730-set (show_desktopdatadir "${pluginsdatadir}/showDesktop")
731-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/showDesktop/data/showDesktop.conf.in ${CMAKE_CURRENT_BINARY_DIR}/showDesktop/data/showDesktop.conf)
732-add_subdirectory (showDesktop)
733-
734-############# SHOW MOUSE #################
735-set (GETTEXT_SHOW_MOUSE ${GETTEXT_PLUGINS})
736-set (VERSION_SHOW_MOUSE "1.0.4")
737-set (PACKAGE_SHOW_MOUSE "cd-show_mouse")
738-set (show_mousedatadir "${pluginsdatadir}/show_mouse")
739-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/show-mouse/data/show_mouse.conf.in ${CMAKE_CURRENT_BINARY_DIR}/show-mouse/data/show_mouse.conf)
740-add_subdirectory (show-mouse)
741-
742-############# SLIDER #################
743-set (with_exif "yes")
744-pkg_check_modules (EXIF libexif)
745-if ("${EXIF_FOUND}" STREQUAL "")
746- message (STATUS "Could not find libexif; Slider won't be able to rotate the images accordingly to their exif data.")
747- set (with_exif "no")
748-endif()
749-set (GETTEXT_SLIDER ${GETTEXT_PLUGINS})
750-set (VERSION_SLIDER "2.0.8")
751-set (PACKAGE_SLIDER "cd-slider")
752-set (sliderdatadir "${pluginsdatadir}/slider")
753-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/slider/data/slider.conf.in ${CMAKE_CURRENT_BINARY_DIR}/slider/data/slider.conf)
754-add_subdirectory (slider)
755-
756-############# STACK #################
757-set (GETTEXT_STACK ${GETTEXT_PLUGINS})
758-set (VERSION_STACK "0.3.1")
759-set (PACKAGE_STACK "cd-stack")
760-set (stackdatadir "${pluginsdatadir}/stack")
761-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/stack/data/stack.conf.in ${CMAKE_CURRENT_BINARY_DIR}/stack/data/stack.conf)
762-add_subdirectory (stack)
763-
764-############# STATUS NOTIFIER #################
765-if ("${DBUSMENU_GTK_FOUND}" STREQUAL "")
766- message (STATUS "Could not find Status-Notifier libs; Cairo-Dock won't be built with Status-Notifier support.")
767-else()
768- set (GETTEXT_STATUS_NOTIFIER ${GETTEXT_PLUGINS})
769- set (VERSION_STATUS_NOTIFIER "0.1.3")
770- set (PACKAGE_STATUS_NOTIFIER "cd-status-notifier")
771- set (with_status_notifier "yes")
772- set (status_notifierdatadir "${pluginsdatadir}/Status-Notifier")
773- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Status-Notifier/data/Status-Notifier.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Status-Notifier/data/Status-Notifier.conf)
774- add_subdirectory (Status-Notifier)
775-endif()
776-
777-############# SWITCHER #################
778-set (GETTEXT_SWITCHER ${GETTEXT_PLUGINS})
779-set (VERSION_SWITCHER "2.1.6")
780-set (PACKAGE_SWITCHER "cd-switcher")
781-set (switcherdatadir "${pluginsdatadir}/switcher")
782-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/switcher/data/switcher.conf.in ${CMAKE_CURRENT_BINARY_DIR}/switcher/data/switcher.conf)
783-add_subdirectory (switcher)
784-
785-############# SYSTEM MONITOR #################
786-set (with_sensors "yes")
787-find_package (Sensors)
788-if (NOT "${SENSORS_FOUND}" STREQUAL "TRUE")
789- message (STATUS "Could not find libsensors; System-Monitor won't be able to monitor fan speed and CPU temperature.")
790- set (with_sensors "no")
791-endif()
792-set (GETTEXT_SYSTEM_MONITOR ${GETTEXT_PLUGINS})
793-set (VERSION_SYSTEM_MONITOR "1.0.6")
794-set (PACKAGE_SYSTEM_MONITOR "cd-system-monitor")
795-set (system_monitordatadir "${pluginsdatadir}/System-monitor")
796-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/System-Monitor/data/System-Monitor.conf.in ${CMAKE_CURRENT_BINARY_DIR}/System-Monitor/data/System-Monitor.conf)
797-add_subdirectory (System-Monitor)
798-
799-############# SYSTRAY #################
800-set (GETTEXT_SYSTRAY ${GETTEXT_PLUGINS})
801-set (VERSION_SYSTRAY "0.2.2")
802-set (PACKAGE_SYSTRAY "cd-systray")
803-set (systraydatadir "${pluginsdatadir}/systray")
804-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/systray/data/systray.conf.in ${CMAKE_CURRENT_BINARY_DIR}/systray/data/systray.conf)
805-add_subdirectory (systray)
806-
807-############# TERMINAL #################
808-pkg_check_modules (TERMINAL_PACKAGE vte)
809-if ("${TERMINAL_PACKAGE_FOUND}" STREQUAL "")
810- message (STATUS "Could not find libvte; Cairo-Dock won't be built with terminal applet.")
811- set (with_terminal "no")
812-else()
813- set (GETTEXT_TERMINAL ${GETTEXT_PLUGINS})
814- set (VERSION_TERMINAL "1.0.10")
815- set (PACKAGE_TERMINAL "cd-terminal")
816- set (with_terminal "yes")
817- set (terminaldatadir "${pluginsdatadir}/terminal")
818- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/terminal/data/terminal.conf.in ${CMAKE_CURRENT_BINARY_DIR}/terminal/data/terminal.conf)
819- add_subdirectory (terminal)
820-endif()
821-
822-############# TOMBOY #################
823-set (GETTEXT_TOMBOY ${GETTEXT_PLUGINS})
824-set (VERSION_TOMBOY "1.3.1")
825-set (PACKAGE_TOMBOY "cd-tomboy")
826-set (tomboydatadir "${pluginsdatadir}/tomboy")
827-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/tomboy/data/tomboy.conf.in ${CMAKE_CURRENT_BINARY_DIR}/tomboy/data/tomboy.conf)
828-add_subdirectory (tomboy)
829-
830-############# TOONS #################
831-set (GETTEXT_TOONS ${GETTEXT_PLUGINS})
832-set (VERSION_TOONS "1.0.8")
833-set (PACKAGE_TOONS "cd-Toons")
834-set (toonsdatadir "${pluginsdatadir}/Toons")
835-set (toonsuserdirname "Toons")
836-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Toons/data/Toons.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Toons/data/Toons.conf)
837-add_subdirectory (Toons)
838-
839-############# WEATHER #################
840-set (GETTEXT_WEATHER ${GETTEXT_PLUGINS})
841-set (VERSION_WEATHER "1.2.10")
842-set (PACKAGE_WEATHER "cd-weather")
843-set (weatherdatadir "${pluginsdatadir}/weather")
844-set (weatheruserdirname "weather")
845-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/weather/data/weather.conf.in ${CMAKE_CURRENT_BINARY_DIR}/weather/data/weather.conf)
846-add_subdirectory (weather)
847-
848-############# WEBLETS #################
849-set (with_weblets "no")
850-if (NOT "${enable-weblets}" STREQUAL "no")
851- pkg_check_modules (WEBKIT webkit-1.0)
852- if ("${WEBKIT_FOUND}" STREQUAL "")
853- message (STATUS "Could not find webkit-1.0; Cairo-Dock won't be built with Weblets applet.")
854- else()
855- set (GETTEXT_WEBLETS ${GETTEXT_PLUGINS})
856- set (VERSION_WEBLETS "0.0.10")
857- set (PACKAGE_WEBLETS "cd-weblets")
858- set (webletsdatadir "${pluginsdatadir}/weblets")
859- set (with_weblets "yes")
860- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/weblets/data/weblets.conf.in ${CMAKE_CURRENT_BINARY_DIR}/weblets/data/weblets.conf)
861- add_subdirectory ("weblets")
862- endif()
863-endif()
864-
865-############# WIFI #################
866-set (GETTEXT_WIFI ${GETTEXT_PLUGINS})
867-set (VERSION_WIFI "1.2.6")
868-set (PACKAGE_WIFI "cd-wifi")
869-set (wifidatadir "${pluginsdatadir}/wifi")
870-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/wifi/data/wifi.conf.in ${CMAKE_CURRENT_BINARY_DIR}/wifi/data/wifi.conf)
871-add_subdirectory (wifi)
872-
873-############# XFCE-INTEGRATION #################
874-set (with_xfce_integration "no")
875-if (NOT "${enable-xfce-integration}" STREQUAL "no")
876- pkg_check_modules (XFCE_INTEGRATION_THUNAR thunar-vfs-1)
877- pkg_check_modules (XFCE_INTEGRATION_GVFS gio-2.0)
878- if ("${XFCE_INTEGRATION_THUNAR_FOUND}" STREQUAL "" AND "${XFCE_INTEGRATION_GVFS_FOUND}" STREQUAL "")
879- message (STATUS "Could find neither thunar-vfs or libgio-2.0; Cairo-Dock won't be built with XFCE support.")
880- else()
881- set (VERSION_XFCE_INTEGRATION "1.0.3")
882- set (PACKAGE_XFCE_INTEGRATION "cd_xfce-integration")
883- set (with_xfce_integration "yes")
884- set (xfce_integrationdatadir "${pluginsdatadir}/xfce-integration")
885- add_subdirectory ("xfce-integration")
886- endif()
887-endif()
888-
889-############# XGAMMA #################
890-pkg_check_modules (XGAMMA_PACKAGE x11 xxf86vm)
891-if ("${XGAMMA_PACKAGE_FOUND}" STREQUAL "")
892- message (STATUS "Could not find xxf86vm; Cairo-Dock won't be built with Xgamma applet.")
893- set (with_xgamma "no")
894-else()
895- set (GETTEXT_XGAMMA ${GETTEXT_PLUGINS})
896- set (VERSION_XGAMMA "1.2.0")
897- set (PACKAGE_XGAMMA "cd-Xgamma")
898- set (with_xgamma "yes")
899- set (xgammadatadir "${pluginsdatadir}/Xgamma")
900- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Xgamma/data/Xgamma.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Xgamma/data/Xgamma.conf)
901- add_subdirectory ("Xgamma")
902-endif()
903-
904-message ("")
905-message (STATUS "===============")
906-message (STATUS "Language build:")
907-message (STATUS "===============")
908-message ("")
909-add_subdirectory (po)
910-
911-message ("")
912-message (STATUS "===============")
913-message (STATUS "Plug-ins build:")
914-message (STATUS "===============")
915-message ("")
916-message (STATUS "Stable:")
917-message (STATUS " - with Alsa-Mixer applet: ${with_alsa}")
918-message (STATUS " - with iCal support: ${with_ical}")
919-message (STATUS " - with GMenu applet: ${with_gmenu}")
920-message (STATUS " - with Gnome support: ${with_gnome_integration}")
921-message (STATUS " - with KDE support: ${with_kde_integration}")
922-message (STATUS " - with XFCE support: ${with_xfce_integration}")
923-message (STATUS " - with Keyboard-indicator applet: ${with_keyboard_indicator}")
924-message (STATUS " - with Mail applet: ${with_mail}")
925-message (STATUS " - with Me-Menu applet: ${with_me_menu}")
926-message (STATUS " - with Messaging-Menu: ${with_messaging_menu}")
927-message (STATUS " - with Screen Resolution support: ${with_xrandr}")
928-message (STATUS " - with Status-Notifier applet: ${with_status_notifier}")
929-message (STATUS " - with Sensors support: ${with_sensors}")
930-message (STATUS " - with Terminal applet: ${with_terminal}")
931-message (STATUS " - with Weblets applet: ${with_weblets}")
932-message (STATUS " - with Xgamma applet: ${with_xgamma}")
933-message (STATUS " - with Recent-Events applet: ${with_recent_events}")
934-message (STATUS " - with Python interface: ${with_python}")
935-message (STATUS " - with Ruby interface: ${with_ruby}")
936-message (STATUS " - with Mono interface: ${with_mono}")
937-message (STATUS " - with Vala interface: ${with_vala}")
938-message (STATUS " - with Vala Translator (valac) : ${with_valac}")
939-message (STATUS "Unstable:")
940-message (STATUS " - with Disks applet: ${with_disks}")
941-message (STATUS " - with Doncky applet: ${with_doncky}")
942-message (STATUS " - with Network-Monitor applet: ${with_network_monitor}")
943-message (STATUS " - with Scooby-Do applet: ${with_scooby_do}")
944-message (STATUS "Unsupported:")
945-message (STATUS " - with old Gnome support: ${with_gnome_integration_old}")
946-message ("")
947
948=== removed directory '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share'
949=== removed directory '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src'
950=== removed file '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src/applet-backend-ubuntuone.c'
951--- .pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src/applet-backend-ubuntuone.c 2011-06-06 10:13:07 +0000
952+++ .pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src/applet-backend-ubuntuone.c 1970-01-01 00:00:00 +0000
953@@ -1,95 +0,0 @@
954-/**
955-* This file is a part of the Cairo-Dock project
956-*
957-* Copyright : (C) see the 'copyright' file.
958-* E-mail : see the 'copyright' file.
959-*
960-* This program is free software; you can redistribute it and/or
961-* modify it under the terms of the GNU General Public License
962-* as published by the Free Software Foundation; either version 3
963-* of the License, or (at your option) any later version.
964-*
965-* This program is distributed in the hope that it will be useful,
966-* but WITHOUT ANY WARRANTY; without even the implied warranty of
967-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
968-* GNU General Public License for more details.
969-* You should have received a copy of the GNU General Public License
970-* along with this program. If not, see <http://www.gnu.org/licenses/>.
971-*/
972-
973-#define _BSD_SOURCE
974-#include <stdlib.h>
975-#include <math.h>
976-#include <unistd.h>
977-#include <glib/gstdio.h>
978-#include <string.h>
979-
980-#include "applet-struct.h"
981-#include "applet-dnd2share.h"
982-#include "applet-backend-ubuntuone.h"
983-
984-#define NB_URLS 1
985-static const gchar *s_UrlLabels[NB_URLS] = {"DirectLink"};
986-
987-
988-static void upload (const gchar *cFilePath, gchar *cDropboxDir, gboolean bAnonymous, gint iLimitRate, gchar **cResultUrls)
989-{
990- // On lance la commande d'upload.
991- gchar *cFileName = g_path_get_basename (cFilePath);
992- gchar *cLocalFilePath;
993- if (cDropboxDir)
994- cLocalFilePath = g_strdup_printf ("%s/%s", cDropboxDir, cFileName);
995- else
996- cLocalFilePath = g_strdup_printf ("/home/%s/Ubuntu One/%s", g_getenv ("USER"), cFileName);
997- g_free (cFileName);
998-
999- gchar *cCommand = g_strdup_printf ("cp \"%s\" \"%s\"", cFilePath, cLocalFilePath);
1000- cd_debug ("commande u1 : %s", cCommand);
1001- int r = system (cCommand);
1002- g_free (cCommand);
1003- if (r != 0)
1004- {
1005- cd_warning ("couldn't copy the file to %s", cLocalFilePath);
1006- g_free (cLocalFilePath);
1007- return;
1008- }
1009-
1010- // On recupere l'URL (dispo tout de suite, sinon il faudra boucler en testant 'dropbox status' jusqu'a avoir 'Idle').
1011- cCommand= g_strdup_printf ("u1sdtool --publish-file \"%s\"", cLocalFilePath);
1012- cd_debug ("commande u2 : %s", cCommand);
1013- gchar *cResult = cairo_dock_launch_command_sync (cCommand);
1014- g_free (cCommand);
1015- g_free (cLocalFilePath);
1016- if (cResult == NULL || *cResult == '\0')
1017- {
1018- cd_warning ("is u1sdtool installed?");
1019- return ;
1020- }
1021-
1022- if (cResult[strlen(cResult)-1] == '\r')
1023- cResult[strlen(cResult)-1] = '\0';
1024- if (cResult[strlen(cResult)-1] == '\n')
1025- cResult[strlen(cResult)-1] = '\0';
1026-
1027- // Enfin on remplit la memoire partagee avec nos URLs.
1028- gchar *str = strstr (cResult, "http"); // File is published at http://ubuntuone.com/x/y
1029- if (! str)
1030- {
1031- cd_warning ("couldn't publish this file: %s", cResult);
1032- g_free (cResult);
1033- return ;
1034- }
1035- cResultUrls[0] = g_strdup (str);
1036- g_free (cResult);
1037-}
1038-
1039-
1040-void cd_dnd2share_register_ubuntuone_backend (void)
1041-{
1042- cd_dnd2share_register_new_backend (CD_TYPE_FILE,
1043- "UbuntuOne",
1044- NB_URLS,
1045- s_UrlLabels,
1046- 0,
1047- upload);
1048-}
1049
1050=== removed directory '.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch'
1051=== removed directory '.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather'
1052=== removed directory '.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src'
1053=== removed file '.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src/applet-read-data.c'
1054--- .pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src/applet-read-data.c 2011-06-06 10:13:07 +0000
1055+++ .pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src/applet-read-data.c 1970-01-01 00:00:00 +0000
1056@@ -1,462 +0,0 @@
1057-/**
1058-* This file is a part of the Cairo-Dock project
1059-*
1060-* Copyright : (C) see the 'copyright' file.
1061-* E-mail : see the 'copyright' file.
1062-*
1063-* This program is free software; you can redistribute it and/or
1064-* modify it under the terms of the GNU General Public License
1065-* as published by the Free Software Foundation; either version 3
1066-* of the License, or (at your option) any later version.
1067-*
1068-* This program is distributed in the hope that it will be useful,
1069-* but WITHOUT ANY WARRANTY; without even the implied warranty of
1070-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1071-* GNU General Public License for more details.
1072-* You should have received a copy of the GNU General Public License
1073-* along with this program. If not, see <http://www.gnu.org/licenses/>.
1074-*/
1075-
1076-#define _BSD_SOURCE
1077-#include <string.h>
1078-#include <stdio.h>
1079-#include <unistd.h>
1080-
1081-#include <libxml/tree.h>
1082-#include <libxml/parser.h>
1083-#include <glib/gstdio.h>
1084-
1085-#include "applet-struct.h"
1086-#include "applet-load-icons.h"
1087-#include "applet-read-data.h"
1088-
1089-#define CD_WEATHER_BASE_URL "http://xml.weather.com"
1090-
1091-
1092-static xmlDocPtr _cd_weather_open_xml_buffer (const gchar *cData, xmlNodePtr *root_node, const gchar *cRootNodeName, GError **erreur)
1093-{
1094- if (cData == NULL || *cData == '\0')
1095- {
1096- g_set_error (erreur, 1, 1, "empty data (no connection ?)");
1097- return NULL;
1098- }
1099- int length = strlen (cData);
1100-
1101- gchar *cRootNode = g_strdup_printf ("<%s ", cRootNodeName);
1102- if (g_strstr_len (cData, length, cRootNode) == NULL) // on intercepte le cas ou une connexion a un hotspot nous renvoie une page meme quand la connexion a weather.com n'a pas pu se faire, car ca fait planter libxml.
1103- {
1104- g_set_error (erreur, 1, 1, "uncorrect data (no connection ?)");
1105- g_free (cRootNode);
1106- return NULL;
1107- }
1108- g_free (cRootNode);
1109- xmlInitParser ();
1110-
1111- xmlDocPtr doc = xmlParseMemory (cData, length);
1112- if (doc == NULL)
1113- {
1114- g_set_error (erreur, 1, 1, "uncorrect data (no connection ?)");
1115- return NULL;
1116- }
1117-
1118- xmlNodePtr noeud = xmlDocGetRootElement (doc);
1119- if (noeud == NULL || xmlStrcmp (noeud->name, (const xmlChar *) cRootNodeName) != 0)
1120- {
1121- g_set_error (erreur, 1, 2, "xml data is not well formed (weather.com may have changed its data format)");
1122- return doc;
1123- }
1124- *root_node = noeud;
1125- return doc;
1126-}
1127-static xmlDocPtr _cd_weather_open_xml_file (const gchar *cDataFilePath, xmlNodePtr *root_node, const gchar *cRootNodeName, GError **erreur)
1128-{
1129- gsize length = 0;
1130- gchar *cContent = NULL;
1131- g_file_get_contents (cDataFilePath,
1132- &cContent,
1133- &length,
1134- NULL);
1135- xmlDocPtr doc = _cd_weather_open_xml_buffer (cContent, root_node, cRootNodeName, erreur);
1136- g_free (cContent);
1137- return doc;
1138-}
1139-static void _cd_weather_close_xml_file (xmlDocPtr doc)
1140-{
1141- if (doc != NULL)
1142- xmlFreeDoc (doc); // pas de xmlCleanupParser, ca fout le boxon.
1143-}
1144-
1145-
1146-GList *cd_weather_parse_location_data (const gchar *cData, GError **erreur)
1147-{
1148- GError *tmp_erreur = NULL;
1149- xmlNodePtr noeud = NULL;
1150- xmlDocPtr doc = _cd_weather_open_xml_buffer (cData, &noeud, "search", &tmp_erreur);
1151- if (tmp_erreur != NULL)
1152- {
1153- g_propagate_error (erreur, tmp_erreur);
1154- _cd_weather_close_xml_file (doc);
1155- return NULL;
1156- }
1157-
1158- GList *cLocationsList = NULL;
1159- xmlNodePtr param;
1160- for (param = noeud->xmlChildrenNode; param != NULL; param = param->next)
1161- {
1162- if (xmlStrcmp (param->name, (const xmlChar *) "loc") == 0)
1163- {
1164- cLocationsList = g_list_prepend (cLocationsList, xmlNodeGetContent (param));
1165- cLocationsList = g_list_prepend (cLocationsList, xmlGetProp (param, (xmlChar *) "id"));
1166- }
1167- }
1168- _cd_weather_close_xml_file (doc);
1169- return cLocationsList;
1170-}
1171-
1172-
1173-static void _cd_weather_parse_data (CDSharedMemory *pSharedMemory, const gchar *cData, gboolean bParseHeader, GError **erreur)
1174-{
1175- GError *tmp_erreur = NULL;
1176- xmlNodePtr noeud = NULL;
1177- xmlDocPtr doc = _cd_weather_open_xml_buffer (cData, &noeud, "weather", &tmp_erreur);
1178- if (tmp_erreur != NULL)
1179- {
1180- g_propagate_error (erreur, tmp_erreur);
1181- _cd_weather_close_xml_file (doc);
1182- return ;
1183- }
1184-
1185- xmlNodePtr param, fils, petitfils, arrpetitfils, arrarrpetitfils;
1186- gchar *nom, *visible, *name, *defaultsource = NULL, *source, *where;
1187- xmlChar *contenu;
1188- int i, j;
1189- gchar *index_str, *cDayName, *cDate, *str;
1190- for (param = noeud->xmlChildrenNode; param != NULL; param = param->next)
1191- {
1192- if (bParseHeader && xmlStrcmp (param->name, (const xmlChar *) "head") == 0)
1193- {
1194- for (fils = param->children; fils != NULL; fils = fils->next)
1195- {
1196- if (xmlStrcmp (fils->name, (const xmlChar *) "ut") == 0)
1197- {
1198- gchar *degree = xmlNodeGetContent (fils);
1199- if (degree == NULL || strncmp (degree, "°", strlen ("°")) != 0) // prepend ° if not present.
1200- {
1201- pSharedMemory->wdata.units.cTemp = g_strconcat ("°", degree, NULL);
1202- g_free (degree);
1203- }
1204- else
1205- pSharedMemory->wdata.units.cTemp = degree;
1206- }
1207- else if (xmlStrcmp (fils->name, (const xmlChar *) "ud") == 0)
1208- pSharedMemory->wdata.units.cDistance = xmlNodeGetContent (fils);
1209- else if (xmlStrcmp (fils->name, (const xmlChar *) "us") == 0)
1210- pSharedMemory->wdata.units.cSpeed = xmlNodeGetContent (fils);
1211- else if (xmlStrcmp (fils->name, (const xmlChar *) "up") == 0)
1212- pSharedMemory->wdata.units.cPressure = xmlNodeGetContent (fils);
1213- //else if (xmlStrcmp (fils->name, (const xmlChar *) "ur") == 0) // ?
1214- // pSharedMemory->wdata.units.cR = xmlNodeGetContent (fils);
1215- }
1216- }
1217- else if (bParseHeader && xmlStrcmp (param->name, (const xmlChar *) "loc") == 0)
1218- {
1219- for (fils = param->children; fils != NULL; fils = fils->next)
1220- {
1221- if (xmlStrcmp (fils->name, (const xmlChar *) "dnam") == 0)
1222- pSharedMemory->wdata.cLocation = xmlNodeGetContent (fils);
1223- /**else if (xmlStrcmp (fils->name, (const xmlChar *) "lat") == 0)
1224- pSharedMemory->cLat = xmlNodeGetContent (fils);
1225- else if (xmlStrcmp (fils->name, (const xmlChar *) "lon") == 0)
1226- pSharedMemory->cLon = xmlNodeGetContent (fils);*/
1227- else if (xmlStrcmp (fils->name, (const xmlChar *) "sunr") == 0)
1228- pSharedMemory->wdata.currentConditions.cSunRise = xmlNodeGetContent (fils);
1229- else if (xmlStrcmp (fils->name, (const xmlChar *) "suns") == 0)
1230- pSharedMemory->wdata.currentConditions.cSunSet = xmlNodeGetContent (fils);
1231- }
1232- }
1233- else if (xmlStrcmp (param->name, (const xmlChar *) "cc") == 0)
1234- {
1235- for (fils = param->children; fils != NULL; fils = fils->next)
1236- {
1237- if (xmlStrcmp (fils->name, (const xmlChar *) "lsup") == 0)
1238- pSharedMemory->wdata.currentConditions.cDataAcquisitionDate = xmlNodeGetContent (fils);
1239- else if (xmlStrcmp (fils->name, (const xmlChar *) "obst") == 0)
1240- pSharedMemory->wdata.currentConditions.cObservatory = xmlNodeGetContent (fils);
1241- else if (xmlStrcmp (fils->name, (const xmlChar *) "tmp") == 0)
1242- pSharedMemory->wdata.currentConditions.cTemp = xmlNodeGetContent (fils);
1243- else if (xmlStrcmp (fils->name, (const xmlChar *) "flik") == 0)
1244- pSharedMemory->wdata.currentConditions.cFeltTemp = xmlNodeGetContent (fils);
1245- else if (xmlStrcmp (fils->name, (const xmlChar *) "t") == 0)
1246- pSharedMemory->wdata.currentConditions.cWeatherDescription = xmlNodeGetContent (fils);
1247- else if (xmlStrcmp (fils->name, (const xmlChar *) "icon") == 0)
1248- pSharedMemory->wdata.currentConditions.cIconNumber = xmlNodeGetContent (fils);
1249- else if (xmlStrcmp (fils->name, (const xmlChar *) "wind") == 0)
1250- {
1251- for (petitfils = fils->children; petitfils != NULL; petitfils = petitfils->next)
1252- {
1253- if (xmlStrcmp (petitfils->name, (const xmlChar *) "s") == 0)
1254- pSharedMemory->wdata.currentConditions.cWindSpeed = xmlNodeGetContent (petitfils);
1255- else if (xmlStrcmp (petitfils->name, (const xmlChar *) "t") == 0)
1256- pSharedMemory->wdata.currentConditions.cWindDirection = xmlNodeGetContent (petitfils);
1257- }
1258- }
1259- else if (xmlStrcmp (fils->name, (const xmlChar *) "bar") == 0)
1260- {
1261- for (petitfils = fils->children; petitfils != NULL; petitfils = petitfils->next)
1262- {
1263- if (xmlStrcmp (petitfils->name, (const xmlChar *) "r") == 0)
1264- pSharedMemory->wdata.currentConditions.cPressure = xmlNodeGetContent (petitfils);
1265- }
1266- }
1267- else if (xmlStrcmp (fils->name, (const xmlChar *) "hmid") == 0)
1268- pSharedMemory->wdata.currentConditions.cHumidity = xmlNodeGetContent (fils);
1269- else if (xmlStrcmp (fils->name, (const xmlChar *) "moon") == 0)
1270- {
1271- for (petitfils = fils->children; petitfils != NULL; petitfils = petitfils->next)
1272- {
1273- if (xmlStrcmp (petitfils->name, (const xmlChar *) "icon") == 0)
1274- pSharedMemory->wdata.currentConditions.cMoonIconNumber = xmlNodeGetContent (petitfils);
1275- }
1276- }
1277- }
1278- }
1279- else if (xmlStrcmp (param->name, (const xmlChar *) "dayf") == 0)
1280- {
1281- for (fils = param->children; fils != NULL; fils = fils->next)
1282- {
1283- if (xmlStrcmp (fils->name, (const xmlChar *) "lsup") == 0)
1284- pSharedMemory->wdata.currentConditions.cDataAcquisitionDate = xmlNodeGetContent (fils);
1285- else if (xmlStrcmp (fils->name, (const xmlChar *) "day") == 0)
1286- {
1287- index_str = (gchar *) xmlGetProp (fils, (xmlChar *) "d");
1288- if (index_str == NULL)
1289- continue;
1290- i = atoi (index_str);
1291- g_free (index_str);
1292- cDayName = (gchar *) xmlGetProp (fils, (xmlChar *) "t");
1293- pSharedMemory->wdata.days[i].cName = g_strdup (D_(cDayName));
1294- g_free (cDayName);
1295- cDate = (gchar *) xmlGetProp (fils, (xmlChar *) "dt");
1296- str = strchr (cDate, ' ');
1297- if (str != NULL)
1298- {
1299- *str = '\0';
1300- pSharedMemory->wdata.days[i].cDate = g_strconcat (D_(cDate), " ", str+1, NULL);
1301- g_free (cDate);
1302- }
1303- else
1304- pSharedMemory->wdata.days[i].cDate = cDate;
1305- for (petitfils = fils->children; petitfils != NULL; petitfils = petitfils->next)
1306- {
1307- if (xmlStrcmp (petitfils->name, (const xmlChar *) "hi") == 0)
1308- pSharedMemory->wdata.days[i].cTempMax = xmlNodeGetContent (petitfils);
1309- else if (xmlStrcmp (petitfils->name, (const xmlChar *) "low") == 0)
1310- pSharedMemory->wdata.days[i].cTempMin = xmlNodeGetContent (petitfils);
1311- else if (xmlStrcmp (petitfils->name, (const xmlChar *) "sunr") == 0)
1312- pSharedMemory->wdata.days[i].cSunRise = xmlNodeGetContent (petitfils);
1313- else if (xmlStrcmp (petitfils->name, (const xmlChar *) "suns") == 0)
1314- pSharedMemory->wdata.days[i].cSunSet = xmlNodeGetContent (petitfils);
1315- else if (xmlStrcmp (petitfils->name, (const xmlChar *) "part") == 0)
1316- {
1317- index_str = (gchar *) xmlGetProp (petitfils, (xmlChar *) "p");
1318- if (index_str == NULL)
1319- continue;
1320- j = (*index_str == 'd' ? 0 : 1); // jour : 0 / nuit : 1.
1321- for (arrpetitfils = petitfils->children; arrpetitfils != NULL; arrpetitfils = arrpetitfils->next)
1322- {
1323- if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "icon") == 0)
1324- pSharedMemory->wdata.days[i].part[j].cIconNumber = xmlNodeGetContent (arrpetitfils);
1325- else if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "t") == 0)
1326- pSharedMemory->wdata.days[i].part[j].cWeatherDescription = xmlNodeGetContent (arrpetitfils);
1327- else if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "wind") == 0)
1328- {
1329- for (arrarrpetitfils = arrpetitfils->children; arrarrpetitfils != NULL; arrarrpetitfils = arrarrpetitfils->next)
1330- {
1331- if (xmlStrcmp (arrarrpetitfils->name, (const xmlChar *) "s") == 0)
1332- pSharedMemory->wdata.days[i].part[j].cWindSpeed = xmlNodeGetContent (arrarrpetitfils);
1333- else if (xmlStrcmp (arrarrpetitfils->name, (const xmlChar *) "t") == 0)
1334- pSharedMemory->wdata.days[i].part[j].cWindDirection = xmlNodeGetContent (arrarrpetitfils);
1335- }
1336- }
1337- else if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "hmid") == 0)
1338- pSharedMemory->wdata.days[i].part[j].cHumidity = xmlNodeGetContent (arrpetitfils);
1339- else if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "ppcp") == 0)
1340- pSharedMemory->wdata.days[i].part[j].cPrecipitationProba = xmlNodeGetContent (arrpetitfils);
1341- }
1342- }
1343- }
1344- } // fin du jour n.
1345- }
1346- }
1347- }
1348- _cd_weather_close_xml_file (doc);
1349-}
1350-
1351-
1352-static void cd_weather_get_distant_data (CDSharedMemory *pSharedMemory)
1353-{
1354- //\____________________ On recupere les conditions courantes sur le serveur.
1355- pSharedMemory->bErrorInThread = FALSE;
1356- GError *erreur = NULL;
1357- gchar *cCommand;
1358- gchar *cCCData = NULL;
1359- if (pSharedMemory->bCurrentConditions)
1360- {
1361- gchar *cURL = g_strdup_printf (CD_WEATHER_BASE_URL"/weather/local/%s?cc=*%s", pSharedMemory->cLocationCode, (pSharedMemory->bISUnits ? "&unit=m" : ""));
1362- cCCData = cairo_dock_get_url_data (cURL, &erreur);
1363- g_free (cURL);
1364- if (erreur != NULL)
1365- {
1366- cd_warning ("while downloading current conditions data:\n%s -> %s", cURL, erreur->message);
1367- g_error_free (erreur);
1368- erreur = NULL;
1369- }
1370- if (cCCData == NULL)
1371- {
1372- pSharedMemory->bErrorInThread = TRUE;
1373- return; // a la 1ere erreur on quitte.
1374- }
1375- }
1376-
1377- //\____________________ On recupere les previsions a N jours sur le serveur.
1378- gchar *cForecastData = NULL;
1379- if (pSharedMemory->iNbDays > 0)
1380- {
1381- gchar *cURL = g_strdup_printf (CD_WEATHER_BASE_URL"/weather/local/%s?dayf=%d%s", pSharedMemory->cLocationCode, pSharedMemory->iNbDays, (pSharedMemory->bISUnits ? "&unit=m" : ""));
1382- cForecastData = cairo_dock_get_url_data (cURL, &erreur);
1383- g_free (cURL);
1384- if (erreur != NULL)
1385- {
1386- cd_warning ("while downloading forecast data:\n%s -> %s", cURL, erreur->message);
1387- g_error_free (erreur);
1388- erreur = NULL;
1389- pSharedMemory->bErrorInThread = TRUE;
1390- }
1391- if (cForecastData == NULL)
1392- {
1393- pSharedMemory->bErrorInThread = TRUE;
1394- }
1395- }
1396-
1397- //\____________________ On extrait les donnees des conditions courantes.
1398- if (cCCData != NULL)
1399- {
1400- _cd_weather_parse_data (pSharedMemory, cCCData, TRUE, &erreur);
1401- if (erreur != NULL)
1402- {
1403- cd_warning ("weather : %s", erreur->message);
1404- g_error_free (erreur);
1405- erreur = NULL;
1406- pSharedMemory->bErrorInThread = TRUE;
1407- }
1408- g_free (cCCData);
1409- }
1410-
1411- //\____________________ On extrait les donnees des previsions a N jours.
1412- if (cForecastData != NULL)
1413- {
1414- _cd_weather_parse_data (pSharedMemory, cForecastData, FALSE, &erreur);
1415- if (erreur != NULL)
1416- {
1417- cd_warning ("weather : %s", erreur->message);
1418- g_error_free (erreur);
1419- erreur = NULL;
1420- pSharedMemory->bErrorInThread = TRUE;
1421- }
1422- g_free (cForecastData);
1423- }
1424-}
1425-
1426-
1427-
1428-static void _reset_units (Unit *pUnits)
1429-{
1430- xmlFree (pUnits->cTemp);
1431- xmlFree (pUnits->cDistance);
1432- xmlFree (pUnits->cSpeed);
1433- xmlFree (pUnits->cPressure);
1434-}
1435-
1436-static void _reset_current_conditions (CurrentContitions *pCurrentContitions)
1437-{
1438- xmlFree (pCurrentContitions->cSunRise);
1439- xmlFree (pCurrentContitions->cSunSet);
1440- xmlFree (pCurrentContitions->cDataAcquisitionDate);
1441- xmlFree (pCurrentContitions->cObservatory);
1442- xmlFree (pCurrentContitions->cTemp);
1443- xmlFree (pCurrentContitions->cFeltTemp);
1444- xmlFree (pCurrentContitions->cWeatherDescription);
1445- xmlFree (pCurrentContitions->cIconNumber);
1446- xmlFree (pCurrentContitions->cWindSpeed);
1447- xmlFree (pCurrentContitions->cWindDirection);
1448- xmlFree (pCurrentContitions->cPressure);
1449- xmlFree (pCurrentContitions->cHumidity);
1450- xmlFree (pCurrentContitions->cMoonIconNumber);
1451-}
1452-
1453-static void _reset_current_one_day (Day *pDay)
1454-{
1455- xmlFree (pDay->cName);
1456- xmlFree (pDay->cDate);
1457- xmlFree (pDay->cTempMax);
1458- xmlFree (pDay->cTempMin);
1459- xmlFree (pDay->cSunRise);
1460- xmlFree (pDay->cSunSet);
1461- int j;
1462- for (j = 0; j < 2; j ++)
1463- {
1464- xmlFree (pDay->part[j].cIconNumber);
1465- xmlFree (pDay->part[j].cWeatherDescription);
1466- xmlFree (pDay->part[j].cWindSpeed);
1467- xmlFree (pDay->part[j].cWindDirection);
1468- xmlFree (pDay->part[j].cHumidity);
1469- xmlFree (pDay->part[j].cPrecipitationProba);
1470- }
1471-}
1472-
1473-void cd_weather_reset_weather_data (CDWeatherData *pData)
1474-{
1475- /**xmlFree (pData->cLon);
1476- xmlFree (pData->cLat);*/
1477- xmlFree (pData->cLocation);
1478- _reset_units (&pData->units);
1479- _reset_current_conditions (&pData->currentConditions);
1480- int i;
1481- for (i = 0; i < WEATHER_NB_DAYS_MAX; i ++)
1482- {
1483- _reset_current_one_day (&pData->days[i]);
1484- }
1485-}
1486-
1487-void cd_weather_reset_data (CairoDockModuleInstance *myApplet)
1488-{
1489- cd_weather_reset_weather_data (&myData.wdata);
1490-}
1491-
1492-static void _free_shared_memory (CDSharedMemory *pSharedMemory)
1493-{
1494- cd_weather_reset_weather_data (&pSharedMemory->wdata);
1495- g_free (pSharedMemory);
1496-}
1497-void cd_weather_launch_periodic_task (CairoDockModuleInstance *myApplet)
1498-{
1499- if (myData.pTask != NULL)
1500- {
1501- cairo_dock_discard_task (myData.pTask);
1502- myData.pTask = NULL;
1503- }
1504-
1505- CDSharedMemory *pSharedMemory = g_new0 (CDSharedMemory, 1);
1506- pSharedMemory->cLocationCode = g_strdup (myConfig.cLocationCode);
1507- pSharedMemory->bISUnits = myConfig.bISUnits;
1508- pSharedMemory->bCurrentConditions = myConfig.bCurrentConditions;
1509- pSharedMemory->iNbDays = myConfig.iNbDays;
1510- pSharedMemory->pApplet = myApplet;
1511-
1512- myData.pTask = cairo_dock_new_task_full (myConfig.iCheckInterval,
1513- (CairoDockGetDataAsyncFunc) cd_weather_get_distant_data,
1514- (CairoDockUpdateSyncFunc) cd_weather_update_from_data,
1515- (GFreeFunc) _free_shared_memory,
1516- pSharedMemory);
1517- cairo_dock_launch_task (myData.pTask);
1518-}
1519
1520=== removed file '.pc/applied-patches'
1521--- .pc/applied-patches 2011-06-06 10:13:07 +0000
1522+++ .pc/applied-patches 1970-01-01 00:00:00 +0000
1523@@ -1,2 +0,0 @@
1524-01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch
1525-02-weather-fix_upstream-version-2.3.0~2.2.patch
1526
1527=== modified file 'CMakeLists.txt'
1528--- CMakeLists.txt 2011-06-06 10:13:07 +0000
1529+++ CMakeLists.txt 2011-06-20 15:06:22 +0000
1530@@ -10,7 +10,7 @@
1531 ########### project ###############
1532
1533 project ("cairo-dock-plugins")
1534-set (VERSION "2.3.0~2")
1535+set (VERSION "2.3.0~3")
1536
1537 add_definitions (-std=c99 -Wstrict-prototypes -Wextra -Wwrite-strings -Wuninitialized -Werror-implicit-function-declaration) #-Wunreachable-code -Wno-unused-parameter -Wall
1538 if (NOT ${CMAKE_BUILD_TYPE})
1539
1540=== modified file 'Status-Notifier/src/CMakeLists.txt'
1541--- Status-Notifier/src/CMakeLists.txt 2011-04-20 20:46:51 +0000
1542+++ Status-Notifier/src/CMakeLists.txt 2011-06-20 15:06:22 +0000
1543@@ -18,8 +18,8 @@
1544 add_definitions (-DMY_APPLET_PREVIEW_FILE="preview.jpg")
1545 add_definitions (-DMY_APPLET_CONF_FILE="Status-Notifier.conf")
1546 add_definitions (-DMY_APPLET_USER_DATA_DIR="Status-Notifier")
1547-add_definitions (-DMY_APPLET_VERSION="${VERSION_STATUSNOTIFIER}")
1548-add_definitions (-DMY_APPLET_GETTEXT_DOMAIN="${GETTEXT_STATUSNOTIFIER}")
1549+add_definitions (-DMY_APPLET_VERSION="${VERSION_STATUS_NOTIFIER}")
1550+add_definitions (-DMY_APPLET_GETTEXT_DOMAIN="${GETTEXT_STATUS_NOTIFIER}")
1551 add_definitions (-DMY_APPLET_DOCK_VERSION="${dock_version}")
1552 add_definitions (-DMY_APPLET_ICON_FILE="icon.png")
1553 add_definitions (-DINDICATOR_OLD_NAMES=${INDICATOR_OLD_NAMES})
1554
1555=== modified file 'debian/changelog'
1556--- debian/changelog 2011-06-09 21:29:28 +0000
1557+++ debian/changelog 2011-06-20 15:06:22 +0000
1558@@ -1,3 +1,17 @@
1559+cairo-dock-plug-ins (2.3.0~3-0ubuntu1) UNRELEASED; urgency=low
1560+
1561+ * New upstream release. (LP: #799774)
1562+ * Upstream ChangeLog:
1563+ - Status Notifier: enable translations (fixed a typo)
1564+ - Weather: prevent a crash if there is an error (LP: #788437)
1565+ - dnd2share: avoid a crash of u1sdtool
1566+ * debian/patches:
1567+ - Removed all patches (now in upstream)
1568+ * debian/control:
1569+ - Updated version
1570+
1571+ -- Matthieu Baerts (matttbe) <matttbe@gmail.com> Mon, 20 Jun 2011 17:00:53 +0200
1572+
1573 cairo-dock-plug-ins (2.3.0~2-0ubuntu1) oneiric; urgency=low
1574
1575 * New upstream release. (LP: #786105)
1576
1577=== modified file 'debian/control'
1578--- debian/control 2011-06-06 10:13:07 +0000
1579+++ debian/control 2011-06-20 15:06:22 +0000
1580@@ -15,9 +15,9 @@
1581 libxml2-dev,
1582 libxtst-dev,
1583 libglib2.0-dev (>= 2.20),
1584- cairo-dock-dev (>= 2.3.0~0rc1),
1585- cairo-dock-core (>= 2.3.0~0rc1),
1586- cairo-dock-data (>= 2.3.0~0rc1),
1587+ cairo-dock-data (>= 2.3.0~3),
1588+ cairo-dock-core (>= 2.3.0~3),
1589+ cairo-dock-dev (>= 2.3.0~3),
1590 libasound2-dev,
1591 libvte-dev,
1592 x11proto-xf86vidmode-dev,
1593
1594=== modified file 'debian/patches/series'
1595--- debian/patches/series 2011-06-06 10:13:07 +0000
1596+++ debian/patches/series 2011-06-20 15:06:22 +0000
1597@@ -1,2 +0,0 @@
1598-01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch
1599-02-weather-fix_upstream-version-2.3.0~2.2.patch
1600
1601=== modified file 'weather/src/applet-load-icons.c'
1602--- weather/src/applet-load-icons.c 2011-04-20 20:46:51 +0000
1603+++ weather/src/applet-load-icons.c 2011-06-20 15:06:22 +0000
1604@@ -135,6 +135,7 @@
1605
1606 }
1607 cd_weather_reset_weather_data (&pSharedMemory->wdata); // discard the results, since they are probably empty or incomplete.
1608+ memset (&pSharedMemory->wdata, 0, sizeof (CDWeatherData));
1609
1610 CD_APPLET_LEAVE (TRUE); // don't recreate the icons, since data have not changed.
1611 }

Subscribers

People subscribed via source and target branches