[med-svn] [Git][med-team/camitk][master] fix to support packaging of new upstream version

Emmanuel Promayon (@promayon-guest) gitlab at salsa.debian.org
Wed Feb 9 09:22:54 GMT 2022



Emmanuel Promayon pushed to branch master at Debian Med / camitk


Commits:
feefd52f by Emmanuel Promayon at 2022-02-09T10:22:26+01:00
fix to support packaging of new upstream version

- - - - -


10 changed files:

- debian/changelog
- + debian/not-installed
- + debian/patches/0007-disable-graph-generation-in-api.patch
- + debian/patches/0008-fix-multiarch-management-for-install-dir.patch
- debian/patches/series
- debian/rules
- debian/tests/cepgenerator-test.sh
- debian/tests/config-test.sh
- debian/tests/generate-coreschema-files.sh
- debian/upstream/metadata


Changes:

=====================================
debian/changelog
=====================================
@@ -15,6 +15,13 @@ camitk (5.0.2-1) UNRELEASED; urgency=medium
   * Fix compilation by removing ixx files
     Closes: #997120
 
+  [ Emmanuel Promayon ]
+  * Update d/r and fix test error to improve multiarch support
+  * Update autopkgtest for new upstream version
+  * Disable unnecessary generation of dot graph for apidoc
+  * Add d/not-installed for not packaged binaries
+  * Update metadata to add upstream repo information
+
  -- Andreas Tille <tille at debian.org>  Tue, 08 Feb 2022 08:13:11 +0100
 
 camitk (4.1.2-4) unstable; urgency=medium


=====================================
debian/not-installed
=====================================
@@ -0,0 +1,13 @@
+usr/include/camitk-5.0/libraries/shakerlib/ShakerLib.h
+usr/bin/camitk-pmltest
+usr/bin/camitk-testloggercrash
+usr/bin/camitk-basic
+usr/bin/camitk-nogui
+usr/bin/camitk-objectcontroller
+usr/bin/camitk-menubar
+usr/bin/camitk-textviewer
+usr/bin/camitk-lmltest
+usr/bin/camitk-testlogger
+usr/bin/camitk-fancy
+usr/bin/camitk-simple
+usr/share/camitk-5.0/cmake/macros/NSIS.template.in


=====================================
debian/patches/0007-disable-graph-generation-in-api.patch
=====================================
@@ -0,0 +1,49 @@
+Description: Disable graph generation in apidoc
+ Generating graphs in apidoc takes a lot of resources.
+ It is not particularly needed as it is available
+ online and can be generated from the sources if
+ needed.
+Author: Emmanuel Promayon <Emmanuel.Promayon at univ-grenoble-alpes.fr>
+Forwarded: no
+Last-Update: 2022-02-08
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/sdk/doc/doxygen.conf.in
++++ b/sdk/doc/doxygen.conf.in
+@@ -235,25 +235,25 @@ EXTERNAL_GROUPS        = YES
+ CLASS_DIAGRAMS         = NO
+ HIDE_UNDOC_RELATIONS   = YES
+ HAVE_DOT               = YES
+-INTERACTIVE_SVG        = YES
++INTERACTIVE_SVG        = NO
+ DOT_NUM_THREADS        = 0
+ DOT_FONTNAME           = Helvetica
+ DOT_FONTSIZE           = 10
+ DOT_FONTPATH           =
+-CLASS_GRAPH            = YES
+-COLLABORATION_GRAPH    = YES
+-GROUP_GRAPHS           = YES
++CLASS_GRAPH            = NO
++COLLABORATION_GRAPH    = NO
++GROUP_GRAPHS           = NO
+ #For doxygen 1.8 UML_LOOK               = YES
+ UML_LOOK               = YES
+ #For doxygen 1.8 
+ UML_LIMIT_NUM_FIELDS   = 5
+-TEMPLATE_RELATIONS     = YES
+-INCLUDE_GRAPH          = YES
+-INCLUDED_BY_GRAPH      = YES
+-CALL_GRAPH             = YES
+-CALLER_GRAPH           = YES
+-GRAPHICAL_HIERARCHY    = YES
+-DIRECTORY_GRAPH        = YES
++TEMPLATE_RELATIONS     = NO
++INCLUDE_GRAPH          = NO
++INCLUDED_BY_GRAPH      = NO
++CALL_GRAPH             = NO
++CALLER_GRAPH           = NO
++GRAPHICAL_HIERARCHY    = NO
++DIRECTORY_GRAPH        = NO
+ DOT_IMAGE_FORMAT       = svg
+ DOT_PATH               = @DOT_PATH@
+ DOTFILE_DIRS           =


=====================================
debian/patches/0008-fix-multiarch-management-for-install-dir.patch
=====================================
@@ -0,0 +1,18 @@
+Description: Fix multiarch management bug
+ Do not exit for alternative install dir if it is not present.
+Author: Emmanuel Promayon <Emmanuel.Promayon at univ-grenoble-alpes.fr>
+Forwarded: no
+Last-Update: 2022-02-08
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/sdk/libraries/core/Core.cpp
++++ b/sdk/libraries/core/Core.cpp
+@@ -314,7 +314,7 @@ const QStringList Core::getExtensionDirectories(QString extensionType) {
+     QSet<QString> multiarchInstalledDirectories = getInstallDirectories(QString(Core::libDir) + "/" + QString(Core::shortVersion) + "/" + extensionType).toSet();
+     if (QString(Core::libDir) != "lib") {
+         // multiarch installation in "lib/xx" requires checking non-multiarch aware current repositories that uses default "lib/"
+-        multiarchInstalledDirectories += getInstallDirectories("lib/" + QString(Core::shortVersion) + "/" + extensionType).toSet();
++        multiarchInstalledDirectories += getInstallDirectories("lib/" + QString(Core::shortVersion) + "/" + extensionType, false).toSet();
+     }
+     return multiarchInstalledDirectories.toList();
+ }


=====================================
debian/patches/series
=====================================
@@ -4,5 +4,7 @@
 #0004-FIXED-monitorgui-lib-should-not-depends-on-camitk-co.patch
 #0005-FIXED-config-test-needs-to-ignore-stderr.patch
 0006-exlude-ixx-files-from-cmake.patch
+0007-disable-graph-generation-in-api.patch
+0008-fix-multiarch-management-for-install-dir.patch
 #0010-Make-loop-safe-for-removal-of-elements.patch
 #0100-vtk7-compatibility.patch


=====================================
debian/rules
=====================================
@@ -21,26 +21,13 @@ pkg_data = libcamitk$(VER_MAJOR)-data
 pkg_doc = libcamitk$(VER_MAJOR)-doc
 pkg_imp = camitk-imp
 pkg_asm = camitk-actionstatemachine
+PKG_LIB_DIR := $(CURDIR)/debian/$(pkg_lib)/usr/lib/$(DEB_HOST_MULTIARCH)/camitk-$(VER_SHORT)
+LIB_BUILD_DIR := $(CURDIR)/camitk-build/lib/$(DEB_HOST_MULTIARCH)
+PRIVATE_LIB_BUILD_DIR := $(LIB_BUILD_DIR)/camitk-$(VER_SHORT)
 
 # multi-arch support
 include /usr/share/dpkg/architecture.mk
 
-# dpkg-shlibdeps needs to know about camitk extension directories to manage inner-dependencies
-# between extensions (i.e., mml component extension depends on physicalmodel component extensions)
-PKG_LIB_DIR := $(CURDIR)/debian/${pkg_lib}/usr/lib/camitk-${VER_SHORT}
-# for component extensions:
-LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(PKG_LIB_DIR)/components/
-# for action extensions:
-LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(PKG_LIB_DIR)/actions/
-# for private libraries:
-LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(PKG_LIB_DIR)/
-# during test, the build dir path is also needed
-LIB_BUILD_DIR := $(CURDIR)/camitk-build/lib
-PRIVATE_LIB_BUILD_DIR := $(LIB_BUILD_DIR)/camitk-${VER_SHORT}
-LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(LIB_BUILD_DIR):$(PRIVATE_LIB_BUILD_DIR)/components/:$(PRIVATE_LIB_BUILD_DIR)/actions/:$(PRIVATE_LIB_BUILD_DIR)/
-# export for all d/rules subshell (test and dpkg-shlibdeps included)
-export LD_LIBRARY_PATH
-
 # CMake flags are of two types:
 # - generic (to tell cmake to build proper binaries)
 # - CamiTK specific options
@@ -62,6 +49,8 @@ CMAKE_EXTRA_FLAGS = \
 	dh $@ --builddirectory=camitk-build
 
 override_dh_auto_configure:
+	# modify libdir to include multiarch
+	sed -i 's+libDir = "lib";+libDir = "lib/$(DEB_HOST_MULTIARCH)";+g' sdk/libraries/core/CamiTKVersion.h
 	dh_auto_configure -- $(CMAKE_EXTRA_FLAGS)
 
 # let's be smart with doc
@@ -84,6 +73,11 @@ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 	# Note: all tests require an X server, xvfb-run is needed to have a virtual one
 	# Another way: xvfb-run --auto-servernum $(MAKE) -C camitk-build ARGS="-V" test
 	# e.g. to test config: (cd camitk-build && xvfb-run --auto-servernum --server-args="-screen 0 1024x768x24" ctest -VV --timeout 1800 -R application-config)
+	# The build dir path is needed for extensions, public and private libraries during test
+	# to know about all camitk extension directories and properly manage inner-dependencies
+	# between extensions (i.e., mml component extension depends on physicalmodel component extensions)
+	# Lib dependencies can be in any extensions (viewers, component and action extensions) lib directory
+	export LD_LIBRARY_PATH=$(LIB_BUILD_DIR)/:$(PRIVATE_LIB_BUILD_DIR)/viewers/:$(PRIVATE_LIB_BUILD_DIR)/components/:$(PRIVATE_LIB_BUILD_DIR)/actions/:$(PRIVATE_LIB_BUILD_DIR)/ ; \
 	(cd camitk-build && xvfb-run --auto-servernum --server-args="-screen 0 1024x768x24" ctest -V --timeout 1800)
 endif
 
@@ -91,10 +85,11 @@ endif
 override_dh_install:
 	# $(CURDIR) is the current source dir
 	# camitk dynamic library
-	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/libcamitkcore.so.*
-	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/libmonitoring.so.*
-	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/camitk-$(VER_SHORT)/actions/lib*.so.*
-	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/camitk-$(VER_SHORT)/components/lib*.so.*
+	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcamitkcore.so.*
+	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libmonitoring.so.*
+	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/camitk-$(VER_SHORT)/viewers/lib*.so.*
+	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/camitk-$(VER_SHORT)/actions/lib*.so.*
+	dh_install -p$(pkg_lib) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/camitk-$(VER_SHORT)/components/lib*.so.*
 
 	# camitk-config package contains only the app, man page and icon
 	dh_install -p$(pkg_cfg) --autodest debian/tmp/usr/bin/camitk-config
@@ -102,27 +97,29 @@ override_dh_install:
 	dh_installman -p$(pkg_cfg) debian/tmp/usr/share/man/man1/camitk-config.1
 
 	# separate packaging for qtpropertybrowser (can be used independently from camitk)
-	dh_install -p$(pkg_qpb) --autodest debian/tmp/usr/lib/libqtpropertybrowser.so.*
+	dh_install -p$(pkg_qpb) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libqtpropertybrowser.so.*
 
 	# camitk developer package
 	# camitk so and headers and static libs
-	dh_install -p$(pkg_dev) debian/tmp/usr/lib/libcamitkcore.so usr/lib
-	dh_install -p$(pkg_dev) debian/tmp/usr/lib/libmonitoring.so usr/lib
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/camitk-$(VER_SHORT)/actions/lib*.so
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/camitk-$(VER_SHORT)/components/lib*.so
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/camitk-$(VER_SHORT)/lib*.a
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/camitkcore
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/cepcoreschema
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/cepgenerator
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/actions
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/components
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/pmlschema
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/pml
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/lmlschema
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/lml
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/mmlschema
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/monitoring
-	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/monitoringgui
+	dh_install -p$(pkg_dev) debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcamitkcore.so usr/lib/$(DEB_HOST_MULTIARCH)
+	dh_install -p$(pkg_dev) debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libmonitoring.so usr/lib/$(DEB_HOST_MULTIARCH)
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/camitk-$(VER_SHORT)/viewers/lib*.so
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/camitk-$(VER_SHORT)/actions/lib*.so
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/camitk-$(VER_SHORT)/components/lib*.so
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/camitk-$(VER_SHORT)/lib*.a
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/camitkcore
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/cepcoreschema
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/cepgenerator
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/viewers
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/actions
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/components
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/pmlschema
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/pml
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/lmlschema
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/lml
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/mmlschema
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/monitoring
+	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/monitoringgui
 	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/share/camitk-$(VER_SHORT)/cmake/*.cmake
 	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/share/camitk-$(VER_SHORT)/cmake/macros/*.cmake
 	dh_install -p$(pkg_dev) --autodest debian/tmp/usr/share/camitk-$(VER_SHORT)/cmake/macros/camitk/*.cmake
@@ -145,11 +142,11 @@ override_dh_install:
 	dh_installman -p$(pkg_dev) debian/tmp/usr/share/man/man1/camitk-testcomponents.1
 
 	# qtpropertybrowser so and headers (includes are put directly in usr/include as package should be generic/independant from CamiTK)
-	dh_install -p$(pkg_qpb_dev) debian/tmp/usr/lib/libqtpropertybrowser.so usr/lib
-	dh_install -p$(pkg_qpb_dev) debian/tmp/usr/include/camitk-${VER_SHORT}/libraries/qtpropertybrowser usr/include
+	dh_install -p$(pkg_qpb_dev) debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libqtpropertybrowser.so usr/lib/$(DEB_HOST_MULTIARCH)
+	dh_install -p$(pkg_qpb_dev) debian/tmp/usr/include/camitk-$(VER_SHORT)/libraries/qtpropertybrowser usr/include
 
 	# api doc
-	dh_install -p$(pkg_doc) --autodest debian/tmp/usr/share/camitk-$(VER_SHORT)/apidoc
+	dh_install -p$(pkg_doc) debian/tmp/usr/share/camitk-$(VER_SHORT)/apidoc usr/share/doc/camitk-$(VER_SHORT)/apidoc
 
 	# all test data excluding extra licence files (everything is already specified in d/c)
 	dh_install -p$(pkg_data) --exclude=LICENSE --autodest debian/tmp/usr/share/camitk-$(VER_SHORT)/testdata
@@ -162,9 +159,16 @@ override_dh_install:
 
 	# asm
 	dh_install -p$(pkg_asm) --autodest debian/tmp/usr/bin/camitk-actionstatemachine
+	dh_install -p$(pkg_asm) --autodest debian/tmp/usr/share/applications/camitk-actionstatemachine.desktop
 	dh_install -p$(pkg_asm) --autodest debian/tmp/usr/share/pixmaps/camitk-actionstatemachine.xpm
 	dh_installman -p$(pkg_asm) debian/tmp/usr/share/man/man1/camitk-actionstatemachine.1
 
+# dpkg-shlibdeps needs to know about camitk extension directories to manage inner-dependencies
+# between extensions (i.e., mml component extension depends on physicalmodel component extensions)
+# Lib dependencies can be in any extensions lib directory (viewers, component and action extensions)
+override_dh_shlibdeps:
+	dh_shlibdeps -l$(PKG_LIB_DIR)/viewers/:$(PKG_LIB_DIR)/components/:$(PKG_LIB_DIR)/actions/:$(PKG_LIB_DIR)/
+
 # see http://lists.debian.org/debian-mentors/2012/07/msg00124.html
 get-orig-source:
 	mkdir -p ../tarballs


=====================================
debian/tests/cepgenerator-test.sh
=====================================
@@ -246,8 +246,10 @@ generateConfigureAndMake() {
   cd build
   echo "===== configuring... ====="
   if [[ "$osName" == "Windows" ]]; then
-    # no virtual X11 -DCMAKE_C_FLAGS:STRING="/MP" -DCMAKE_CXX_FLAGS="/MP" 
-    cmake $CMAKE_OPTIONS -Wno-dev -G "Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE:STRING=Debug ../$srcDirName > ../cmake-log 2> ../cmake-error
+    # use the currently supported visual studio version (64 bit) with the Debug config
+    #cmake $CMAKE_OPTIONS -Wno-dev -G "Visual Studio 16 2019" -A x64 --config Debug ../$srcDirName > ../cmake-log 2> ../cmake-error
+    # choose the default msvc version and config from current install
+    cmake $CMAKE_OPTIONS -Wno-dev --config Debug ../$srcDirName > ../cmake-log 2> ../cmake-error
   else
     cmake $CMAKE_OPTIONS ../$srcDirName > ../cmake-log 2> ../cmake-error
   fi
@@ -262,7 +264,7 @@ generateConfigureAndMake() {
 
   echo "===== building... ====="
   if [[ "$osName" == "Windows" ]]; then
-    cmake --build . --config Debug > ../make-log 2> ../make-error
+    cmake --build . --config Debug --parallel 9 > ../make-log 2> ../make-error
   else
     # build (parallel)
     make -j9 > ../make-log 2> ../make-error
@@ -315,15 +317,21 @@ cd $workingDir
 generateSourceFiles
 
 #testcepfile cep.xml nrOfExpectedNewExtensions
+testcepfile actionAndComponentUsingViewerExtension.xml 2
+
+# test that is too difficult to manage on Windows
+# TODO: describe the reason why it is not easy to perform it on Windows
 if [[ "$osName" == "Windows" ]]; then
     echo "Windows: skip testing cep with lib"
 else
     testcepfile completeTest1.xml 3 testlib
 fi
+
 testcepfile exampleComponents.xml 2
 testcepfile actionsExamplesLicence.xml 2
 testcepfile actionsExamplesNoLicence.xml 2
 testcepfile actionAndComponent.xml 2
 testcepfile empty.xml 0 
+testcepfile viewerExample.xml 2
 
 exit $exitStatus


=====================================
debian/tests/config-test.sh
=====================================
@@ -21,24 +21,38 @@ set -e
 # ---------------------- initTestData ----------------------
 # values to check
 initTestData() {
-    # fill test data
-    extensionCount=(           [4.2]=41  [4.1]=41  [4.0]=31  )
-    componentExtensionCount=(  [4.2]=14  [4.1]=14  [4.0]=14  )
-    actionExtensionCount=(     [4.2]=27  [4.1]=27  [4.0]=27  )
-    fileExtensionCount=(       [4.2]=37  [4.1]=37  [4.0]=37  )
-    actionCount=(              [4.2]=105 [4.1]=105 [4.0]=105 )
+    #-- fill test data arrays
     
-    # fill release date
-    releaseDate=(              [4.2]="not yet released, current development version" \
-                               [4.1]="15 July 2018" \
-                               [4.0]="22 July 2016" \
-                               [3.5]="29 January 2016"
-                               [3.4]="31 October 2014" \
-                               [3.3]="4 March 2014" \
-                               [3.2]="26 June 2013" \
-                               [3.1]="1 March 2013" \
-                               [3.0]="7 July 2012" )
+    # Number of component, action and viewer extensions
+    componentExtensionCount=(   [5.0]=14  [4.1]=14  [4.0]=14  )
+    actionExtensionCount=(      [5.0]=33  [4.1]=27  [4.0]=27  )
+    viewerExtensionCount=(      [5.0]=10                      )
     
+    # Number of different file format/extension manages by the component extensions
+    fileExtensionCount=(        [5.0]=37  [4.1]=37  [4.0]=37  )
+    
+    # Number of actions provided by the action extensions
+    actionCount=(               [5.0]=111 [4.1]=105 [4.0]=105 )
+    
+    # Number of viewers managed by the viewer extensions
+    viewerCount=(               [5.0]=13                      )
+
+    #-- Release date
+    releaseDate=(               [5.0]="not yet released, current development version" \
+                                [4.1]="15 July 2018" \
+                                [4.0]="22 July 2016" \
+                                [3.5]="29 January 2016"
+                                [3.4]="31 October 2014" \
+                                [3.3]="4 March 2014" \
+                                [3.2]="26 June 2013" \
+                                [3.1]="1 March 2013" \
+                                [3.0]="7 July 2012" )
+
+    #-- extensionCount is just the sum of all three extension counts
+    extensionCount=(            [5.0]=$((componentExtensionCount[5.0] + actionExtensionCount[5.0] + viewerExtensionCount[5.0]))
+                                [4.1]=$((componentExtensionCount[4.1] + actionExtensionCount[4.1])) 
+                                [4.0]=$((componentExtensionCount[4.0] + actionExtensionCount[4.0]))  )
+
 }
 
 # ---------------------- declareTestData ----------------------
@@ -48,8 +62,10 @@ declareTestData() {
     declare -Ag extensionCount
     declare -Ag componentExtensionCount
     declare -Ag actionExtensionCount
+    declare -Ag viewerExtensionCount
     declare -Ag fileExtensionCount
     declare -Ag actionCount
+    declare -Ag viewerCount
     declare -Ag releaseDate
 }
 
@@ -171,16 +187,22 @@ getExpectedValue() {
       ;;
     "Number of Component Extensions")
       echo ${componentExtensionCount[$shortVersion]}
-      ;;       
+      ;;
     "Number of Action Extensions")
       echo ${actionExtensionCount[$shortVersion]}
-      ;;       
+      ;;
+    "Number of Viewer Extensions")
+      echo ${viewerExtensionCount[$shortVersion]}
+      ;;
     "Number of File Extensions Supported")
       echo ${fileExtensionCount[$shortVersion]}
-      ;;       
+      ;;
     "Number of Actions")
       echo ${actionCount[$shortVersion]}
-      ;;       
+      ;;
+    "Number of Viewers")
+      echo ${viewerCount[$shortVersion]}
+      ;;
   esac
 }
 
@@ -284,7 +306,9 @@ else
 fi
 checkValue "Number of Component Extensions"
 checkValue "Number of Action Extensions"
+checkValue "Number of Viewer Extensions"
 checkValue "Number of File Extensions Supported"
 checkValue "Number of Actions"
+checkValue "Number of Viewers"
 
 exit $exitStatus


=====================================
debian/tests/generate-coreschema-files.sh
=====================================
@@ -1,4 +1,65 @@
 #!/bin/bash
+
+# ---------------------- actionAndComponentUsingViewerExtension.xml ----------------------
+# Example taken from distributed source ./sdk/libraries/cepcoreschema/testdata/actionAndComponentUsingViewerExtension.xml
+cat <<EOF > actionAndComponentUsingViewerExtension.xml
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<cep xmlns="http://camitk.imag.fr/cepcoreschema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://camitk.imag.fr/cepcoreschema Cep.xsd">
+  <name>A CEP with one action and one component that required a viewer extension</name>
+  <contact>
+    <email>Emmanuel.Promayon at univ-grenoble-alpes.fr</email>
+  </contact>
+  <description>This CEP contains a new type of component and an action that can do something with it where both require the medicalimageviewer viewer extension.
+This test the link between an action and a component defined in the same CEP as well as the dependency to a viewer.</description>
+  <actionExtensions>
+    <actionExtension>
+      <name>Test Actions</name>
+      <description>This extension description is really useless.</description>
+      <actions>
+        <action>
+          <name>Test Action</name>
+          <description>This description is void.</description>
+          <component>TestMeshBasedComponent</component>
+          <classification>
+            <family>Testing CepGenerator</family>
+          </classification>
+          <parameters>
+            <parameter defaultValue="100.0" description="Testing double" editable="true" name="testDouble" type="double" unit=""/>
+          </parameters>
+        </action>
+      </actions>
+      <dependencies>
+        <dependency name="testcomponents" type="component"/>
+        <dependency name="medicalimageviewer" type="viewer"/>
+      </dependencies>
+    </actionExtension>
+  </actionExtensions>
+  <componentExtensions>
+    <componentExtension>
+      <name>Test components</name>
+      <description>This extension description a new / specific component</description>
+      <components>
+        <component>
+          <name>TestMeshBasedComponent</name>
+          <description>My description is useless...</description>
+          <representation>Mesh</representation>
+          <properties>
+            <parameter defaultValue="false" description="Testing bools" editable="true" name="testBool" type="bool" unit=""/>
+            <parameter defaultValue="QColor(255, 255, 255, 255)" description="Testing color" editable="true" name="testColor" type="QColor" unit=""/>
+            <parameter defaultValue="QVector3D(0.0, 0.0, 0.0)" description="test 3D vector" editable="true" name="testVector3D" type="QVector3D" unit=""/>
+          </properties>
+          <fileSuffix>specific</fileSuffix>
+        </component>
+        <dependencies>
+          <dependency name="medicalimageviewer" type="viewer"/>
+        </dependencies>
+      </components>
+    </componentExtension>
+  </componentExtensions>
+</cep>
+EOF
+
+
 # ---------------------- exampleComponents.xml ----------------------
 # Example taken from distributed source ./sdk/libraries/cepcoreschema/testdata/exampleComponents.xml
 cat <<EOF > exampleComponents.xml
@@ -15,7 +76,7 @@ cat <<EOF > exampleComponents.xml
     <copyright><![CDATA[/* ****************************************************************************
 $USERDEF_LICENCE_BEGIN$
 CamiTK - Computer Assisted Medical Intervention ToolKit
-(c) 2001-2018 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
+(c) 2001-2021 Univ. Grenoble Alpes, CNRS, Grenoble INP, TIMC, 38000 Grenoble, France
         
 Visit http://camitk.imag.fr for more information
         
@@ -122,7 +183,7 @@ cat <<EOF > actionsExamplesLicence.xml
     <copyright><![CDATA[/*****************************************************************************
 $USERDEF_LICENCE_BEGIN$
 CamiTK - Computer Assisted Medical Intervention ToolKit
-(c) 2001-2018 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
+(c) 2001-2021 Univ. Grenoble Alpes, CNRS, Grenoble INP, TIMC, 38000 Grenoble, France
         
 Visit http://camitk.imag.fr for more information
         
@@ -369,7 +430,7 @@ cat <<EOF > completeTest1.xml
   <copyright><![CDATA[/*****************************************************************************
 $USERDEF_LICENCE_BEGIN$
 CamiTK - Computer Assisted Medical Intervention ToolKit
-(c) 2001-2018 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
+(c) 2001-2021 Univ. Grenoble Alpes, CNRS, Grenoble INP, TIMC, 38000 Grenoble, France
         
 Visit http://camitk.imag.fr for more information
         
@@ -523,9 +584,62 @@ $USERDEF_LICENCE_END$
       <dependencies>
         <dependency type="library" name="XSD"/>
         <dependency type="library" name="ITK"/>
-        <dependency type="cepLibrary" name="qtpropertybrowser"/>
+        <!-- remove due to cmake error
+             CMake Error at /usr/share/camitk-5.0/cmake/macros/camitk/CamiTKLibrary.cmake:412 (add_dependencies):
+               The dependency target "library-qtpropertybrowser" of target
+               "library-testlib" does not exist.
+             Call Stack (most recent call first):
+               libraries/testlib/CMakeLists.txt:6 (camitk_library)
+
+             The case of dependency to CEPLIBRARY build in CamiTK CE/ CamiTKCore  outside CAMITK_COMMUNITY_EDITION_BUILD should be
+             taken into account for recent CMake versions
+             <dependency type="cepLibrary" name="qtpropertybrowser"/>
+         -->
       </dependencies>
     </library>
   </libraries>
 </cep>
 EOF
+
+
+# ---------------------- viewerExample.xml ----------------------
+# Example taken from distributed source ./sdk/libraries/cepcoreschema/testdata/viewerExample.xml
+cat <<EOF > viewerExample.xml
+<?xml version="1.0" encoding="UTF-8"?>
+<cep xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+     xmlns="http://camitk.imag.fr/cepcoreschema"
+     xsi:schemaLocation="http://camitk.imag.fr/cepcoreschema ../cep.xsd">
+    <name>Test Viewer CEP</name>
+    <contact>
+        <email>Emmanuel.Promayon at univ-grenoble-alpes.fr</email> 
+    </contact>
+    <description>Example of a CEP with two viewer extensions</description>
+    <viewerExtensions>
+        <viewerExtension>
+            <name>Test Viewer 1</name>
+            <description>This viewer extension manages a default viewer</description>
+            <registerDefaultViewer/>
+            <viewer>
+                <name>Test Viewer 1</name>
+                <description>Example of simple embedded viewer</description>
+                <type>EMBEDDED</type>
+                <component>MeshComponent</component>
+                <component>ImageComponent</component>
+            </viewer>           
+        </viewerExtension>
+        
+        <viewerExtension>
+            <name>Test Viewer 2</name>
+            <description>This viewer extension manages three named viewer</description>
+            <registerNewViewer>First Test Viewer</registerNewViewer>
+            <registerNewViewer>Second Test Viewer</registerNewViewer>
+            <viewer>
+                <name>Test Viewer 2</name>
+                <description>Example of simple docked viewer</description>
+                <type>DOCKED</type>
+                <component>Component</component>
+            </viewer>   
+        </viewerExtension>
+    </viewerExtensions>
+</cep>
+EOF


=====================================
debian/upstream/metadata
=====================================
@@ -1,3 +1,5 @@
+Bug-Submit: https://gricad-gitlab.univ-grenoble-alpes.fr/CamiTK/CamiTK/-/issues/new?issue%5Bassignee_id%5D=&issue%5Bmilestone_id%5D=
+Name: CamiTK Community Edition
 Reference:
  - Author: >
     Céline Fouard and Aurélien Deram and Yannick Keraval and Emmanuel Promayon
@@ -11,3 +13,6 @@ Reference:
    DOI: 10.1007/8415_2012_118
    URL: http://membres-timc.imag.fr/Emmanuel.Promayon/publications//FDK+12.php
    Type: InBook
+Repository: https://gricad-gitlab.univ-grenoble-alpes.fr/CamiTK/CamiTK.git
+Repository-Browse: https://gricad-gitlab.univ-grenoble-alpes.fr/CamiTK/CamiTK
+Bug-Database: https://gricad-gitlab.univ-grenoble-alpes.fr/CamiTK/CamiTK/-/issues



View it on GitLab: https://salsa.debian.org/med-team/camitk/-/commit/feefd52f0ead2376e6879e05becf87fe86d84848

-- 
View it on GitLab: https://salsa.debian.org/med-team/camitk/-/commit/feefd52f0ead2376e6879e05becf87fe86d84848
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20220209/a2726f13/attachment-0001.htm>


More information about the debian-med-commit mailing list