[devel] mkcdrec.spec

Michael Shigorin mike на osdn.org.ua
Вт Июн 16 17:23:27 MSD 2009


On Tue, Jun 16, 2009 at 03:48:30PM +0400, Денис Смирнов wrote:
> MS> надо бы mkcdrec собрать в сизиф.
> пошел гуглить.

mkcdrec.ota.be, спек в аттаче, проверялось уже довольно давно.
Когда-то докручивал к нему genromfs, потом это прекратилось наконец.

Внутрь лучше не заглядывать, но оно работает.  Авторы в курсе
и пошли rewrite'ить как rear.sf.net, последний раз было честной
альфой.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
Name: mkcdrec
Version: 0.9.6
Release: alt1

Summary: make CD-ROM Recovery is a disaster recovery tool set
License: GPL
Group: Archiving/Backup

Url: http://mkcdrec.ota.be
Source: %url/mkCDrec_v%version.tar.gz
Packager: Michael Shigorin <mike на altlinux.org>

%define mkcdrec_root %_libexecdir/%name
%define _boot_arch x86

%if %_boot_arch==ia64
PreReq: chkconfig cdrecord mkisofs tar ash mtools rsync
Requires: kernel >= 2.0.0, util-linux >= 2.11, parted >= 1.6

# Automatically added by buildreq on Sun Apr 22 2007 (-bi)
BuildRequires: ed hwclock module-init-tools syslinux termutils

BuildRequires: gcc >= 2.96
%endif

%if %_boot_arch==x86_64
PreReq: cdrecord mkisofs tar ash rsync syslinux
Requires: kernel >= 2.0.0, util-linux >= 2.11
BuildRequires: gcc >= 2.96
%endif

%if %_boot_arch==x86
PreReq: coreutils cdrecord mkisofs tar ash syslinux rsync
Requires: kernel >= 2.0.0, util-linux >= 2.11
BuildRequires: syslinux >= 1.60, gcc >= 2.96
%endif

%description
mkCDrec (Make CDROM Recovery) makes a bootable (El Torito) disaster recovery
image, including backups of the Linux system to one or more CD-ROM(s)
(multi-volume sets). Otherwise, the backups can be stored on another disk,
NFS disk, or (remote) tape. After a disk crash or system intrusion, the system
can be booted from the CD-ROM and one can restore the complete system as
it was. It also features disk cloning, which allows one to restore a disk
to another disk (the destination disk does not have to be of the same size,
as it calculates the partition layout itself). Currently, ext2, ext3, minix,
msdos, fat, vfat, reiserfs, xfs and jfs filesystems are supported.
One Button Disaster Recovery (OBDR) is also supported as recovery method.

%prep
%setup -n mkcdrec

%build
make -f Makefile.%_boot_arch build

%install
find . -name CVS | xargs rm -Rfv

for fname in busybox*/busybox  busybox*/busybox.links; do
	install -pD -m755 $fname %buildroot%mkcdrec_root/busybox/$fname
done

install -pD -m755 busybox*/applets/install.sh %buildroot%mkcdrec_root/busybox/applets/install.sh

install -pD -m750 contributions/mkcdrec %buildroot%_sbindir/mkcdrec

for fname in  cutstream*/cutstream pastestream*/pastestream \
	mediacheck/checkisomd5 mediacheck/implantisomd5; do
	install -pD -m755 $fname %buildroot%mkcdrec_root/bin/$fname
done
for fname in contributions/*.sh; do
	install -pD -m755 $fname %buildroot%mkcdrec_root/contributions/$fname
done
for fname in scripts/messages/*; do
	install -pD -m755 $fname %buildroot%mkcdrec_root/scripts/messages/$fname
done
for fname in `find scripts -type f`; do
	install -pD -m755 $fname %buildroot%mkcdrec_root/$fname
done
for fname in modules/*; do
	install -pD -m755 $fname %buildroot%mkcdrec_root/modules/$fname
done

for fname in `find etc -type d`; do
	install -d -m755  $fname %buildroot%mkcdrec_root/$fname
done
for fname in `find etc -type f`; do
	install -pD -m755  $fname %buildroot%mkcdrec_root/$fname
done
for fname in `find usr -type d`; do
	install -d -m755  $fname %buildroot%mkcdrec_root/$fname
done
for fname in `find usr -type f`; do
	install -pD -m755  $fname %buildroot%mkcdrec_root/$fname
done

for fname in `find . -type f -maxdepth 1`; do
	install -pD -m755  $fname %buildroot%mkcdrec_root/$fname
done

install -pD -m644 doc/mkcdrec.8 %buildroot%_man8dir/mkcdrec.8

for file in \
    %buildroot%mkcdrec_root/.cvsignore \
    %buildroot%mkcdrec_root/COPYING \
    %buildroot%mkcdrec_root/Changelog \
    %buildroot%mkcdrec_root/README \
; do rm -f $file ; done

%files
%doc Changelog README COPYING
%doc doc/
%config %mkcdrec_root/Config.sh
%mkcdrec_root/VERSION
%mkcdrec_root/.config.bb
%mkcdrec_root/busybox
%mkcdrec_root/bin
%mkcdrec_root/contributions
%mkcdrec_root/scripts
%mkcdrec_root/modules
%mkcdrec_root/etc
%mkcdrec_root/usr
%mkcdrec_root/linuxrc
%mkcdrec_root/linuxrc_find_and_prep_root
%mkcdrec_root/linuxrc_post
%mkcdrec_root/linuxrc_pre
%mkcdrec_root/Makefile
%mkcdrec_root/Makefile.new-powermac
%mkcdrec_root/Makefile.x86
%mkcdrec_root/Makefile.sparc
%mkcdrec_root/Makefile.ia64
%mkcdrec_root/Makefile.x86_64
%_sbindir/mkcdrec
%_man8dir/*

%changelog
* Sun Apr 22 2007 Michael Shigorin <mike на altlinux.org> 0.9.6-alt1
- built for ALT Linux
- *heavy* spec cleanup
  + moved from /var/opt to %_libexecdir
  + removed vandalistic %%post
  + removed forbidden fileutils requirement
  + buildreq
- you might want to use e.g. /home/backup or /home/mkcdrec as workdir
  and not default /tmp
- note: this package is known to have some braindeadness in design
  and implementation, like being too monolithic, working within
  a single directory (scripts, workdir link and logs are all there
  -- won't work with read-only /usr) and so on; it's not gonna to
  be fixed, mkcdrec is as-is with further rewrite going on at
  http://rear.sf.net (which is still alpha indeed)

* Tue Aug 15 2006 Gratien D'haese
- remove webmin from spec file

* Sun Jun 18 2006 Gratien D'haese
- remove the perl pre-requisite (only needed if users want perl ADD_PERL=true)

* Sun Oct 30 2005 Gratien D'haese
- Config.sh became a config file instead of plain file
- remove mtools from x86_64 Prereq list
- added syslinux to x86_64 Prereq list
- added OBDR to the description line
- man page mkcdrec.8 saved as plain file and as gzip'ed file
- remove all CVS directory for install
- added Source1 and changed %%setup

* Sat Sep 10 2005 Gratien D'haese
- add mkcdrec script

* Wed Jun 23 2004 Guillaume Radde & Gratien D'haese
- add support for IA64
- add webmin module

* Tue Jun 09  2004 Gratien D'haese
- remove sfdisk, tinylogin and udpcp

* Tue Jun 01  2004 Gratien D'haese
- Updated Prereq list

* Sat Jan 24  2004 Gratien D'haese
- remove "cksfv*/src/cksfv" from binaries

* Tue Nov 13 2003 Gratien D'haese
- add contributions directory

* Sun Sep 7 2003 Gratien D'haese
- added doc/style to rpm

* Mon May  5 2003 Michal Jaegermann
- spec edits for sanity

* Sat Feb 22 2003 Gratien D'haese
 - changed the rules for syslinux/isolinux

* Sat Jan 10 2003 Gratien D'haese
 - finishing mkcdrec2.spec for our i386 binary RPM

* Tue Dec 10 2002 Gratien D'haese
 - extending mkcdrec2.spec file

* Sat Feb 09 2002 Gratien D'haese
 - initial draft of mkcdrec2.spec file and modified the original makerpms.sh
   shell script from samba team.



Подробная информация о списке рассылки Devel