Bug 1956962

Summary: Request to build dcmtk for EPEL 7
Product: [Fedora] Fedora EPEL Reporter: Troels Arvin <troels>
Component: dcmtkAssignee: Ankur Sinha (FranciscoD) <sanjay.ankur>
Status: ASSIGNED --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: epel7CC: code, neuro-sig, sanjay.ankur, tn, troels
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Troels Arvin 2021-05-04 18:45:13 UTC
The dcmtk package is available for EPEL 8 and a number of Fedora versions.

I ask that it also be built for EPEL 7.

At https://gitlab.com/troelsarvin/dcmtk_epel7.git I have posted code which builds a well-working package for RHEL/CentOS 7. And at https://copr.fedorainfracloud.org/coprs/tarvin/dcmtk_EPEL_7/ is a resulting set of packages built using COPR.

(The EPEL 7 version needs to make use of the CharLS package in EPEL 7, and that has caused differences in spec file and patches compared to EPEL 8.)

Comment 1 Ankur Sinha (FranciscoD) 2021-05-10 13:40:26 UTC
Hi Troels,

Would you be up to maintain the package for EPEL 7 (and perhaps 8 too?)

The package is maintained by the NeuroFedora SIG but we're primarily Fedora focussed. We don't use EPEL and so we can't maintain things for EPEL---hard to test etc. If you'd be happy to maintain dcmtk for EPEL, that'll be awesome.

Igor: are you looking after EPEL branches, and would it be OK for Treols to maintain/co-maintain them?

Cheers,
Ankur

https://neuro.fedoraproject.org

Comment 2 Troels Arvin 2021-05-10 14:20:26 UTC
Yes, I'd be happy to maintain it.

But I'm new to the Fedora processes, and I could use a bit of practical guidance. First and foremost: Should the target be to have the same .spec file work for all targets (both EPEL7, EPEL 8, and latest Fedoras)? Or is it OK to have a separate .spec file for EPEL 7? (EPEL 7 has some rather significant library dependencies than all the other targets). If it's OK to have a separate .spec file for EPEL 7, how is that done?

Comment 3 Ankur Sinha (FranciscoD) 2021-05-10 15:09:54 UTC
That's great.

This explains how to go about it:

https://fedoraproject.org/wiki/Getting_a_Fedora_package_in_EPEL#The_procedure_for_getting_a_package_in_EPEL


Each target lives in a different branch on the SCM

https://src.fedoraproject.org/rpms/dcmtk/branches

There's no compulsion that the same spec must be used for each. If easily doable, some package maintainers prefer to have a single spec with conditionals while others prefer to treat each branch separately.

Are you a package maintainer already Treols? I'll be happy to sponsor you as a co-maintainer for the EPEL branches otherwise:

https://fedoraproject.org/wiki/EPEL_Package_Maintainers

Cheers, and thanks,
Ankur

Comment 4 Fedora Admin user for bugzilla script actions 2022-07-22 00:10:20 UTC
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.

Comment 5 Ben Beasley 2023-03-05 16:02:23 UTC
The current Rawhide spec file builds for EPEL7 with some trivial adjustments. I’d be happy to go ahead and build an EPEL7 package if someone is prepared to help maintain it.

diff --git a/dcmtk.spec b/dcmtk.spec
index 970f766..03e09e1 100644
--- a/dcmtk.spec
+++ b/dcmtk.spec
@@ -51,7 +51,7 @@ Patch16:    0001-3.6.7-Increase-sleep-for-tests.patch
 BuildRequires: gcc
 BuildRequires: gcc-c++
 BuildRequires: git-core
-BuildRequires: cmake
+BuildRequires: cmake3
 BuildRequires: libjpeg-devel
 BuildRequires: libpng-devel
 BuildRequires: libtiff-devel
@@ -104,7 +104,7 @@ find . -type f -name "*.cc" -exec chmod 0644 '{}' \;
 export CFLAGS="%{optflags} -fPIC -Wno-error=deprecated-declarations"
 export CXXFLAGS="%{optflags} -fPIC -Wno-error=deprecated-declarations"
 export LDFLAGS="%{__global_ldflags} -fPIC"
-%cmake -DCMAKE_BUILD_TYPE:STRING="Release" \
+%cmake3 -DCMAKE_BUILD_TYPE:STRING="Release" \
  -DDCMTK_INSTALL_LIBDIR=%{_lib} \
  -DDCMTK_INSTALL_CMKDIR=%{_lib}/cmake/%{name} \
  -DCMAKE_INSTALL_DOCDIR:PATH=%{_pkgdocdir} \
@@ -125,10 +125,10 @@ export LDFLAGS="%{__global_ldflags} -fPIC"
  -DDCMTK_WITH_ZLIB:BOOL=ON \
  -DDCMTK_ENABLE_CXX11:BOOL=ON \
  -Wno-dev
-%cmake_build
+%cmake3_build
 
 %install
-%cmake_install
+%cmake3_install
 
 # Remove zero-lenght file
 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/wlistdb/OFFIS/lockfile
@@ -140,7 +140,7 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/wlistdb/OFFIS/lockfile
 %ifarch ppc64le s390x
 rm -rf %{_vpath_builddir}/dcmtls/tests/
 %endif
-%ctest
+%ctest3
 
 %files
 %license COPYRIGHT