[Bug 573910] Review Request: dcmtk - Offis DICOM Toolkit

bugzilla at redhat.com bugzilla at redhat.com
Tue Mar 16 19:17:35 UTC 2010


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=573910

--- Comment #2 from Mario Ceresa <mrceresa at gmail.com> 2010-03-16 15:17:30 EDT ---
Hello Andreas!

there was a lot of output from the rpmlist command with your srpm.

I reworked it a little bit:

1) Changed license to BSD
2) Changed group (we can change it again if you like)
3) Removed requires as rpm should pick them up automatically
4) Added BR: dos2unix as one files needs to be converted to unix
5) Removed Requires from devel subpackage for the same reason
6) Removes --prefix=/usr as it seems to me not necessary
7) tried to enable parallel make (-j ) but the build fails, so restored the
original value
8) etc should not be a sub dir of /usr
9) moved all conf files to /etc/dcmtk
10) move arch-indipendent files to /usr/share/dcmtk
11) moved all doc to the proper subdir (I'm not sure if there is a more elegant
way: I tired fiddling for a while with %doc macro but at last I gave up)
12) converted ciphers.txt to unix format
13) Added ownership of doc dir and files
14) added ownership of /etc/dcmtk and files
15) added ownership of /usr/share/dcmtk and files
16) changed changelog release format to comply with rpmlint

Here follows a complete diff:
--- dcmtk.spec.orig     2010-03-16 06:38:38.000000000 +0100
+++ dcmtk.spec  2010-03-16 19:41:49.000000000 +0100
@@ -2,20 +2,14 @@
 Summary: Offis DICOM Toolkit (DCMTK)
 Version: 3.5.4
 Release: 3%{?dist}
-License: BSD(ish)
-Group: Applications/Multimedia
+License: BSD
+Group: Development/Libraries
 Source: 
ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk354/%{name}-%{version}.tar.gz
 Patch1: dcmtk-3.5.4_shared.patch
 Patch2: dcmtk-3.5.4_tlslayer.patch
 URL: http://dicom.offis.de/dcmtk.php.en
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
-Requires: libjpeg
-Requires: libpng
-Requires: libtiff
-Requires: libxml2
-Requires: openssl
-Requires: tcp_wrappers
-Requires: zlib
+
 BuildRequires: libjpeg-devel
 BuildRequires: libpng-devel
 BuildRequires: libtiff-devel
@@ -23,6 +17,7 @@
 BuildRequires: openssl-devel
 BuildRequires: tcp_wrappers-devel
 BuildRequires: zlib-devel
+BuildRequires: dos2unix

 %description
 DCMTK is a collection of libraries and applications implementing large parts 
@@ -39,46 +34,62 @@
 Summary: Development Libraries and Headers for dcmtk
 Group: Development/Libraries
 Requires: %{name} = %{version}-%{release}
-Requires: libjpeg-devel
-Requires: libpng-devel
-Requires: libtiff-devel
-Requires: libxml2-devel
-Requires: openssl-devel
-Requires: tcp_wrappers-devel
-Requires: zlib-devel

 %description devel
 Development Libraries and Headers for dcmtk.  You only need to install
 this if you are developing programs that use the dcmtk libraries.

-
 %prep
 %setup -q
 %patch1 -p1
 %patch2 -p1

 %build
-%configure --prefix=/usr
+%configure
 make

 %install
 rm -rf $RPM_BUILD_ROOT
 make install DESTDIR=$RPM_BUILD_ROOT
 make install-lib DESTDIR=$RPM_BUILD_ROOT
-mv $RPM_BUILD_ROOT/etc $RPM_BUILD_ROOT/usr/etc
-mkdir $RPM_BUILD_ROOT/usr/share/dcmtk
-mv $RPM_BUILD_ROOT/usr/%{_lib}/dicom.dic $RPM_BUILD_ROOT/usr/share/dcmtk/
+
+#Move configuration file from /etc to /etc/dcmtk/
+mkdir $RPM_BUILD_ROOT/etc/%{name}
+mv $RPM_BUILD_ROOT/etc/*.cfg $RPM_BUILD_ROOT/etc/%{name}/
+
+#Move arch indipendent data to /usr/share/dcmtk
+mkdir $RPM_BUILD_ROOT/usr/share/%{name}
+mv $RPM_BUILD_ROOT/usr/share/data $RPM_BUILD_ROOT/usr/share/%{name}/
+
+#Move doc files from /usr/share/doc to /usr/share/doc/dcmtk/
+mkdir $RPM_BUILD_ROOT/usr/share/doc/%{name}-%{version}/
+mv $RPM_BUILD_ROOT/usr/share/doc/*.txt
$RPM_BUILD_ROOT/usr/share/doc/%{name}-%{version}/
+mv $RPM_BUILD_ROOT/usr/share/doc/COPYRIGHT
$RPM_BUILD_ROOT/usr/share/doc/%{name}-%{version}/
+mv $RPM_BUILD_ROOT/usr/share/doc/FAQ
$RPM_BUILD_ROOT/usr/share/doc/%{name}-%{version}/
+mv $RPM_BUILD_ROOT/usr/share/doc/HISTORY
$RPM_BUILD_ROOT/usr/share/doc/%{name}-%{version}/
+
+mv $RPM_BUILD_ROOT/usr/%{_lib}/dicom.dic $RPM_BUILD_ROOT/usr/share/%{name}/
+
+mkdir -p %{buildroot}/usr/%{_lib}/%{name}/
+mv %{buildroot}/usr/%{_lib}/*.so* %{buildroot}/usr/%{_lib}/%{name}/
+
+dos2unix %{buildroot}%{_docdir}/%{name}-%{version}/ciphers.txt

 %clean
 rm -rf $RPM_BUILD_ROOT

 %files
 %defattr(-,root,root)
-%doc COPYRIGHT README
+%dir %{_docdir}/%{name}-%{version}
+%{_docdir}/%{name}-%{version}/*
+%dir %{_sysconfdir}/%{name}
+%{_sysconfdir}/%{name}/*
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/*
+
 %{_bindir}/*
 %{_libdir}/*
-%{_prefix}/etc/*
-%{_datadir}/*
+%{_mandir}/man1/*

 %files devel
 %defattr(-,root,root)
@@ -88,13 +99,13 @@
 %postun -p /sbin/ldconfig

 %changelog
-* Mon Mar 15 2010 Andy Loening <loening at alum dot mit dot edu> -3.54-3
+* Mon Mar 15 2010 Andy Loening <loening at alum dot mit dot edu> 3.5.4-3
 - updates for packaging with fedora core

-* Sat Jan 02 2010 Andy Loening <loening@ alum dot mit dot edu> -3.54-2
+* Sat Jan 02 2010 Andy Loening <loening@ alum dot mit dot edu> 3.5.4-2
 - tlslayer.cc patch for openssl 1.0 

-* Thu Feb 02 2006 Andy Loening <loening @ alum dot mit dot edu> - 3.54-1
+* Thu Feb 02 2006 Andy Loening <loening @ alum dot mit dot edu> 3.5.4-1
 - initial build


Still we have some problems:

[makerpms at shadow rpmbuild]$ rpmlint SPECS/dcmtk.spec
SRPMS/dcmtk-3.5.4-3.fc12.src.rpm RPMS/i686/dcmtk-3.5.4-3.fc12.i686.rpm
RPMS/i686/dcmtk-devel-3.5.4-3.fc12.i686.rpm 
dcmtk.src: W: spelling-error Summary(en_US) Offis -> Offs, Offish, Off is
dcmtk.src: W: spelling-error %description -l en_US worklist -> work list,
work-list, workload
dcmtk.i686: W: spelling-error Summary(en_US) Offis -> Offs, Offish, Off is
dcmtk.i686: W: spelling-error %description -l en_US worklist -> work list,
work-list, workload
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmdsig.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmnet.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmjpeg.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libofstd.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmtls.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmimage.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmwlm.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmsr.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libijg12.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmdata.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmimgle.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmpstat.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libijg16.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libijg8.so
dcmtk.i686: W: unstripped-binary-or-object /usr/lib/dcmtk/libdcmqrdb.so
dcmtk.i686: W: file-not-utf8 /usr/share/doc/dcmtk-3.5.4/ciphers.txt
dcmtk.i686: W: wrong-file-end-of-line-encoding
/usr/share/doc/dcmtk-3.5.4/randseed.txt
dcmtk.i686: W: non-conffile-in-etc /etc/dcmtk/storescu.cfg
dcmtk.i686: W: non-conffile-in-etc /etc/dcmtk/storescp.cfg
dcmtk.i686: W: non-conffile-in-etc /etc/dcmtk/printers.cfg
dcmtk.i686: W: non-conffile-in-etc /etc/dcmtk/dcmqrscp.cfg
dcmtk.i686: W: non-conffile-in-etc /etc/dcmtk/dcmpstat.cfg
dcmtk-devel.i686: W: no-documentation

The most serious seem to me the one regarding the shared libs: we really need
to have the linker generate a proper soname before that we can package dcmtk,
but I don't have a clue on where to set the magic option in autoconf (I use
cmake only). I'll investigate further.

Please comment on these changes I made and, if you find them worth, include
them in your srpms, post an updated version and I'll continue with the review.
I'm still learning to make a proper review so don't be afraid to tell me if you
think that I made a change by mistake!

If you haven't already, you might also want to read:
https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

I hope that you'll get sponsored soon and that we'll find a quick way to solve
all the issue so we all can enjoy dcmtk in Fedora!

Thanks for your contribution and your patience,

Mario

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the package-review mailing list