source: trunk/mondo/mondo.spec @ 20

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