[med-svn] [Git][med-team/dcmtk][master] 7 commits: d/patches: Add new patch to fix random unit test failures

Mathieu Malaterre (@malat) gitlab at salsa.debian.org
Wed Dec 8 09:29:45 GMT 2021



Mathieu Malaterre pushed to branch master at Debian Med / dcmtk


Commits:
3025d684 by Mathieu Malaterre at 2021-12-08T09:53:08+01:00
d/patches: Add new patch to fix random unit test failures

- - - - -
e54e5030 by Mathieu Malaterre at 2021-12-08T09:55:21+01:00
d/control: Bump Std-Vers to 4.6.0, no changes needed

- - - - -
98b049c8 by Mathieu Malaterre at 2021-12-08T09:55:51+01:00
d/watch: Update to latest uscan version

- - - - -
8feb2713 by Mathieu Malaterre at 2021-12-08T09:56:46+01:00
d/rules: Remove as-needed-linker-flag

This is not required anymore, and reported as lintian warning

- - - - -
a6ac5c8d by Mathieu Malaterre at 2021-12-08T09:58:26+01:00
d/control: Add missing Rules-Requires-Root: no

This will remove a warning reported by lintian

- - - - -
67de6114 by Mathieu Malaterre at 2021-12-08T10:16:18+01:00
d/patches: Import bug-fixes from git/master

Each patch is self-descriptive.

- - - - -
75480083 by Mathieu Malaterre at 2021-12-08T10:27:29+01:00
d/changelog: Upload 3.6.6-4 to unstable

- - - - -


11 changed files:

- debian/changelog
- debian/control
- + debian/patches/0cf6b12d8ea0b727f0fe2ab076b6f180100fbd30.patch
- + debian/patches/1c8cca4bf6f7c92fc16f9e66faf49409c891a2b0.patch
- + debian/patches/3ae202ee9d8f27054ad0c463a6799d8b10b4864b.patch
- + debian/patches/ab61e8577ff0974efcfae2907c48baf6023c1160.patch
- debian/patches/bigendian.patch
- debian/patches/series
- + debian/patches/test_failures.patch
- debian/rules
- debian/watch


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+dcmtk (3.6.6-4) unstable; urgency=medium
+
+  * d/u/metadata: Add publication about DCMTK
+  * d/patches: Add new patch to fix random unit test failures
+  * d/control: Bump Std-Vers to 4.6.0, no changes needed
+  * d/watch: Update to latest uscan version
+  * d/rules: Remove as-needed-linker-flag
+  * d/control: Add missing Rules-Requires-Root: no
+  * d/patches: Import bug-fixes from git/master
+
+ -- Mathieu Malaterre <malat at debian.org>  Wed, 08 Dec 2021 10:27:21 +0100
+
 dcmtk (3.6.6-3) unstable; urgency=medium
 
   * d/patches: Fix compilation of dicomscope. Closes: #1000220


=====================================
debian/control
=====================================
@@ -15,10 +15,11 @@ Build-Depends: cmake,
                libxml2-dev,
                zlib1g-dev
 Build-Depends-Indep: doxygen, graphviz
-Standards-Version: 4.5.0
+Standards-Version: 4.6.0
 Vcs-Browser: https://salsa.debian.org/med-team/dcmtk
 Vcs-Git: https://salsa.debian.org/med-team/dcmtk.git
 Homepage: http://dicom.offis.de/dcmtk
+Rules-Requires-Root: no
 
 Package: dcmtk
 Architecture: any


=====================================
debian/patches/0cf6b12d8ea0b727f0fe2ab076b6f180100fbd30.patch
=====================================
@@ -0,0 +1,178 @@
+From 0cf6b12d8ea0b727f0fe2ab076b6f180100fbd30 Mon Sep 17 00:00:00 2001
+From: Michael Onken <onken at open-connections.de>
+Date: Thu, 25 Nov 2021 11:59:16 +0100
+Subject: [PATCH] Remove some typos in the codebase.
+
+    * Concatentation -> Concatenation
+    * intialized -> initialized
+    * "permits to" -> "permits one to"
+    * "allow to" -> "allow one to"
+    * "allows to" -> "allows one to"
+    * truely -> truly
+    * additonal -> additional
+
+Thanks to GitHub user "malaterre" for the report and suggested fix.
+---
+ dcmfg/libsrc/concatenationcreator.cc  |  2 +-
+ dcmfg/libsrc/concatenationloader.cc   |  6 +++---
+ dcmfg/tests/t_concatenation_loader.cc | 12 ++++++------
+ dcmjpeg/docs/dcmcjpeg.man             |  2 +-
+ dcmpstat/apps/dcmpsmk.cc              |  2 +-
+ dcmpstat/docs/dcmp2pgm.man            |  2 +-
+ dcmpstat/docs/dcmprscp.man            |  2 +-
+ dcmpstat/docs/dcmpsmk.man             |  2 +-
+ dcmwlm/docs/wlmscpfs.man              |  2 +-
+ 9 files changed, 16 insertions(+), 16 deletions(-)
+
+Index: dcmtk/dcmfg/libsrc/concatenationcreator.cc
+===================================================================
+--- dcmtk.orig/dcmfg/libsrc/concatenationcreator.cc
++++ dcmtk/dcmfg/libsrc/concatenationcreator.cc
+@@ -246,7 +246,7 @@ size_t ConcatenationCreator::getNumInsta
+         OFCondition result = configureCommon();
+         if (result.bad())
+         {
+-            DCMFG_ERROR("Unable to compute number of instances for Concatenation, maybe input not intialized?)");
++            DCMFG_ERROR("Unable to compute number of instances for Concatenation, maybe input not initialized?)");
+             return 0;
+         }
+     }
+Index: dcmtk/dcmfg/libsrc/concatenationloader.cc
+===================================================================
+--- dcmtk.orig/dcmfg/libsrc/concatenationloader.cc
++++ dcmtk/dcmfg/libsrc/concatenationloader.cc
+@@ -445,7 +445,7 @@ OFCondition ConcatenationLoader::insertD
+         char buf[100];
+         dcmGenerateUniqueIdentifier(buf, SITE_INSTANCE_UID_ROOT);
+         uid = buf;
+-        DCMFG_WARN("SOP Instance UID of Concatentation Source (0020,0242) not set, created new SOP Instance UID "
++        DCMFG_WARN("SOP Instance UID of Concatenation Source (0020,0242) not set, created new SOP Instance UID "
+                    << uid);
+     }
+     OFCondition result = m_Result->putAndInsertOFStringArray(DCM_SOPInstanceUID, uid);
+@@ -551,8 +551,8 @@ void ConcatenationLoader::Info::print(OF
+ {
+     out << "Concatenation UID*           : " << m_ConcatenationUID << OFendl;
+     out << "  SOP Class UID*             : " << m_SOPClassUID << OFendl;
+-    out << "  Concatentation Source UID* : " << m_SourceUID << OFendl;
+-    out << "  Concatentation Source File : " << m_FileConatenationSource << OFendl;
++    out << "  Concatenation Source UID* : " << m_SourceUID << OFendl;
++    out << "  Concatenation Source File : " << m_FileConatenationSource << OFendl;
+     out << "  Number of Frames (computed): " << m_NumTotalFrames << OFendl;
+     out << "  In-conc. Total Number      : " << m_inConcatTotalNumber << OFendl;
+     out << "  Patient ID                 : " << m_PatientID << OFendl;
+Index: dcmtk/dcmfg/tests/t_concatenation_loader.cc
+===================================================================
+--- dcmtk.orig/dcmfg/tests/t_concatenation_loader.cc
++++ dcmtk/dcmfg/tests/t_concatenation_loader.cc
+@@ -114,8 +114,8 @@ static void prepare_scan_dump()
+ {
+     SCAN_DUMP += "Concatenation UID*           : 1.3.6.1.4.1.5962.1.7.70.2.1.1166562673.14401\n";
+     SCAN_DUMP += "  SOP Class UID*             : 1.2.840.10008.5.1.4.1.1.2.1\n";
+-    SCAN_DUMP += "  Concatentation Source UID* : \n";
+-    SCAN_DUMP += "  Concatentation Source File : \n";
++    SCAN_DUMP += "  Concatenation Source UID* : \n";
++    SCAN_DUMP += "  Concatenation Source File : \n";
+     SCAN_DUMP += "  Number of Frames (computed): 60\n";
+     SCAN_DUMP += "  In-conc. Total Number      : 6\n";
+     SCAN_DUMP += "  Patient ID                 : 0070\n";
+@@ -152,8 +152,8 @@ static void prepare_scan_dump()
+     SCAN_DUMP += "--------------------------------------------------------------\n";
+     SCAN_DUMP += "Concatenation UID*           : 1.3.6.1.4.1.5962.1.7.70.2.2.1166562673.14401\n";
+     SCAN_DUMP += "  SOP Class UID*             : 1.2.840.10008.5.1.4.1.1.2.1\n";
+-    SCAN_DUMP += "  Concatentation Source UID* : \n";
+-    SCAN_DUMP += "  Concatentation Source File : \n";
++    SCAN_DUMP += "  Concatenation Source UID* : \n";
++    SCAN_DUMP += "  Concatenation Source File : \n";
+     SCAN_DUMP += "  Number of Frames (computed): 30\n";
+     SCAN_DUMP += "  In-conc. Total Number      : 3\n";
+     SCAN_DUMP += "  Patient ID                 : 0070\n";
+@@ -178,8 +178,8 @@ static void prepare_scan_dump()
+     SCAN_DUMP += "--------------------------------------------------------------\n";
+     SCAN_DUMP += "Concatenation UID*           : 1.3.6.1.4.1.5962.1.7.70.2.3.1166562673.14401\n";
+     SCAN_DUMP += "  SOP Class UID*             : 1.2.840.10008.5.1.4.1.1.2.1\n";
+-    SCAN_DUMP += "  Concatentation Source UID* : \n";
+-    SCAN_DUMP += "  Concatentation Source File : \n";
++    SCAN_DUMP += "  Concatenation Source UID* : \n";
++    SCAN_DUMP += "  Concatenation Source File : \n";
+     SCAN_DUMP += "  Number of Frames (computed): 30\n";
+     SCAN_DUMP += "  In-conc. Total Number      : 3\n";
+     SCAN_DUMP += "  Patient ID                 : 0070\n";
+Index: dcmtk/dcmjpeg/docs/dcmcjpeg.man
+===================================================================
+--- dcmtk.orig/dcmjpeg/docs/dcmcjpeg.man
++++ dcmtk/dcmjpeg/docs/dcmcjpeg.man
+@@ -148,7 +148,7 @@ lossless JPEG codec selection:
+   +tl   --true-lossless
+           true lossless codec (default)
+ 
+-  # This option selects an encoder, that guarantees truely lossless
++  # This option selects an encoder, that guarantees truly lossless
+   # image compression. See NOTES for further information.
+ 
+   +pl   --pseudo-lossless
+Index: dcmtk/dcmpstat/apps/dcmpsmk.cc
+===================================================================
+--- dcmtk.orig/dcmpstat/apps/dcmpsmk.cc
++++ dcmtk/dcmpstat/apps/dcmpsmk.cc
+@@ -311,7 +311,7 @@ int main(int argc, char *argv[])
+     /* add additional image references to pstate */
+     if (cmd.getParamCount() > 2)
+     {
+-        OFLOG_INFO(dcmpsmkLogger, "adding additonal image reference(s)");
++        OFLOG_INFO(dcmpsmkLogger, "adding additional image reference(s)");
+         const int count = cmd.getParamCount();
+         for (int i = 2; i < count; i++)
+         {
+Index: dcmtk/dcmpstat/docs/dcmp2pgm.man
+===================================================================
+--- dcmtk.orig/dcmpstat/docs/dcmp2pgm.man
++++ dcmtk/dcmpstat/docs/dcmp2pgm.man
+@@ -19,7 +19,7 @@ a grayscale softcopy presentation state
+ with 8 bits/pixel.  The bitmap is stored either as "Portable Gray Map" (PGM)
+ or as a DICOM secondary capture image object.  If no presentation state is
+ read from file, a default presentation state is created.  The utility allows
+-to read a configuration file of the Softcopy Presentation State Viewer upon
++one to read a configuration file of the Softcopy Presentation State Viewer upon
+ startup.  In this case, the settings from the configuration file affecting
+ the rendering of the presentation state are used, e.g. a correction of the
+ gray scale range according to Barten's model (DICOM part 14) can be
+Index: dcmtk/dcmpstat/docs/dcmprscp.man
+===================================================================
+--- dcmtk.orig/dcmpstat/docs/dcmprscp.man
++++ dcmtk/dcmpstat/docs/dcmprscp.man
+@@ -22,7 +22,7 @@ The \b dcmprscp utility accepts print jo
+ not create real hardcopies but stores print jobs in the local DICOMscope
+ database as a set of Stored Print objects (one per page) and Hardcopy
+ Grayscale images (one per film box N-SET).  The DICOMscope application allows
+-to load a Stored Print object created by \b dcmprscp and to render a screen
++one to load a Stored Print object created by \b dcmprscp and to render a screen
+ preview of the hardcopy.  The \b dcmprscp utility reads the characteristics of
+ the printer to be emulated from the configuration file.
+ 
+Index: dcmtk/dcmpstat/docs/dcmpsmk.man
+===================================================================
+--- dcmtk.orig/dcmpstat/docs/dcmpsmk.man
++++ dcmtk/dcmpstat/docs/dcmpsmk.man
+@@ -17,7 +17,7 @@ dcmpsmk [options] dcmfile-in dcmfile-out
+ The \b dcmpsmk utility reads a DICOM image file and creates a grayscale
+ softcopy presentation state object according to Supplement 33.  The
+ presentation state object is written back to file.  A number of command line
+-options allow to specify how certain constructs that might be present in
++options allow one to specify how certain constructs that might be present in
+ the image file should be referenced or activated in the presentation state.
+ The newly created presentation state references the source image and
+ contains values that should allow for a "reasonable" display of the image
+Index: dcmtk/dcmwlm/docs/wlmscpfs.man
+===================================================================
+--- dcmtk.orig/dcmwlm/docs/wlmscpfs.man
++++ dcmtk/dcmwlm/docs/wlmscpfs.man
+@@ -263,7 +263,7 @@ within the given directory.  By default,
+ This should work as a default for most applications that would like to use
+ request files and want to ensure unique file names.  If it is desired to change
+ this naming scheme, the option \e --request-file-format can be used.  It
+-permits to specify the file naming pattern used by \e --request-file-path.
++permits one to specify the file naming pattern used by \e --request-file-path.
+ 
+ For flexibility, the following placeholders can be used in the pattern provided
+ for \e --request-file-format:


=====================================
debian/patches/1c8cca4bf6f7c92fc16f9e66faf49409c891a2b0.patch
=====================================
@@ -0,0 +1,90 @@
+From 1c8cca4bf6f7c92fc16f9e66faf49409c891a2b0 Mon Sep 17 00:00:00 2001
+From: Marco Eichelberg <dicom at offis.de>
+Date: Fri, 5 Feb 2021 17:50:44 +0100
+Subject: [PATCH] Adjusted the number of digits printed for FL and FD.
+
+Adjusted the number of digits printed for FL elements to FLT_DECIMAL_DIG
+(9) instead of 8, to make sure that the printed values can be converted
+back to FL without loss. Fixed comment for FD, where the values was
+already correct.
+
+Thanks to Mathieu Malaterre <mathieu.malaterre at gmail.com> for pointing
+out the issue.
+---
+ dcmdata/libsrc/dcvrfd.cc | 8 ++++----
+ dcmdata/libsrc/dcvrfl.cc | 8 ++++----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/dcmdata/libsrc/dcvrfd.cc b/dcmdata/libsrc/dcvrfd.cc
+index 72d9dd5f8..3fabe0a7f 100644
+--- a/dcmdata/libsrc/dcvrfd.cc
++++ b/dcmdata/libsrc/dcvrfd.cc
+@@ -1,6 +1,6 @@
+ /*
+  *
+- *  Copyright (C) 1994-2020, OFFIS e.V.
++ *  Copyright (C) 1994-2021, OFFIS e.V.
+  *  All rights reserved.  See COPYRIGHT file for details.
+  *
+  *  This software and supporting documentation were developed by
+@@ -190,11 +190,11 @@ void DcmFloatingPointDouble::print(STD_NAMESPACE ostream &out,
+                 {
+                     /* check whether first value is printed (omit delimiter) */
+                     if (i == 0)
+-                        OFStandard::ftoa(buffer, sizeof(buffer), *doubleVals, 0, 0, 17 /* DBL_DIG + 2 for DICOM FD */);
++                        OFStandard::ftoa(buffer, sizeof(buffer), *doubleVals, 0, 0, 17 /* DBL_DECIMAL_DIG for DICOM FD */);
+                     else
+                     {
+                         buffer[0] = '\\';
+-                        OFStandard::ftoa(buffer + 1, sizeof(buffer) - 1, *doubleVals, 0, 0, 17 /* DBL_DIG + 2 for DICOM FD */);
++                        OFStandard::ftoa(buffer + 1, sizeof(buffer) - 1, *doubleVals, 0, 0, 17 /* DBL_DECIMAL_DIG for DICOM FD */);
+                     }
+                     /* check whether current value sticks to the length limit */
+                     newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer));
+@@ -273,7 +273,7 @@ OFCondition DcmFloatingPointDouble::getOFString(OFString &stringVal,
+     {
+         /* ... and convert it to a character string */
+         char buffer[64];
+-        OFStandard::ftoa(buffer, sizeof(buffer), doubleVal, 0, 0, 17 /* DBL_DIG + 2 for DICOM FD */);
++        OFStandard::ftoa(buffer, sizeof(buffer), doubleVal, 0, 0, 17 /* DBL_DECIMAL_DIG for DICOM FD */);
+         /* assign result */
+         stringVal = buffer;
+     }
+diff --git a/dcmdata/libsrc/dcvrfl.cc b/dcmdata/libsrc/dcvrfl.cc
+index 5eb83fafc..0934af4f1 100644
+--- a/dcmdata/libsrc/dcvrfl.cc
++++ b/dcmdata/libsrc/dcvrfl.cc
+@@ -1,6 +1,6 @@
+ /*
+  *
+- *  Copyright (C) 1994-2020, OFFIS e.V.
++ *  Copyright (C) 1994-2021, OFFIS e.V.
+  *  All rights reserved.  See COPYRIGHT file for details.
+  *
+  *  This software and supporting documentation were developed by
+@@ -192,11 +192,11 @@ void DcmFloatingPointSingle::print(STD_NAMESPACE ostream &out,
+                 {
+                     /* check whether first value is printed (omit delimiter) */
+                     if (i == 0)
+-                        OFStandard::ftoa(buffer, sizeof(buffer), *floatVals, 0, 0, 8 /* FLT_DIG + 2 for DICOM FL */);
++                        OFStandard::ftoa(buffer, sizeof(buffer), *floatVals, 0, 0, 9 /* FLT_DECIMAL_DIG for DICOM FL */);
+                     else
+                     {
+                         buffer[0] = '\\';
+-                        OFStandard::ftoa(buffer + 1, sizeof(buffer) - 1, *floatVals, 0, 0, 8 /* FLT_DIG + 2 for DICOM FL */);
++                        OFStandard::ftoa(buffer + 1, sizeof(buffer) - 1, *floatVals, 0, 0, 9 /* FLT_DECIMAL_DIG for DICOM FL */);
+                     }
+                     /* check whether current value sticks to the length limit */
+                     newLength = printedLength + OFstatic_cast(unsigned long, strlen(buffer));
+@@ -275,7 +275,7 @@ OFCondition DcmFloatingPointSingle::getOFString(OFString &value,
+     {
+         /* ... and convert it to a character string */
+         char buffer[64];
+-        OFStandard::ftoa(buffer, sizeof(buffer), floatVal, 0, 0, 8 /* FLT_DIG + 2 for DICOM FL */);
++        OFStandard::ftoa(buffer, sizeof(buffer), floatVal, 0, 0, 9 /* FLT_DECIMAL_DIG for DICOM FL */);
+         /* assign result */
+         value = buffer;
+     }
+-- 
+2.30.2
+


=====================================
debian/patches/3ae202ee9d8f27054ad0c463a6799d8b10b4864b.patch
=====================================
@@ -0,0 +1,138 @@
+From 3ae202ee9d8f27054ad0c463a6799d8b10b4864b Mon Sep 17 00:00:00 2001
+From: Joerg Riesmeier <dicom at jriesmeier.com>
+Date: Thu, 30 Sep 2021 13:48:42 +0200
+Subject: [PATCH] Converted non-ASCII characters to ASCII.
+
+Thanks to GitHub user "malaterre" for the report and suggested fix.
+---
+ dcmect/libsrc/enhanced_ct.cc               | 4 ++--
+ dcmfg/libsrc/concatenationloader.cc        | 4 ++--
+ dcmiod/include/dcmtk/dcmiod/modsopcommon.h | 6 +++---
+ dcmseg/include/dcmtk/dcmseg/segment.h      | 6 +++---
+ dcmtls/include/dcmtk/dcmtls/tlsciphr.h     | 6 +++---
+ 5 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/dcmect/libsrc/enhanced_ct.cc b/dcmect/libsrc/enhanced_ct.cc
+index 007cb8813..619374290 100644
+--- a/dcmect/libsrc/enhanced_ct.cc
++++ b/dcmect/libsrc/enhanced_ct.cc
+@@ -1,6 +1,6 @@
+ /*
+  *
+- *  Copyright (C) 2019, Open Connections GmbH
++ *  Copyright (C) 2019-2021, Open Connections GmbH
+  *  All rights reserved.  See COPYRIGHT file for details.
+  *
+  *  This software and supporting documentation are maintained by
+@@ -480,7 +480,7 @@ OFCondition EctEnhancedCT::loadDataset(DcmDataset& dataset, EctEnhancedCT*& ct)
+         else
+         {
+             DCMECT_ERROR("Invalid SOP Class: "
+-                         << sopClass << ", only Enhanced CT Image Storage (1.2.840.10008.5.1.4.1.1.2.1​) supported");
++                         << sopClass << ", only Enhanced CT Image Storage (1.2.840.10008.5.1.4.1.1.2.1) supported");
+             return ECT_InvalidSOPClass;
+         }
+     }
+diff --git a/dcmfg/libsrc/concatenationloader.cc b/dcmfg/libsrc/concatenationloader.cc
+index 3833ddc4f..aad76f69f 100644
+--- a/dcmfg/libsrc/concatenationloader.cc
++++ b/dcmfg/libsrc/concatenationloader.cc
+@@ -1,6 +1,6 @@
+ /*
+  *
+- *  Copyright (C) 2019-2020, Open Connections GmbH
++ *  Copyright (C) 2019-2021, Open Connections GmbH
+  *  All rights reserved.  See COPYRIGHT file for details.
+  *
+  *  This software and supporting documentation are maintained by
+@@ -445,7 +445,7 @@ OFCondition ConcatenationLoader::insertDestinationAttributes()
+         char buf[100];
+         dcmGenerateUniqueIdentifier(buf, SITE_INSTANCE_UID_ROOT);
+         uid = buf;
+-        DCMFG_WARN("SOP Instance UID of Concatentation Source (0020,0242)​ not set, created new SOP Instance UID "
++        DCMFG_WARN("SOP Instance UID of Concatentation Source (0020,0242) not set, created new SOP Instance UID "
+                    << uid);
+     }
+     OFCondition result = m_Result->putAndInsertOFStringArray(DCM_SOPInstanceUID, uid);
+diff --git a/dcmiod/include/dcmtk/dcmiod/modsopcommon.h b/dcmiod/include/dcmtk/dcmiod/modsopcommon.h
+index fab033e3f..27f433ad2 100644
+--- a/dcmiod/include/dcmtk/dcmiod/modsopcommon.h
++++ b/dcmiod/include/dcmtk/dcmiod/modsopcommon.h
+@@ -1,6 +1,6 @@
+ /*
+  *
+- *  Copyright (C) 2015-2019, Open Connections GmbH
++ *  Copyright (C) 2015-2021, Open Connections GmbH
+  *  All rights reserved.  See COPYRIGHT file for details.
+  *
+  *  This software and supporting documentation are maintained by
+@@ -177,8 +177,8 @@ public:
+ 
+     /**  Set Timezone Offset From UTC
+      *   @param  value Value to be set (single value only) or "" for no value.
+-     *   Encoded as an ASCII string in the format “&ZZXX”. The components of this
+-     *   string, from left to right, are & = “+” or “-”, and ZZ = Hours and
++     *   Encoded as an ASCII string in the format "&ZZXX". The components of this
++     *   string, from left to right, are & = "+" or "-", and ZZ = Hours and
+      *   XX = Minutes of offset.
+      *   @param  checkValue Check 'value' for conformance with VR (SH) and VM (1) if enabled
+      *   @return EC_Normal if successful, an error code otherwise
+diff --git a/dcmseg/include/dcmtk/dcmseg/segment.h b/dcmseg/include/dcmtk/dcmseg/segment.h
+index f7987c0c9..8c887a531 100644
+--- a/dcmseg/include/dcmtk/dcmseg/segment.h
++++ b/dcmseg/include/dcmtk/dcmseg/segment.h
+@@ -1,6 +1,6 @@
+ /*
+  *
+- *  Copyright (C) 2015-2019, Open Connections GmbH
++ *  Copyright (C) 2015-2021, Open Connections GmbH
+  *  All rights reserved.  See COPYRIGHT file for details.
+  *
+  *  This software and supporting documentation are maintained by
+@@ -58,10 +58,10 @@ public:
+      *          successful; memory is allocated by the function
+      *  @param  segmentLabel Free text label for the segment
+      *  @param  segmentedPropertyCategory The segmented property category.
+-     *          Baseline CID 7150 “Segmentation Property Categories” should be
++     *          Baseline CID 7150 "Segmentation Property Categories" should be
+      *          used.
+      *  @param  segmentedPropertyType The segmented property type. Baseline CID
+-     *          7151 “Segmentation Property Types”
++     *          7151 "Segmentation Property Types"
+      *  @param  algoType The algorithm type used for segmenting this segment
+      *  @param  algoName Algorithm name (required if algoType is not MANUAL)
+      *  @return EC_Normal if creation was successful, error otherwise
+diff --git a/dcmtls/include/dcmtk/dcmtls/tlsciphr.h b/dcmtls/include/dcmtk/dcmtls/tlsciphr.h
+index 6ffd4a962..c3ad28794 100644
+--- a/dcmtls/include/dcmtk/dcmtls/tlsciphr.h
++++ b/dcmtls/include/dcmtk/dcmtls/tlsciphr.h
+@@ -132,7 +132,7 @@ enum DcmTLSCipherKeyExchange
+   /// Static RSA key exchange
+   TKE_RSA,
+ 
+-  /// Elliptic Curve Diffie–Hellman
++  /// Elliptic Curve Diffie-Hellman
+   TKE_ECDH,
+ 
+   /// Fixed ECDH with ECDSA-signed certificates
+@@ -141,7 +141,7 @@ enum DcmTLSCipherKeyExchange
+   /// Fixed ECDH with RSA signatures
+   TKE_ECDH_RSA,
+ 
+-  /// Diffie–Hellman key exchange
++  /// Diffie-Hellman key exchange
+   TKE_DH
+ 
+ };
+@@ -157,7 +157,7 @@ enum DcmTLSCipherAuthentication
+   /// Digital Signature Standard
+   TCA_DSS,
+ 
+-  /// Elliptic Curve Diffie–Hellman
++  /// Elliptic Curve Diffie-Hellman
+   TCA_ECDH,
+ 
+   /// Elliptic Curve Digital Signature Algorithm
+-- 
+2.30.2
+


=====================================
debian/patches/ab61e8577ff0974efcfae2907c48baf6023c1160.patch
=====================================
@@ -0,0 +1,25 @@
+From ab61e8577ff0974efcfae2907c48baf6023c1160 Mon Sep 17 00:00:00 2001
+From: Joerg Riesmeier <dicom at jriesmeier.com>
+Date: Thu, 30 Sep 2021 13:08:23 +0200
+Subject: [PATCH] Replaced German umlaut by its transliteration.
+
+Replaced German umlaut in code meaning by its transliteration.
+
+Thanks to GitHub user "malaterre" for the report.
+---
+ dcmsr/include/dcmtk/dcmsr/codes/dcm.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: dcmtk/dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+===================================================================
+--- dcmtk.orig/dcmsr/include/dcmtk/dcmsr/codes/dcm.h
++++ dcmtk/dcmsr/include/dcmtk/dcmsr/codes/dcm.h
+@@ -1630,7 +1630,7 @@
+ #define CODE_DCM_Generic3DPlanning                                         DSRBasicCodedEntry("112341", "DCM", "Generic 3D Planning")
+ #define CODE_DCM_GenericPlanningForHipReplacement                          DSRBasicCodedEntry("112342", "DCM", "Generic Planning for Hip Replacement")
+ #define CODE_DCM_GenericPlanningForKneeReplacement                         DSRBasicCodedEntry("112343", "DCM", "Generic Planning for Knee Replacement")
+-#define CODE_DCM_MuellerMethodPlanningForHipReplacement                    DSRBasicCodedEntry("112344", "DCM", "Mller Method Planning for Hip Replacement")
++#define CODE_DCM_MuellerMethodPlanningForHipReplacement                    DSRBasicCodedEntry("112344", "DCM", "Mueller Method Planning for Hip Replacement")
+ #define CODE_DCM_ImplantationPlan                                          DSRBasicCodedEntry("112345", "DCM", "Implantation Plan")
+ #define CODE_DCM_SelectedImplantComponent                                  DSRBasicCodedEntry("112346", "DCM", "Selected Implant Component")
+ #define CODE_DCM_ComponentID                                               DSRBasicCodedEntry("112347", "DCM", "Component ID")


=====================================
debian/patches/bigendian.patch
=====================================
@@ -1,16 +1,12 @@
 Author: Mathieu Malaterre <malat at debian.org>
 Description: Fix unit test suite on big endian machine
- Concatenation of upstream commit:
+ Concatenation of upstream commits:
  .
  - b499d89e769feffce03c5d7cefa1cb06d33a2b5b
  - 9e8434a2952ae39d1f9d0914173b5cc5b1b32175
  - 4df0f42790b9952aa75c7242fbcc47a348922bc6
 Forwarded: not-needed
 
----
- dcmect/tests/t_roundtrip.cc | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
 Index: dcmtk/dcmect/tests/t_roundtrip.cc
 ===================================================================
 --- dcmtk.orig/dcmect/tests/t_roundtrip.cc


=====================================
debian/patches/series
=====================================
@@ -3,3 +3,8 @@
 07_dont_export_all_executables.patch
 bigendian.patch
 bug1000220.patch
+test_failures.patch
+3ae202ee9d8f27054ad0c463a6799d8b10b4864b.patch
+0cf6b12d8ea0b727f0fe2ab076b6f180100fbd30.patch
+ab61e8577ff0974efcfae2907c48baf6023c1160.patch
+1c8cca4bf6f7c92fc16f9e66faf49409c891a2b0.patch


=====================================
debian/patches/test_failures.patch
=====================================
@@ -0,0 +1,195 @@
+Author: Mathieu Malaterre <malat at debian.org>
+Description: Fix random failure of unit test
+ Concatenation of upstream commits:
+ .
+ - cfbdf2748a9291d4d6170518b43d1d4258f8b272
+ - 21eda2341946527f2f01e2be2b8a3a8e66a415f6
+ - 0832266a6522214d191dc12771ff865ee9d07251
+Forwarded: not-needed
+
+Index: dcmtk/dcmtls/tests/tscuscptls.cc
+===================================================================
+--- dcmtk.orig/dcmtls/tests/tscuscptls.cc
++++ dcmtk/dcmtls/tests/tscuscptls.cc
+@@ -17,7 +17,7 @@
+  *
+  *  Purpose: TLS test for classes DcmSCP and DcmSCPPool
+  *
+- *  Note: This test will fail after 2029-02-25 due to certificate expiry. 
++ *  Note: This test will fail after 2029-02-25 due to certificate expiry.
+  *        The keys embedded in this file should be replaced then (see below).
+  *
+  */
+@@ -28,6 +28,7 @@
+ #include "dcmtk/ofstd/ofstdinc.h"
+ #include "dcmtk/ofstd/oftest.h"
+ #include "dcmtk/ofstd/oftimer.h"
++#include "dcmtk/ofstd/ofrand.h"
+ #include "dcmtk/oflog/consap.h"
+ #include "dcmtk/dcmnet/scp.h"
+ #include "dcmtk/dcmnet/scu.h"
+@@ -37,6 +38,11 @@
+ 
+ #ifdef WITH_THREADS
+ 
++#define BAILOUT(msg) do { \
++    OFCHECK_FAIL(msg); \
++    return; \
++} while (0)
++
+ /** Method that ensures that the current thread is actually sleeping for the
+  *  defined number of seconds (at least).
+  *  The problem with the regular sleep() function called from OFStandard::sleep
+@@ -72,7 +78,8 @@ struct TestSCP: DcmSCP, OFThread
+         DcmSCP(),
+         m_listen_result(EC_NotYetImplemented), // value indicating "not set"
+         m_set_stop_after_assoc(OFFalse),
+-        m_set_stop_after_timeout(OFFalse)
++        m_set_stop_after_timeout(OFFalse),
++        m_is_running(OFFalse)
+     {
+     }
+ 
+@@ -83,6 +90,7 @@ struct TestSCP: DcmSCP, OFThread
+         m_listen_result = EC_NotYetImplemented;
+         m_set_stop_after_assoc = OFFalse;
+         m_set_stop_after_timeout = OFFalse;
++        m_is_running = OFFalse;
+     }
+ 
+     /** Overwrite method from DcmSCP in order to test feature to stop after current
+@@ -109,12 +117,16 @@ struct TestSCP: DcmSCP, OFThread
+     OFBool m_set_stop_after_assoc;
+     /// If set, the SCP should stop after TCP timeout occurred in non-blocking mode
+     OFBool m_set_stop_after_timeout;
++    /// indicates whether the thread is currently running
++    volatile OFBool m_is_running;
+ 
+     /** Method called by OFThread to start SCP operation. Starts listen() loop of DcmSCP.
+     */
+     virtual void run()
+     {
++        m_is_running = OFTrue;
+         m_listen_result = listen();
++        m_is_running = OFFalse;
+     }
+ 
+ };
+@@ -123,11 +135,22 @@ struct TestSCP: DcmSCP, OFThread
+ 
+ struct TestPool : DcmSCPPool<>, OFThread
+ {
+-    OFCondition result;
++    OFCondition m_listen_result;
++    volatile OFBool m_is_running;
++
++    TestPool()
++    : DcmSCPPool<>()
++    , OFThread()
++    , m_listen_result(EC_NotYetImplemented)
++    , m_is_running(OFFalse)
++    { }
++
+ protected:
+     void run()
+     {
+-        result = listen();
++        m_is_running = OFTrue;
++        m_listen_result = listen();
++        m_is_running = OFFalse;
+     }
+ };
+ 
+@@ -300,9 +323,9 @@ OFTEST_FLAGS(dcmtls_scp_tls, EF_None)
+     scpTlsLayer.setCertificateVerification(DCV_ignoreCertificate);
+ 
+     /// Init and run Scp server with tls
++    OFRandom rnd;
+     TestSCP scp;
+     DcmSCPConfig& config = scp.getConfig();
+-    config.setPort(11112);
+     config.setAETitle("ACCEPTOR");
+     config.setACSETimeout(30);
+     config.setConnectionTimeout(1);
+@@ -315,10 +338,24 @@ OFTEST_FLAGS(dcmtls_scp_tls, EF_None)
+     OFCHECK(config.addPresentationContext(UID_VerificationSOPClass, xfers, ASC_SC_ROLE_SCP).good());
+ 
+     config.setTransportLayer(&scpTlsLayer);
+-    scp.start();
+ 
+     // Ensure server is up and listening
+-    force_sleep(1);
++    int i = 0;
++    Uint16 port_number = 0;
++    OFMutex memory_barrier;
++    do
++    {
++      // generate a random port number between 61440 (0xF000) and 65535
++      port_number = 0xF000 + (rnd.getRND16() & 0xFFF);
++      config.setPort(port_number);
++      scp.start();
++      force_sleep(2); // wait 2 seconds for the SCP process to start
++      memory_barrier.lock();
++      memory_barrier.unlock();
++    }
++    while ((i++ < 5) && (! scp.m_is_running)); // try up to 5 port numbers before giving up
++
++    if (! scp.m_is_running) BAILOUT("Start of the SCP thread failed: " << scp.m_listen_result.text());
+ 
+     // Configure SCU and run it against SCP
+     DcmTLSSCU scu;
+@@ -329,7 +366,7 @@ OFTEST_FLAGS(dcmtls_scp_tls, EF_None)
+     scu.setPeerAETitle("ACCEPTOR");
+     scu.setAETitle("REQUESTOR");
+     scu.setPeerHostName("localhost");
+-    scu.setPeerPort(11112);
++    scu.setPeerPort(port_number);
+ 
+     scu.enableAuthentication(PRIVATE_KEY_FILENAME, PUBLIC_SELFSIGNED_CERT_FILENAME, PRIVATE_KEY_PWD, DCF_Filetype_PEM, DCF_Filetype_PEM);
+     scu.setPeerCertVerification(DCV_ignoreCertificate);
+@@ -368,9 +405,9 @@ OFTEST_FLAGS(dcmtls_scp_pool_tls, EF_Non
+     scpTlsLayer.setCertificateVerification(DCV_ignoreCertificate);
+ 
+     /// Init and run Scp server with tls
++    OFRandom rnd;
+     TestPool pool;
+     DcmSCPConfig& config = pool.getConfig();
+-    config.setPort(11112);
+     config.setAETitle("ACCEPTOR");
+     config.setACSETimeout(30);
+     config.setConnectionTimeout(1);
+@@ -383,10 +420,23 @@ OFTEST_FLAGS(dcmtls_scp_pool_tls, EF_Non
+     OFCHECK(config.addPresentationContext(UID_VerificationSOPClass, xfers, ASC_SC_ROLE_DEFAULT).good());
+     config.setTransportLayer(&scpTlsLayer);
+     pool.setMaxThreads(20);
+-    pool.start();
+ 
+     // Ensure server is up and listening
+-    force_sleep(1);
++    int i = 0;
++    Uint16 port_number = 0;
++    OFMutex memory_barrier;
++    do
++    {
++      // generate a random port number between 61440 (0xF000) and 65535
++      port_number = 0xF000 + (rnd.getRND16() & 0xFFF);
++      config.setPort(port_number);
++      pool.start();
++      force_sleep(2); // wait 2 seconds for the SCP process to start
++      memory_barrier.lock();
++      memory_barrier.unlock();
++    }
++    while ((i++ < 5) && (! pool.m_is_running)); // try up to 5 port numbers before giving up
++    if (! pool.m_is_running) BAILOUT("Start of the SCP thread ppol failed: " << pool.m_listen_result.text());
+ 
+     OFVector<TestTLSSCU*> scus(20);
+     OFVector<DcmTLSTransportLayer*> scuTlsLayers;
+@@ -400,7 +450,7 @@ OFTEST_FLAGS(dcmtls_scp_pool_tls, EF_Non
+         (*it1)->setPeerAETitle("ACCEPTOR");
+         (*it1)->setAETitle("REQUESTOR");
+         (*it1)->setPeerHostName("localhost");
+-        (*it1)->setPeerPort(11112);
++        (*it1)->setPeerPort(port_number);
+         (*it1)->enableAuthentication(PRIVATE_KEY_FILENAME, PUBLIC_SELFSIGNED_CERT_FILENAME, PRIVATE_KEY_PWD, DCF_Filetype_PEM, DCF_Filetype_PEM);
+         (*it1)->setPeerCertVerification(DCV_ignoreCertificate);
+ 


=====================================
debian/rules
=====================================
@@ -4,9 +4,6 @@
 # export DEB_BUILD_MAINT_OPTIONS = hardening=+pie
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
-# reduce overlinking:
-export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed
-
 # needed for the tests 
 export DCMDICTPATH=$(CURDIR)/dcmdata/data/dicom.dic
 


=====================================
debian/watch
=====================================
@@ -1,2 +1,2 @@
-version=3
+version=4
 ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/current/dcmtk-(.*)\.tar\.gz



View it on GitLab: https://salsa.debian.org/med-team/dcmtk/-/compare/ab427480619e1685fa9427ce009e9a4e15377fc8...75480083d202ee4d66047a24e03498342a8b5502

-- 
View it on GitLab: https://salsa.debian.org/med-team/dcmtk/-/compare/ab427480619e1685fa9427ce009e9a4e15377fc8...75480083d202ee4d66047a24e03498342a8b5502
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/20211208/1649a9ea/attachment-0001.htm>


More information about the debian-med-commit mailing list