source: trunk/mondo/mondo.spec @ 43

Last change on this file since 43 was 41, checked in by bcornec, 14 years ago

asprintf introduction in libmondo-archive.c for 2.05 version
+ memory management revisions in that file

  • Property svn:keywords set to Id
File size: 20.5 KB
Line 
1#
2# $Id: mondo.spec 41 2005-10-03 09:55:50Z bcornec $
3#
4%define _prefix /usr
5%define libversion 2.0x_berlios
6%define __ln ln
7
8Summary:    A program which a Linux user can utilize to create a rescue/restore CD/tape
9Summary(fr):    Un programme pour les utilisateurs de Linux pour cr�r un CD/tape de sauvegarde/restauration
10Summary(it):    Un programma per utenti Linux per creare un CD/tape di rescue
11Summary(sp):    Un programa para los usuarios de Linux por crear una CD/cinta de restoracion/rescate
12Name:       mondo
13Version:    2.05_berlios
14Release:    1
15License:    GPL
16Group:      Applications/Archiving
17Url:        http://www.mondorescue.org
18Source:     %{name}-%{version}.tgz
19BuildRoot:  %{_tmppath}/%{name}-%{version}-root
20BuildRequires:  newt-devel >= 0.50, slang-devel >= 1.4.1, gcc
21%ifarch ia64
22Requires:   mindi >= 1.02, bzip2 >= 0.9, afio, mkisofs, binutils, elilo, newt >= 0.50, slang >= 1.4.1, buffer, parted
23%{!?_without_xmondo:BuildRequires:    gcc-c++, XFree86-devel, qt-devel, kdelibs-devel, libpng-devel}
24%else
25Requires:   mindi >= 1.02, bzip2 >= 0.9, afio, mkisofs, binutils, syslinux >= 1.52, newt >= 0.50, slang >= 1.4.1, cdrecord, buffer
26%{!?_without_xmondo:BuildRequires:    gcc-c++, XFree86-devel, qt-devel, kdelibs-devel, arts-devel, libart_lgpl-devel, libpng-devel}
27%endif
28Prefix:     %{_prefix}
29Autoreq:    0
30
31%package xmondo
32Summary:    A QT based graphical front end for %{name}
33Group:      Applications/Archiving
34Requires:   %{name} = %{version}-${release}, qt, kdelibs
35
36%package devel
37Summary:    Header files for building against Mondo
38Group:      Development/Libraries
39
40%description
41Objective
42"""""""""
43To produce a program which any Linux user can utilize to create
44a rescue/restore CD (or CDs, if their installation is >2Gb approx.). Also
45works for tapes and NFS.
46
47%description -l fr
48Objectif
49""""""""
50Mondo a pour but de fournir un programme utilisable par n'importe quel
51utilsateur de Linux pour cr�r un CD de sauvegarde/restauration
52(ou plusieurs CDs, si son installation d�asse les 2Go environ). Cela
53functionne avec des systemes d'entrainement de bande magnetique, et NFS,
54aussi.
55
56%description -l it
57Scopo
58"""""
59Mondo e' un programma che permette a qualsiasi utente Linux
60di creare un cd di rescue/restore (o piu' cd qualora l'installazione
61dovesse occupare piu' di 2Gb circa). Funziona con gli azionamenti di
62nastro, ed il NFS, anche.
63
64%description -l sp
65Objectivo
66"""""""""
67Mondo es un programa que permite cualquier usuario de Linux a crear una CD
68de restoracion/rescate (o CDs, si su instalacion es >2GO aprox.).  Funciona
69con cintas y NFS, tambien.
70
71%description xmondo
72Xmondo is a QT based graphical frontend to mondoarchive.  It can help you
73set up a backup by following onscreen prompts.
74
75%description devel
76mondo-devel contains a few header files that are necessary for developing
77with mondo.
78
79%prep
80%setup -q
81# clear out any CVS directories if they exist
82for dir in `find . -name CVS`
83do
84  rm -rf ${dir}
85done
86
87%configure %{!?_without_xmondo:--with-x11}
88
89%build
90%{__make} VERSION=%{version} CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT"
91
92%install
93rm -Rf /usr/local/share/mondo
94%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/mondo
95%{__mkdir} -p $RPM_BUILD_ROOT%{_includedir}/mondo
96%{__mkdir} -p $RPM_BUILD_ROOT%{_sbindir}
97%{__mkdir} -p $RPM_BUILD_ROOT%{_libdir}
98%{__mkdir} -p $RPM_BUILD_ROOT%{_mandir}/man8
99for fname in mondo/mondoarchive/.libs/mondoarchive mondo/mondorestore/.libs/mondorestore ; do
100    %{__install} -m 755 $fname $RPM_BUILD_ROOT%{_sbindir}
101    %{__install} -m 755 $fname $RPM_BUILD_ROOT%{_datadir}/mondo
102done
103%{!?_without_xmondo:%{__install} -m 755 mondo/xmondo/.libs/xmondo $RPM_BUILD_ROOT%{_sbindir}}
104
105for f in libmondo libmondo.so libmondo-newt libmondo-newt.so libmondo-newt.1 libmondo-newt.so.1 libmondo-newt.1.0.0 libmondo-newt.so.1.0.0 libmondo.2 libmondo.so.2 libmondo.2.0.3 libmondo.so.2.0.3 ; do
106    fname=mondo/common/.libs/$f
107    if [ -e "$fname" ] ; then
108
109# Hugo's way
110#        %{__install} -m 755 $fname $RPM_BUILD_ROOT%{_libdir}
111# ----------
112# Joshua's way
113         %{__cp} -d $fname $RPM_BUILD_ROOT%{_libdir}
114# ----------
115   
116    fi
117done
118%{!?_without_xmondo:%{__install} -m 755 mondo/common/.libs/libXmondo-%{libversion}.so $RPM_BUILD_ROOT%{_libdir}}
119%{!?_without_xmondo:%{__ln} -s libXmondo-%{libversion}.so $RPM_BUILD_ROOT%{_libdir}/libXmondo.so}
120%{!?_without_xmondo:%{__install} -m 644 mondo/xmondo/mondo.png $RPM_BUILD_ROOT%{_datadir}/mondo}
121%{__install} -m 755 mondo/do-not-compress-these       $RPM_BUILD_ROOT%{_datadir}/mondo
122%{__install} -m 755 mondo/autorun                     $RPM_BUILD_ROOT%{_datadir}/mondo
123%{__install} -m 644 mondo/mondoarchive/mondoarchive.8 $RPM_BUILD_ROOT%{_mandir}/man8
124gzip -9 -f $RPM_BUILD_ROOT%{_mandir}/man8/mondoarchive.8
125%{__cp} -Rf mondo/restore-scripts  $RPM_BUILD_ROOT%{_datadir}/mondo
126%{__cp} -Rf mondo/post-nuke.sample $RPM_BUILD_ROOT%{_datadir}/mondo
127for fname in mondo/common/my-stuff.h mondo/common/mondostructures.h mondo/common/libmondo-*-EXT.h mondo/common/X-specific-EXT.h mondo/common/newt-specific-EXT.h; do
128    %{__install} -m 644 $fname $RPM_BUILD_ROOT%{_includedir}/mondo
129done
130
131%post
132ldconfig
133
134%clean
135%{__rm} -rf $RPM_BUILD_ROOT
136
137%files
138%defattr(-,root,root,-)
139%doc ChangeLog mondo/docs/en/*
140%dir %{_datadir}/mondo
141%{_sbindir}/mondorestore
142%{_sbindir}/mondoarchive
143%{_datadir}/mondo/mondorestore
144%{_datadir}/mondo/post-nuke.sample/*
145%{_datadir}/mondo/restore-scripts/*
146%{_datadir}/mondo/do-not-compress-these
147%{_datadir}/mondo/mondoarchive
148%{_datadir}/mondo/autorun
149%{_mandir}/man8/mondoarchive.8*
150%{_libdir}
151
152%{!?_without_xmondo:%files xmondo}
153%{!?_without_xmondo:%{_sbindir}/xmondo}
154%{!?_without_xmondo:%{_libdir}/libXmondo-%{libversion}.so}
155%{!?_without_xmondo:%{_libdir}/libXmondo.so}
156%{!?_without_xmondo:%{_datadir}/mondo/mondo.png}
157
158%files devel
159%dir %{_includedir}/mondo
160%{_includedir}/mondo/*
161
162%changelog
163* Tue Oct 06 2005 Bruno Cornec <bcornec@users.berlios.de> 2.05_berlios
164- Memory management revision
165
166* Tue Sep 06 2005 Bruno Cornec <bcornec@users.berlios.de> 2.04_berlios
167- Merge of patches mentionned on mondo ML + ia64 updates
168- Option -p added
169
170* Tue May 03 2005 Hugo Rabson <hugorabson@msn.com> 2.04_cvs_20050503
171- made mondo more clever about finding its home. Avoids mondo considering
172  directories like '/usr/share/doc/momdo' as its home.
173
174* Wed Aug 04 2004 Hugo Rabson <hugorabson@msn.com> 2.03
175- test sanity of user-specified tempdir
176- better SLES8 support
177
178* Mon Jun 28 2004 Hugo Rabson <hugorabson@msn.com> 2.02
179- instead of using 'dd' to erase partition table, delete existing
180  partitions w/ the same call to fdisk that is used to create the
181  new partitions; this should avoids locking up the partition table
182- set bootable partition in the above same call to fdisk, for
183  the same reason (avoids locking up the partition table)
184- better software RAID support
185- mount ext3 partitions as ext2 when restoring - better for Debian
186- better star, ACL support
187- added ACL, xattr support for afio users
188
189* Fri Jun 26 2004 Hugo Rabson <hugorabson@msn.com> 2.01
190- fixed cvs for SuSE systems
191- fixed NTFS backup/restore bug relating to partimagehack
192  log file overflow and NTFS v non-NTFS differentiation
193- more reliable extraction of config info from CDs, floppies
194- better support of ISO dirs at restore-time (Conor Daly)
195- fixed spec file for SuSE users
196- added ldconfig to install section
197
198* Fri Jun 19 2004 Hugo Rabson <hugorabson@msn.com> 2.00
199- first 2.0 release
200- updated grub-install.patched to support SuSE and Red Hat
201- call 'mt' to set block size to 32K before opening in/out tape
202- updated mondo-prep.c to create each disk's partitions all at once
203  (one call per drive) instead of one call to fdisk per partition
204- when extracting cfg file and mountlist from all.tar.gz (tape copy),
205  use block size of INTERNAL_TAPE_BLK_SIZE, not TAPE_BLOCK_SIZE
206- added star and rudimentary SELinux support
207- fixed lots of bugs
208- all logging now goes to /var/log/mondo-archive.log, with symlink
209  to /tmp/mondo-restore.log for restore-time log-tracking
210- added grub-install.patched
211- removed embleer & other binaries
212- added '-b' to specify block size
213- added '-R' for star support
214
215* Thu Mar 25 2004 Bruno Cornec <Bruno.Cornec@hp.com> 1.7_cvs-20040325
216- ia64 fixes
217
218* Fri Nov 07 2003 Joshua Oreman <oremanj@get-linux.org> 1.7_cvs-20031107
219- fixed symbolic links for libraries
220- added support for boot/root multi floppies
221
222- added kdelibs as xmondo dependency
223- added xmondo pixmap installation
224- better find_cdrom_device(), to cope w/ multiple CD writers
225- fixed -m and -Vc flags
226- fixed NTFS support!
227- bootable CD uses native, not El Torito, support now
228- removed mondo-makefilelist
229- added 2.6 kernel support
230- if 2.6 kernel, insist that the user specify CD device
231- drop Embleer; insist on ms-sys and parted if Windows partition
232
233* Wed Nov 05 2003 Jesse Keating <jkeating@j2solutions.net> 1.7_cvs-20031105.1
234- added -devel package
235
236* Tue Nov 04 2003 Jesse Keating <jkeating@j2solutions.net> 1.7_cvs-20031104.1
237- made xmondo a second package
238- added ability to specify --without xmondo at build time
239
240* Sun Nov 02 2003 Jesse Keating <jkeating@j2solutions.net> 1.7_cvs-20031102.1
241- Clean up, added spanish translation
242- Set prefix to be /usr
243- added/fixed Requires
244- remove CVS directories prior to building
245
246* Thu Oct 23 2003 Hugo Rabson <hugorabson@msn.com> 1.75_cvs_20031023
247- nothing yet
248
249* Wed Oct 22 2003 Hugo Rabson <hugorabson@msn.com> 1.75
250- fixed chmod/chown bug (Jens Richter)
251- ask user to confirm NFS mountpoint in Interactive Mode
252- rewritten format_everything() to make sure LVMs, RAIDs and
253  regular partitions are prepped in the correct order
254- better magicdev support
255- rewritten external binary caller subroutine
256- DVD support added
257- better backup-time control gui; offer to exclude nfs if appl.
258- fixed multi-tape support
259- re-implemented -D and -J
260- fixed bug in extract_config_file_from_ramdisk() which
261  affected tape+floppy users
262- updated is_incoming_block_valid() to make it
263  return end-of-tape if >300 flotsam blocks
264- unmount CD-ROM before burning (necessary for RH8/9)
265- fixed some stray assert()'s
266- fixed bug in grub-MR (Christian)
267- make user remove floppy/CD before restoring interactively from tape
268- fixed bug in am_I_in_disaster_recovery_mode()
269- added code to nuke_mode() to make sure NFS
270  (backup) share is mounted in Nuke Mode
271- improved tape device detection code
272- better GRUB support
273- better logging of changed bigfiles at compare-time
274- better NTFS support, thanks to partimagehack-static
275- better logging
276- rewrote tape-handling code, breaking compatibility w/ previous versions
277- fixed ISO/CD biggiefile verification bug in mondoarchive
278- fixed bug which stopped boot/compare-time changelist from popping up
279- replaced mondo-makefilelist with C code - faster, cleaner
280- tweaked GUI - better feedback
281
282* Wed May 28 2003 Anonymous <root@rohan> 1.74
283- misc fixes (Michael Hanscho's friend)
284- added rudimentary support for SME
285- added better label support
286- fixed biggietime atime/ctime restoration bug 73
287- fixed 'default boot loader' detection bug (Joshua Oreman)
288- use single-threaded make_afioballs_and_images() if FreeBSD
289- fixed mondoarchive -Vi multi-CD verify bug (Tom Mortell)
290- superior get_phys_size_of_drive() (Joshua Oreman)
291- fixed RAID-related bug in where_is_root_mounted()
292- ISO tweaks
293- fixed silly bug in load_filelist() which stopped
294  funny German filenames from being handled properly
295- fixed various calls to popup_and_get_string()
296- fixed spec file
297- reject -E /
298- added partimagehack to the mix
299
300* Tue May 20 2003 Anonymous <root@rohan> 1.73
301- mark devices as bootable _after_ unmounting them
302- resolve boot device (-f) if softlink
303- post_param_configuration() --- store iso-dev and isodir
304- added post-nuke-sample.tgz to package
305- Nuke Mode now checks mountlist against hardware; offer user
306  opportunity to edit mountlist if insane; if user declines, abort
307- added lots of assert()'s and other checks
308- ran code thru Valgrind to catch & fix some memory leaks
309- made mondo-restore.c smaller by moving some subroutines to
310  common/libmondo-raid.c and mondorestore/mondo-rstr-compare.c
311- added '-Q' to let user test mondoarchive's ability to find
312  their boot loader and type
313- improved which_boot_loader()
314- when burning or comparing to a CD, defeat autorun if it is
315  running, to avoid confusing mondoarchive and the user
316- if original backup media no longer available at boot-time
317  then offer user chance to choose another media source
318- when booting, type 'nuke noresize' to nuke w/o resizing
319  mountlist to fill your drives
320- add 'textonly' when booting, to avoid using Newt gui
321- run nice(20) to prioritize mondoarchive at start
322- don't pause and wait for next blank CD at backup-time
323  unless necessary (e.g. previous CD has not been removed)
324- get_phys_size_of_drive() --- better support of older drives
325- don't eject if "donteject" is in kernel's command line
326- cleaned up segfault-handling
327- added Conor's strip_path() to improve file list display
328- added Herman Kuster's multi-level bkp patch
329- better boot-time screen/message
330- added Joshua Oreman's FreeBSD patches x3
331- fixed interactive/textonly support
332- fixed support for subdir-within-NFS-mount
333- fixed "Can't backup if ramdisk not mounted" bug
334- try to work around eccentricities of multi-CD drive PCs
335- misc clean-ups (Steve Hindle)
336
337* Tue Apr 08 2003 Hugo Rabson <hugorabson@msn.com> 1.72
338- LVM/RAID bugs fixed (Brian Borgeson)
339- major clean-up of code (Stan Benoit)
340- make-me-bootable fix (Juraj Ziegler)
341- fixed problem w/ multi-ISO verify cycle (Tom Mortell)
342- removed duplicate entry from makefile
343- if root is /dev/root then assume not a ramdisk
344- reject relative paths if -d flag (Alessandro Polverini)
345- fixed potentially infinite loop in log_to_screen (Tom Mortell)
346- add '/' to custom filelist as workaround for obscure bug
347- ask user speed of CDRW if writing to CD
348- find_cdrom_device() --- if nonexistent/not found then
349  make sure to return '' as dev str and 1 as res
350- tweaked restore scripts tgz
351- cleaned up find_cdrom_device()
352- if user creates /usr/share/mondo/payload.tgz then untar
353  payload to CD at backup-time
354- fixed insist_on_this_cd_number()
355- fixed am_i_in_disaster_recovery_mode()
356- misc clean-up (Tom Mortell)
357- made code more legible
358- fixed post-nuke support
359- added -e support
360- fixed nfs support
361- fixed iso support
362- at restore-time, only sort mountlist internally,
363  in mount_all_devices() and unmount_all_devices()
364- fixed cosmetic bug in label-partitions-as-necessary
365- updated documentation
366- fixed fstab-hacking scripts
367
368* Wed Feb 12 2003 Hugo Rabson <hugorabson@msn.com> 1.71
369- log newt, slang, ncurses info
370- updated man page
371- handle %% chars in issue.net properly (Heiko Schlittermann)
372- fixed serious NFS restore bug
373- cleaned up spec file; it should cause fewer problems now (Jesse Keating)
374- changed various strcpy() calls to strncpy() calls
375- added mondo-makefilelist to makefile (Mikael Hultgren)
376- mount_cdrom() better at handling multiple CD drives
377- exclude /media/cdrom,cdrecorder,floppy
378- sensibly_set_tmpdir_and_scratchdir() --- exclude smb and smbfs
379- better logging by eval_call_to_make_ISO()
380- accept -J <fname> to let user provide their own fs catalog
381  instead of -I <paths> to backup
382- if dir excluded with -E or included with -I and dir is actually
383  a softlink then exclude/include the dir pointed to, as well
384- better location for manpage
385- adjusted block size of tarball at start of tape, to help
386  users w/ broken tape driver firmware
387- sort -u fstab after modifying it
388- if backup type is nfs then don't estimate noof media
389- fixed Makefile (Mikael Hultgren)
390- updated manpage
391
392* Mon Dec 07 2002 Hugo Rabson <hugo@firstlinux.net> 1.70
393- new devel branch opened
394
395* Mon Dec 02 2002 Hugo Rabson <hugo@firstlinux.net> 1.52
396- fixed bug in multithreading
397- use new grub-MR instead of grub-install
398- wipe only the partition table (not the MBR) when partitioning drives
399- ignore lilo.conf.anaconda when looking for lilo.conf file
400- accepts '-l RAW' to backup/restore original boot sector instead
401  of running grub or lilo to init it after restoring
402- fixed&updated stabgrub-me script; software RAID + GRUB work now
403- mount/unmount /boot partition for Gentoo 1.2 users
404- re-enabled extra tape checksums
405- disabled spurious warnings
406- unmount/remount supermounts at start/end of live restore, if nec.
407- cleaned up mondo's tape block handling (now, TAPE_BLOCK_SIZE=128K
408  and I've added INTERNAL_TAPE_BLK_SIZE=32K variable for buffering)
409- added Makefile
410- added -l RAW, to backup and restore original MBR
411- cleaned up iso_mode() and nfs restoring
412- create /mnt/RESTORING/mnt/.boot.d for Gentoo users
413- made mondorestore CD bootable for ArkLinux users
414- if user runs as 'su' not 'su -' then work around
415
416* Sun Nov 17 2002 Hugo Rabson <hugo@firstlinux.net> 1.51
417- pop-up list of changed files, at end of verification phase
418- better handling of changed.files list at restore-time
419- lots of CD-related fixes
420- added '-N' flag --- to let user exclude all NFS-related mounts&devices
421- better handling of 'kill'
422- restructuring of code to ease integration of mondo w/XMondo
423- fixed obscure bug in find_and_mount_actual_cd()
424- if / or /root has <50MB free then abort & complain
425- fixed install.sh
426- fixed .spec file
427- updated documentation
428- commented code
429- updated man page
430- added -v / --version flag
431- replace convoluted grep with wc (KP)
432- fixed bug affecting restoration of bigfiles from CD's created w/0 compression
433- fixed BurnProof-related bug
434- better at figuring out which is the best partition for temp/scratchdir
435- added do-not-compress-these (text file) to RPM
436- do not compress files of types listed in do-not-compress-these
437- dropped -U from call to afio - saves 20-30% runtime (Cosgrove)
438- added Cosgrove's do-not-compress-these list
439- included various patches from KP
440- chmod tmpdir, scratchdir to 700 before using
441- restore from specified backup device, even if its own cfg file disagrees
442- fixed multi-tape bug
443- fixed "Can't find first ISO when verifying nonbootable ISO" bug
444- multithreaded make_afioballs_and_images()
445- tmpdir and scratchdir are set sensibly whether mondoarchive is called with
446  command-line parameters or not
447- fixed bug in strip_spaces() which stopped it from handling
448  small strings correctly - affected mountlist editor
449- create a repaired copy of grub-install which is RAID-friendly;
450  use it when initializing boot sector with run_grub()
451- fixed bug in mondo-makefilelist
452
453* Sun Sep 08 2002 Hugo Rabson <hugo@firstlinux.net> 1.50
454- if restoring, don't try to find SCSI node of CD-ROM drive; find /dev entry
455- during selective restore, skip filesets which don't contain relevant archives
456- set /dev/null's perms to 777, just in case devfs-enabled kernel mangles it
457- remove /var/run/*.pid after restoring
458- move spurious lockfiles from /home/* to /home/*/.disabled
459- ask user to confirm the tape/CD device name
460- lots of multitape-related fixes
461- added code to autodetect the hardware of the user, if possible
462- if isodir does not exist then abort
463- more sanity-checking for -d flag
464- doubled 'biggiefile' threshold... to 32MB
465- exclude /root/images/mindi
466- fixed multi-imagedev bug (Emmanuel Druon)
467- unmount/remount /mnt/floppy before/after backing up, if Mandrake
468- restructured the source files
469- fixed serious bug in line 1546 - should have been !=, not ==; stopped
470  mondorestore from correctly restoring big files
471- added '#include <signal.h>' to my-stuff.h
472- exclude "incheckentry xwait()" from changed.files
473- fixed minor bug in find_cdrom_device()
474- fixed bug in friendly_sizestr...
475- insist on tape #1 when start verifying
476- added internal buffering, replacing the external 'buffer' exe
477- if differential backup then don't permit formatting or fdisking,
478  whether Interactive or Nuke mode
479- if mondorestore is run on live filesystem (or from ramdisk) without
480  parameters then mondorestore will ask which backup media (tape, CD, etc.)
481  was used; it will read the config file from the media and proceed from there
482- if tape streamer is softlink then resolve it first
483- incorporate post-nuke tarball
484- if user doesn't specify tape size, proceed anyway; behave intelligently
485  in the event of end-of-tape
486- prefix bkpinfo->restore_path to biggiefile fname before generating
487  checksum & comparing to archived biggiefile
488- if /etc/lilo.conf not found not /etc/lilo.conf.anaconda found
489  then create a softlink from the former to the latter, to work
490  around RH7.3's b0rken LILO support
491- LFS support (mharris, michele, hugo)
492- fixed verify bug --- CD#1 was being verified again & again & ...
493- differential mode fixed; supported again
494- ask user for boot loader + device if not detectible
495- list up to 512 files in file selection window at once (was 128)
496- better handling of bigfiles' checksums, perms and owns
497- delete final filelist if <=2 bytes long
498- if kernel not found and mondo in graphics mode then popup and ask
499  for kernel path+filename
500
501* Sun Jul 14 2002 Hugo Rabson <hugo@firstlinux.net> 1.45-1
502- 1.5x branch forked off from 1.4x branch
503
504
505
506
Note: See TracBrowser for help on using the repository browser.