ported from cdda-paranoia to libcdio-paranoia, modified paranoia-cdda.patch
[cdrkit.git] / cdrkit.spec
blob33a5704944718929d96c0e688811376aadcee5e6
1 Summary: A collection of CD/DVD utilities
2 Name: cdrkit
3 Version: 1.1.11
4 Release: 18%{?dist}
5 License: GPLv2
6 Group: Applications/System
7 URL: http://cdrkit.org/
8 Source: http://cdrkit.org/releases/cdrkit-%{version}.tar.gz
10 Patch1: cdrkit-1.1.8-werror.patch
11 Patch2: cdrkit-1.1.9-efi-boot.patch
12 Patch4: cdrkit-1.1.9-no_mp3.patch
13 Patch5: cdrkit-1.1.9-buffer_overflow.patch
14 Patch6: cdrkit-1.1.10-build-fix.patch
15 Patch7: cdrkit-1.1.11-manpagefix.patch
16 Patch8: cdrkit-1.1.11-rootstat.patch
17 Patch9: cdrkit-1.1.11-usalinst.patch
18 Patch10: cdrkit-1.1.11-readsegfault.patch
19 Patch11: cdrkit-1.1.11-format.patch
20 Patch12: cdrkit-1.1.11-handler.patch
21 Patch13: cdrkit-1.1.11-dvdman.patch
22 Patch14: cdrkit-1.1.11-paranoiacdda.patch
23 Patch15: cdrkit-1.1.11-utf8.patch
24 Patch16: cdrkit-1.1.11-cmakewarn.patch
25 Patch17: cdrkit-1.1.11-memset.patch
26 Patch18: cdrkit-1.1.11-paranoiacdio.patch
28 BuildRequires: cmake libcap-devel zlib-devel perl file-devel bzip2-devel
30 %description
31 cdrkit is a collection of CD/DVD utilities.
33 %package -n wodim
34 Summary: A command line CD/DVD recording program
35 Group: Applications/Archiving
36 Obsoletes: dvdrecord <= 0:0.1.5
37 Provides: dvdrecord = 0:0.1.5.1
38 Obsoletes: cdrecord < 9:2.01-12
39 Provides: cdrecord = 9:2.01-12
40 Requires: libusal = %{version}-%{release}
41 Requires(preun): %{_sbindir}/alternatives coreutils
42 Requires(post): %{_sbindir}/alternatives coreutils
44 %description -n wodim
45 Wodim is an application for creating audio and data CDs. Wodim
46 works with many different brands of CD recorders, fully supports
47 multi-sessions and provides human-readable error messages.
49 %package -n genisoimage
50 Summary: Creates an image of an ISO9660 file-system
51 Group: Applications/System
52 Obsoletes: mkisofs < 9:2.01-12
53 Provides: mkisofs = 9:2.01-12
54 Requires: libusal = %{version}-%{release}
55 Requires(preun): %{_sbindir}/alternatives coreutils
56 Requires(post): %{_sbindir}/alternatives coreutils
58 %description -n genisoimage
59 The genisoimage program is used as a pre-mastering program; i.e., it
60 generates the ISO9660 file-system. Genisoimage takes a snapshot of
61 a given directory tree and generates a binary image of the tree
62 which will correspond to an ISO9660 file-system when written to
63 a block device. Genisoimage is used for writing CD-ROMs, and includes
64 support for creating boot-able El Torito CD-ROMs.
66 Install the genisoimage package if you need a program for writing
67 CD-ROMs.
69 %package -n dirsplit
70 Summary: Utility to split directories
71 Group: Applications/System
72 Requires: perl >= 4:5.8.1
73 Requires: genisoimage = %{version}-%{release}
75 %description -n dirsplit
76 This utility is used to split directories into chunks before burning.
77 Chunk size is usually set to fit to a CD/DVD.
79 %package -n icedax
80 Group: Applications/Multimedia
81 Summary: A utility for sampling/copying .wav files from digital audio CDs
82 Obsoletes: cdda2wav < 9:2.01-12
83 Provides: cdda2wav = 9:2.01-12
84 Requires: libusal = %{version}-%{release}
85 Requires(preun): %{_sbindir}/alternatives chkconfig coreutils
86 Requires(post): %{_sbindir}/alternatives chkconfig coreutils
87 Requires: vorbis-tools
88 Requires: cdparanoia libcdio-paranoia
89 BuildRequires: cdparanoia-devel libcdio-paranoia-devel
91 %description -n icedax
92 Icedax is a sampling utility for CD-ROM drives that are capable of
93 providing a CD's audio data in digital form to your host. Audio data
94 read from the CD can be saved as .wav or .sun format sound files.
95 Recording formats include stereo/mono, 8/12/16 bits and different
96 rates. Icedax can also be used as a CD player.
98 %package -n libusal
99 Summary: Library to communicate with SCSI devices
100 Group: Development/Libraries
102 %description -n libusal
103 The libusal package contains C libraries that allows applications
104 to communicate with SCSI devices and is well suitable for writing
105 CD-R media.
107 %package -n libusal-devel
108 Summary: Development files for libusal
109 Group: Development/Libraries
110 Requires: libusal = %{version}-%{release}
112 %description -n libusal-devel
113 The libusal-devel package contains C libraries and header files
114 for developing applications that use libusal for communication with
115 SCSI devices.
117 %prep
118 %setup -q
119 %patch1 -p1 -b .werror
120 %patch2 -p1 -b .efi
121 %patch4 -p1 -b .no_mp3
122 %patch5 -p1 -b .buffer_overflow
123 %patch6 -p1 -b .build-fix
124 %patch7 -p1 -b .manpagefix
125 %patch8 -p1 -b .rootstat
126 %patch9 -p1 -b .usalinst
127 %patch10 -p1 -b .readsegfault
128 %patch11 -p1 -b .format
129 %patch12 -p1 -b .handler
130 %patch13 -p1 -b .dvdman
131 %patch14 -p1 -b .paranoiacdda
132 # not using -b since otherwise backup files would be included into rpm
133 %patch15 -p1
134 %patch16 -p1 -b .cmakewarn
135 %patch17 -p1 -b .edcspeed
136 %patch18 -p1 -b .paranoiacdio
138 # we do not want bundled paranoia library
139 rm -rf libparanoia
141 find . -type f -print0 | xargs -0 perl -pi -e 's#/usr/local/bin/perl#/usr/bin/perl#g'
142 find doc -type f -print0 | xargs -0 chmod a-x
145 %build
146 mkdir fedora
147 cd fedora
148 export CFLAGS="$RPM_OPT_FLAGS -Wall -Werror -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-array-bounds -fno-strict-aliasing"
149 export CXXFLAGS="$CFLAGS"
150 export FFLAGS="$CFLAGS"
151 %cmake CMAKE_VERBOSE=1 \
152 -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
153 -DBUILD_SHARED_LIBS:BOOL=ON \
156 make VERBOSE=1 %{?_smp_mflags}
158 %install
159 cd fedora
160 make install DESTDIR=$RPM_BUILD_ROOT
161 perl -pi -e 's#^require v5.8.1;##g' $RPM_BUILD_ROOT%{_bindir}/dirsplit
162 ln -s genisoimage $RPM_BUILD_ROOT%{_bindir}/mkisofs
163 ln -s genisoimage $RPM_BUILD_ROOT%{_bindir}/mkhybrid
164 ln -s icedax $RPM_BUILD_ROOT%{_bindir}/cdda2wav
165 ln -s wodim $RPM_BUILD_ROOT%{_bindir}/cdrecord
166 ln -s wodim $RPM_BUILD_ROOT%{_bindir}/dvdrecord
168 # missing man page. Do symlink like in debian
169 ln -sf wodim.1.gz $RPM_BUILD_ROOT/%{_mandir}/man1/netscsid.1.gz
171 # we don't need cdda2mp3 since we don't have any mp3 {en,de}coder
172 rm $RPM_BUILD_ROOT%{_bindir}/cdda2mp3
174 %post -n wodim
175 link=`readlink %{_bindir}/cdrecord`
176 if [ "$link" == "%{_bindir}/wodim" ]; then
177 rm -f %{_bindir}/cdrecord
179 link=`readlink %{_bindir}/dvdrecord`
180 if [ "$link" == "wodim" ]; then
181 rm -f %{_bindir}/dvdrecord
184 %{_sbindir}/alternatives --install %{_bindir}/cdrecord cdrecord \
185 %{_bindir}/wodim 50 \
186 --slave %{_mandir}/man1/cdrecord.1.gz cdrecord-cdrecordman \
187 %{_mandir}/man1/wodim.1.gz \
188 --slave %{_bindir}/dvdrecord cdrecord-dvdrecord %{_bindir}/wodim \
189 --slave %{_mandir}/man1/dvdrecord.1.gz cdrecord-dvdrecordman \
190 %{_mandir}/man1/wodim.1.gz \
191 --slave %{_bindir}/readcd cdrecord-readcd %{_bindir}/readom \
192 --slave %{_mandir}/man1/readcd.1.gz cdrecord-readcdman \
193 %{_mandir}/man1/readom.1.gz
195 %preun -n wodim
196 if [ $1 = 0 ]; then
197 %{_sbindir}/alternatives --remove cdrecord %{_bindir}/wodim
200 %post -n genisoimage
201 link=`readlink %{_bindir}/mkisofs`
202 if [ "$link" == "genisoimage" ]; then
203 rm -f %{_bindir}/mkisofs
206 %{_sbindir}/alternatives --install %{_bindir}/mkisofs mkisofs \
207 %{_bindir}/genisoimage 50 \
208 --slave %{_mandir}/man1/mkisofs.1.gz mkisofs-mkisofsman \
209 %{_mandir}/man1/genisoimage.1.gz \
210 --slave %{_bindir}/mkhybrid mkisofs-mkhybrid %{_bindir}/genisoimage \
211 --slave %{_mandir}/man1/mkhybrid.1.gz mkisofs-mkhybridman \
212 %{_mandir}/man1/genisoimage.1.gz
214 %preun -n genisoimage
215 if [ $1 = 0 ]; then
216 %{_sbindir}/alternatives --remove mkisofs %{_bindir}/genisoimage
219 %post -n icedax
220 link=`readlink %{_bindir}/cdda2wav`
221 if [ "$link" == "icedax" ]; then
222 rm -f %{_bindir}/cdda2wav
224 %{_sbindir}/alternatives --install %{_bindir}/cdda2wav cdda2wav \
225 %{_bindir}/icedax 50 \
226 --slave %{_mandir}/man1/cdda2wav.1.gz cdda2wav-cdda2wavman \
227 %{_mandir}/man1/icedax.1.gz
229 %preun -n icedax
230 if [ $1 = 0 ]; then
231 %{_sbindir}/alternatives --remove cdda2wav %{_bindir}/icedax
234 %post -n libusal -p /sbin/ldconfig
236 %postun -n libusal -p /sbin/ldconfig
238 %files -n wodim
239 %doc Changelog COPYING FAQ FORK START
240 %doc doc/READMEs doc/wodim
241 %{_bindir}/devdump
242 %{_bindir}/wodim
243 %ghost %{_bindir}/cdrecord
244 %ghost %{_bindir}/dvdrecord
245 %{_bindir}/readom
246 %{_sbindir}/netscsid
247 %{_mandir}/man1/devdump.*
248 %{_mandir}/man1/wodim.*
249 %{_mandir}/man1/netscsid.*
250 %{_mandir}/man1/readom.*
252 %files -n icedax
253 %doc doc/icedax COPYING
254 %{_bindir}/icedax
255 %ghost %{_bindir}/cdda2wav
256 %{_bindir}/cdda2ogg
257 %{_mandir}/man1/icedax.*
258 %{_mandir}/man1/cdda2ogg.*
259 %{_mandir}/man1/list_audio_tracks.*
261 %files -n genisoimage
262 %doc doc/genisoimage COPYING
263 %{_bindir}/genisoimage
264 %ghost %{_bindir}/mkisofs
265 %ghost %{_bindir}/mkhybrid
266 %{_bindir}/isodebug
267 %{_bindir}/isodump
268 %{_bindir}/isoinfo
269 %{_bindir}/isovfy
270 %{_bindir}/pitchplay
271 %{_bindir}/readmult
272 %{_mandir}/man5/genisoimagerc.*
273 %{_mandir}/man1/genisoimage.*
274 %{_mandir}/man1/isodebug.*
275 %{_mandir}/man1/isodump.*
276 %{_mandir}/man1/isoinfo.*
277 %{_mandir}/man1/isovfy.*
278 %{_mandir}/man1/pitchplay.*
279 %{_mandir}/man1/readmult.*
281 %files -n dirsplit
282 %{_bindir}/dirsplit
283 %{_mandir}/man1/dirsplit.*
285 %files -n libusal
286 %doc doc/plattforms/README.linux Changelog COPYING FAQ FORK START
287 %{_libdir}/libusal.so.*
288 %{_libdir}/librols.so.*
290 %files -n libusal-devel
291 %doc COPYING
292 %{_libdir}/libusal.so
293 %{_libdir}/librols.so
294 %{_includedir}/usal
296 %changelog
297 * Wed Jul 17 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-18
298 - ported from cdda-paranoia to libcdio-paranoia, modified paranoia-cdda.patch
299 - fixed bogus date in changelog
301 * Mon Feb 25 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-17
302 - modified the memset patch, memsetting the whole array
304 * Fri Feb 22 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-16
305 - changed or deleted faulty and unneeded memset's that caused build failure with gcc-4.8 -Werror
307 * Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-15
308 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
310 * Wed Oct 03 2012 Honza Horak <hhorak@redhat.com> - 1.1.11-14
311 - Add coreutils as preun/post requirements for wodim and genisoimage
312 Resolves: #862554
314 * Mon Aug 27 2012 Honza Horak <hhorak@redhat.com> - 1.1.11-13
315 - Add mkhybrid(1) as a symlink to genisoimage(1)
316 - Spec file cleanup
318 * Mon Jul 30 2012 Honza Horak <hhorak@redhat.com> - 1.1.11-12
319 - Use system cdparanoia instead of old bundled version
320 - Build libusal as a shared library
321 - Messages from rpmlint clean-up
323 * Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-11
324 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
326 * Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-10
327 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
329 * Wed Dec 07 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-9
330 - Fix driver specification in man pages
331 (Resolves: #711623)
333 * Thu Jun 02 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-8
334 - Fix segmentation fault when icedax exits while sleeping after ctrl-c
335 (Resolves: #709902)
337 * Tue May 17 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-7
338 - Fix automatic formatting of DVD+RW if needed
339 (Resolves: #519465)
341 * Thu Mar 17 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-6
342 - Added Provides: libusal-static for libusal-devel subpackage
343 (Resolves: #688347)
345 * Mon Mar 07 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-5
346 - Fix segmentation fault in readom
347 (Resolves: #682591)
349 * Thu Feb 17 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-4
350 - Library libusal is installed in order to be used by other apps
351 (Resolves: #588508)
352 https://bugzilla.redhat.com/show_bug.cgi?id=588508
354 * Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-3
355 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
357 * Mon Jan 31 2011 Honza Horak <hhorak@redhat.com> 1.1.11-2
358 - fixed man page missing arguments (Resolves: #647024)
359 https://bugzilla.redhat.com/show_bug.cgi?id=647024
360 - fixed erroneous "Unknown file type (unallocated)" warning
361 (Resolves: #174667)
362 https://bugzilla.redhat.com/show_bug.cgi?id=174667
364 * Mon Oct 18 2010 Nikola Pajkovsky <npajkovs@redhat.com> 1.1.11-1
365 - new upstream version 1.1.11
367 * Mon Jun 21 2010 Roman Rakus <rrakus@redhat.com> - 1.1.10-2
368 - Added missing manpage for netscsid (symlink to wodim manpage)
370 * Wed Jan 20 2010 Nikola Pajkovsky <npajkovs@redhat.com> - 1.1.10-1
371 - new upstream version 1.1.10
373 * Tue Aug 11 2009 Nikola Pajkovsky <npajkovs@redhat.com> 1.1.9-10
374 - fix #508449. fix string overflow breakage when using the -root
376 * Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.9-9
377 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
379 * Thu Jul 16 2009 Nikola Pajkovsky <npajkovs@redhat.com> 1.1.9-8
380 - fix buffer overflow
382 * Fri Jul 10 2009 Adam Jackson <ajax@redhat.com> 1.1.9-7
383 - Move dirsplit to a subpackage to isolate the perl dependency.
385 * Mon Jun 15 2009 Roman Rakus <rrakus@redhat.com> - 1.1.9-6
386 - rename functions as they conflict with glibc
387 - Don't push cdda2mp3 because we don't have any mp3 coder
388 Resolves: #505918
390 * Tue Jun 02 2009 Roman Rakus <rrakus@redhat.com> - 1.1.9-5
391 - Added Requires vorbis-tools in icedax (rhbz #503699)
393 * Wed Feb 25 2009 Peter Jones <pjones@redhat.com> - 1.1.9-4
394 - Add support for EFI boot images.
396 * Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.9-3
397 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
399 * Thu Feb 12 2009 Roman Rakus <rrakus@redhat.com> - 1.1.9-2
400 - Use -fno-strict-aliasing to prevent strict_aliasing warnings/errors
402 * Mon Oct 27 2008 Roman Rakus <rrakus@redhat.com> - 1.1.9-1
403 - Bump to version 1.1.9
405 * Tue May 27 2008 Roman Rakus <rrakus@redhat.com> - 1.1.8-1
406 - Version 1.1.8 - old patches included
407 - added bzip2-devel to build requirements
408 - fixed #171510 - preserve directory permissions
410 * Wed Feb 27 2008 Harald Hoyer <harald@redhat.com> 1.1.6-11
411 - refined -Werror patch
413 * Mon Feb 25 2008 Harald Hoyer <harald@redhat.com> 1.1.6-10
414 - patched to compile with -Werror (rhbz#429385)
416 * Thu Feb 21 2008 Harald Hoyer <harald@redhat.com> 1.1.6-9
417 - fixed loop on error message for old dev syntax (rhbz#429386)
419 * Thu Feb 21 2008 Harald Hoyer <harald@redhat.com> 1.1.6-8
420 - added file-devel to build requirements
422 * Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.1.6-7
423 - Autorebuild for GCC 4.3
425 * Tue Sep 25 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-6
426 - fixed readcd man page symlink
428 * Fri Sep 21 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-5
429 - fixed rhbz#255001 - icedax --devices segfaults
430 - fixed rhbz#249357 - Typo in wodim output
432 * Fri Sep 21 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-4
433 - play stupid tricks, to let alternatives make the links and
434 rpm not removing them afterwards
435 - removed bogus warning for "." and ".."
437 * Thu Sep 20 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-3
438 - fixed rhbz#248262
439 - switched to alternatives
441 * Fri Aug 17 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-2
442 - changed license to GPLv2
444 * Wed Jun 20 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-1
445 - version 1.1.6
446 - added readcd symlink
448 * Mon Apr 23 2007 Harald Hoyer <harald@redhat.com> - 1.1.2-4
449 - bump obsoletes/provides
451 * Tue Feb 27 2007 Harald Hoyer <harald@redhat.com> - 1.1.2-3
452 - applied specfile changes as in bug #224365
454 * Wed Jan 24 2007 Harald Hoyer <harald@redhat.com> - 1.1.2-1
455 - version 1.1.2