Bug 566725 - (gdcm) Review Request: gdcm - Grassroots DiCoM is a C++ library to reading/parsing and writing DICOM medical files
Review Request: gdcm - Grassroots DiCoM is a C++ library to reading/parsing a...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Peter Lemenkov
Fedora Extras Quality Assurance
:
Depends On: CharLS
Blocks: InsightToolkit
  Show dependency treegraph
 
Reported: 2010-02-19 10:01 EST by Mario Ceresa
Modified: 2010-11-11 17:23 EST (History)
5 users (show)

See Also:
Fixed In Version: gdcm-2.0.16-5.fc13
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-11-11 17:19:07 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
lemenkov: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Mario Ceresa 2010-02-19 10:01:26 EST
Spec URL: http://mrceresa.fedorapeople.org/gdcm.spec
SRPM URL: http://mrceresa.fedorapeople.org/gdcm-2.0.14-1.fc12.src.rpm
Description: 
GDCM implements the dicom base standard part 5 that concentrates on image file
format. Hence GDCM supports the following formats:
- ACR-NEMA version 1 and 2 (huffman compression is not supported),
- DICOM version 3.0, including various encodings of JPEG - lossless & lossy-, 
RLE, J2K, deflated, JPEG-LS (very experimental) (MPEG2 compression is not 
supported)
- Papyrus V2 and V3 file headers should be readable,
Comment 1 Mario Ceresa 2010-02-19 14:50:21 EST
[makerpms@shadow rpmbuild]$ rpmlint SPECS/gdcm.spec SRPMS/gdcm-2.0.14-1.fc12.src.rpm RPMS/i686/gdcm-2.0.14-1.fc12.i686.rpm RPMS/i686/gdcm-devel-2.0.14-1.fc12.i686.rpm 
gdcm.i686: W: incoherent-version-in-changelog 2.0.14 ['2.0.14-1.fc12', '2.0.14-1']
gdcm.i686: W: shared-lib-calls-exit /usr/lib/libgdcmjpeg16.so.2.0.14 exit@GLIBC_2.0
gdcm.i686: W: shared-lib-calls-exit /usr/lib/libgdcmjpeg12.so.2.0.14 exit@GLIBC_2.0
gdcm.i686: W: shared-lib-calls-exit /usr/lib/libgdcmjpeg8.so.2.0.14 exit@GLIBC_2.0
gdcm-devel.i686: W: no-documentation
3 packages and 1 specfiles checked; 0 errors, 5 warnings.

I don't know what to do with the shared-lib-calls-exit warnings: do I have to report upstream as bugs, or it's that I select wome wrong option?
Comment 2 Peter Lemenkov 2010-03-07 05:54:38 EST
Bundled libraries, which should be removed:

* Utilities/VTK contains portions from VTK (not sure, whether they can be separated easily)
* Utilities/gdcmcharls contains portions from CharLS
* Utilities/gdcmexpat contains expat 2.0
* Utilities/gdcmjpeg contans libjpeg
* Utilities/gdcmopenjpeg contains portions from openjpeg
* Utilities/gdcmuuid contains uuid sources
* Utilities/gdcmzlib contains zlib
* Utilities/pvrg contains code, which is questionable from legal PoV - there are mentions of MPEG algorithms here.
Comment 3 Mario Ceresa 2010-03-08 09:53:45 EST
Hello Peter!
the spec file already contains in the %prep part rm lines for each of the libraries that you mention and the patchs needed to add CharLS to the build.

Can it be that I mistakenly sent you a wrong spec file, or is there something else that I can do to remove the offending libs?

Thanks,

Mario
Comment 4 Mario Ceresa 2010-03-15 12:09:24 EDT
Hello Peter!
this package builds against CharLS:

http://mrceresa.fedorapeople.org/gdcm-2.0.14-2.fc12.src.rpm
http://mrceresa.fedorapeople.org/gdcm.spec

Mario
Comment 5 Mario Ceresa 2010-03-22 12:26:20 EDT
Fixed problems with 64 bit linking:

http://mrceresa.fedorapeople.org/gdcm-2.0.14-3.fc12.src.rpm
Comment 6 Martin Gieseking 2010-04-01 13:28:28 EDT
Hi Mario,

your package currently doesn't build in mock because of two missing BRs:
  BuildRequires: tex(latex)
  BuildRequires: graphviz
These are required for building the PDF (doxygen) documentation.

Some further comments:
- in the %files sections, you can drop the %dir lines
- the man pages should be added with %{_mandir}/man1/*.1*
- fix the changlog format according to
  https://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs
Comment 7 Mario Ceresa 2010-04-23 08:10:36 EDT
Thanks Martin for your comments and sorry for such a delayed response.

here there is the new package:

http://mrceresa.fedorapeople.org/gdcm-2.0.14-5.fc12.src.rpm
http://mrceresa.fedorapeople.org/gdcm.spec
Comment 8 Mario Ceresa 2010-09-18 10:04:11 EDT
- Updated to release 2.0.16
- Removed patch "stack_namespace" and "poppler_breaks_api" because
already included upstream
- Added swig and texlive-pdflatex to BuildRequires
- Moved python files to a separate package

New files are available at:

http://mrceresa.fedorapeople.org/gdcm-2.0.16-1.fc12.src.rpm
http://mrceresa.fedorapeople.org/gdcm.spec

It builds fine in mock but I have problems with koji:

https://koji.fedoraproject.org/koji/taskinfo?taskID=2474833

The ppc/ppc64 fails with a "glibc double free or corruption" in doxygen and then the builds for x86_64 and i686 are canceled.
Comment 9 Peter Lemenkov 2010-09-18 10:32:47 EDT
(In reply to comment #8)

> It builds fine in mock but I have problems with koji:
> 
> https://koji.fedoraproject.org/koji/taskinfo?taskID=2474833
> 
> The ppc/ppc64 fails with a "glibc double free or corruption" in doxygen and
> then the builds for x86_64 and i686 are canceled.

This is a bug in doxygen, definitely.
Comment 10 Mario Ceresa 2010-09-18 12:03:23 EDT
Ok added ExcludeArch as Peter suggested to circumvent the problem with doxygen.

Now I have a successful build in koji for i686 and x86_64:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2475035

New spec and rpms uploaded:

http://mrceresa.fedorapeople.org/gdcm-2.0.16-2.fc12.src.rpm
http://mrceresa.fedorapeople.org/gdcm.spec
Comment 11 Mario Ceresa 2010-10-15 11:39:23 EDT
Rearranged directory layout to remove version information.

http://mrceresa.fedorapeople.org/gdcm-2.0.16-3.fc12.src.rpm
http://mrceresa.fedorapeople.org/gdcm.spec

Builds correctly in koji:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2536940

I tested that cmake can find gdcm after changing the dir layout creating a CMakeLists.txt file with the only line:

find_package(GDCM REQUIRED)

and it configured correctly. 

Please note that package search is case-sensitive in cmake so specifying instead: find_package(gdcm REQUIRED) WON'T work.
Comment 12 Peter Lemenkov 2010-10-19 04:58:05 EDT
Koji scratch build for Fedora 14:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2542475

REVIEW:

Legend: + = PASSED, - = FAILED, 0 = Not Applicable

+ rpmlint is not silent, but all its messages may be ignored or resolution of mentioned issues may be postponed:

gdcm.i686: W: spelling-error %description -l en_US dicom -> dicot, di com, di-com
gdcm.i686: W: spelling-error %description -l en_US huffman -> Huffman, huff man, huff-man
gdcm.i686: W: spelling-error %description -l en_US encodings -> encoding, encoding s, encodes
gdcm.i686: W: spelling-error %description -l en_US lossless -> loss less, loss-less, massless
gdcm.i686: W: spelling-error %description -l en_US lossy -> loss, glossy, flossy

^^ these are false positives

gdcm.i686: W: shared-lib-calls-exit /usr/lib/libgdcmjpeg16.so.2.0.16 exit@GLIBC_2.0
gdcm.i686: W: shared-lib-calls-exit /usr/lib/libgdcmjpeg12.so.2.0.16 exit@GLIBC_2.0
gdcm.i686: W: shared-lib-calls-exit /usr/lib/libgdcmjpeg8.so.2.0.16 exit@GLIBC_2.0

^^ this should be reported upstream.

gdcm-devel.i686: W: no-documentation

^^ this package just doesn't contain documentation

gdcm-python.i686: W: private-shared-object-provides /usr/lib/python2.7/site-packages/_gdcmswig.so _gdcmswig.so

^^ this *should* be filtered out. See the following link for the details:
https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering

gdcm-python.i686: W: no-documentation

^^ this package just doesn't contain documentation

4 packages and 0 specfiles checked; 0 errors, 11 warnings.


+ The package is named according to the  Package Naming Guidelines.
+ The spec file name matches the base package %{name}, in the format %{name}.spec.
+ The package meets the Packaging Guidelines.
+ The package is licensed with a Fedora approved license and meets the Licensing Guidelines.
+ The License field in the package spec file matches the actual license (BSD).

- The file, containing the text of the license(s) for the package, MUST be included in %doc. Please, add Copyright.txt as %doc. Also consider adding some other files to %doc. I believe that marking Examples directory as %doc in devel subpackage would be useful.

+ The spec file is written in American English.
+ The spec file for the package is legible.
+ The sources used to build the package, match the upstream source, as provided in the spec URL.

Sulaco ~/rpmbuild/SOURCES: sha256sum gdcm-2.0.16.tar.bz2*
f0e1d8e6a29976cdf71caa4ab84cbd8149464f4598f33682e751f3e9a956f265  gdcm-2.0.16.tar.bz2
f0e1d8e6a29976cdf71caa4ab84cbd8149464f4598f33682e751f3e9a956f265  gdcm-2.0.16.tar.bz2.1
Sulaco ~/rpmbuild/SOURCES: 

+ The package successfully compiles and builds into binary rpms on at least one primary architecture. See koji link above.
+ All build dependencies are listed in BuildRequires.
0 No need to handle locales.
+ The package stores shared library files in some of the dynamic linker's default paths, and it calls ldconfig in %post and %postun.
+ The package does NOT bundle copies of system libraries. There is a patched copy of a ijg-6b librarybut it can't be removed easily.
0 The package is not designed to be relocatable.
+ The package owns all directories that it creates.
+ The package does not list a file more than once in the spec file's %files listings.
+ Permissions on files are set properly.
+ The package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ The package consistently uses macros.
+ The package contains code, or permissible content.
0 No extremely large documentation files.
+ Anything, the package includes as %doc, does not affect the runtime of the application.
+ Header files are stored in a -devel package.
0 No static libraries.
0 No pkgconfig(.pc) files.
+ The library file(s) that end in .so (without suffix) is(are) stored in a *-devel package.
+ The -devel package requires the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
+ The package does NOT contain any .la libtool archives.
0 Not a GUI application.
+ The package does not own files or directories already owned by other packages.
+ At the beginning of %install, the package runs rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ All filenames in rpm packages are valid UTF-8.

Ok, here is the list of remaining items:

* Add filtering for private python module
* Add license files to %doc (and add more docs)
Comment 14 Peter Lemenkov 2010-10-19 07:02:18 EDT
Ok, good. I cant find any other issues, so this package is

APPROVED.
Comment 15 Mario Ceresa 2010-10-19 07:18:58 EDT
New Package SCM Request
=======================
Package Name: gdcm
Short Description: Grassroots DiCoM is a C++ library to reading/parsing and writing DICOM medical files
Owners: mrceresa
Branches: f12 f13 f14 f15 el6
InitialCC: lemenkov
Comment 16 Mario Ceresa 2010-10-19 07:21:47 EDT
New Package SCM Request
=======================
Package Name: gdcm
Short Description: Grassroots DiCoM is a C++ library to reading/parsing and
writing DICOM medical files
Owners: mrceresa
Branches: f12 f13 f14 f15 el6
InitialCC: peter
Comment 17 Kevin Fenzi 2010-10-21 09:26:34 EDT
WARNING: Invalid branch f15 requested
WARNING: Requested package name gdcm doesn't match bug summary GDCM 

We are not yet doing f15 branches and can you correct the summary and/or package name 
in the scm request?
Comment 18 Mario Ceresa 2010-10-21 10:15:33 EDT
New Package SCM Request
=======================
Package Name: gdcm
Short Description: Grassroots DiCoM is a C++ library to reading/parsing and
writing DICOM medical files
Owners: mrceresa
Branches: f12 f13 f14 el6
InitialCC: peter
Comment 19 Kevin Fenzi 2010-10-25 14:41:54 EDT
Git done (by process-git-requests).
Comment 20 Fedora Update System 2010-10-29 06:15:22 EDT
gdcm-2.0.16-5.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/gdcm-2.0.16-5.fc12
Comment 21 Fedora Update System 2010-10-29 06:30:25 EDT
gdcm-2.0.16-5.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/gdcm-2.0.16-5.fc13
Comment 22 Fedora Update System 2010-10-29 06:45:22 EDT
gdcm-2.0.16-5.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/gdcm-2.0.16-5.fc14
Comment 23 Fedora Update System 2010-10-29 16:40:59 EDT
gdcm-2.0.16-5.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update gdcm'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/gdcm-2.0.16-5.fc12
Comment 24 Fedora Update System 2010-11-11 17:19:01 EST
gdcm-2.0.16-5.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 25 Fedora Update System 2010-11-11 17:21:48 EST
gdcm-2.0.16-5.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 26 Fedora Update System 2010-11-11 17:23:52 EST
gdcm-2.0.16-5.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.