[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