- Timestamp:
- Nov 21, 2006, 1:42:46 AM (17 years ago)
- Location:
- trunk
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mindi-busybox/ChangeLog
r903 r956 3 3 MINDI-BUSYBOX CHANGES 4 4 5 1.2.2 (2006-11-17) 6 - Updated based on busybox 1.2.2 (Bruno Cornec) 7 - Handles modules back again (Bruno Cornec) 8 5 9 1.2.1 (2006-10-04) 6 10 - Creation based on busybox 1.2.1 (Bruno Cornec) -
trunk/mindi-busybox/VERSION
r904 r956 1 1.2.2 1 stable -
trunk/mindi/mindi
r939 r956 61 61 WRITE_MINDI_CD="$mindi_write_cd" 62 62 # TBC 63 CACHE DIR="$mindi_images_dir"63 CACHE_LOC="$mindi_images_dir" 64 64 FORCE_DUAL_FLOPPIES="$mindi_dual_floppies" 65 65 TMP_ROOT="$mindi_tmp_dir" … … 102 102 BOOT_MEDIA_MESSAGE="$mindi_boot_msg" 103 103 FDISK=$MINDI_SBIN/parted2fdisk 104 FDISKLOG=$MONDOTMP/parted2fdisk.log105 touch $FDISKLOG106 104 107 105 # Using a config file allow to overwrite some values … … 112 110 113 111 # Now we can create what we nedd 114 MONDOTMP=`mktemp -d $TMPDIR/mondobuild.XXXXXXXXXX` 115 mkdir -p $MONDOTMP 112 MINDI_TMP=`mktemp -d $TMPDIR/mindi.XXXXXXXXXX` 113 mkdir -p $MINDI_TMP 114 115 FDISKLOG=$MINDI_TMP/parted2fdisk.log 116 117 # Purge from potential old run 118 rm -rf $CACHE_LOC/* 2> /dev/null 116 119 mkdir -p $CACHE_LOC 117 120 # ---------------------------------------------------------------------------- … … 278 281 279 282 sliceno=0 280 scratchfile=$M ONDOTMP/blah.$$.dat283 scratchfile=$MINDI_TMP/blah.$$.dat 281 284 cp -f $filename $scratchfile || Die "CUACF -- cannot copy $filename to $scratchfile - did you run out of disk space?" 282 285 [ "`head $scratchfile -n1 | grep -F "bin/sh"`" != "" ] && StripComments $scratchfile "-$filename-" … … 341 344 BIGNO=$(($BIGNO+1)) 342 345 else 343 cp --parents -Rdf $incoming $outdir || Die "Cannot copy $incoming to $outdir - did you run out of disk space?"346 cp --parents -Rdf $incoming $outdir 2> /dev/null || Die "Cannot copy $incoming to $outdir - did you run out of disk space?" 344 347 if [ "`echo "$incoming" | grep "lib/modules/.*\..*o\.gz"`" != "" ] ; then 345 348 gunzip -f $outdir/$incoming || LogIt "Cannot gunzip $outdir/$incoming\n" … … 430 433 noof_disks=$4 431 434 432 mountpoint=$M ONDOTMP/mountpoint.$$435 mountpoint=$MINDI_TMP/mountpoint.$$ 433 436 mkdir -p $mountpoint 434 437 dd if=/dev/zero of=$imagefile bs=1k count=1440 &> /dev/null || LogIt "Cannot dd (CODI)\n" 435 mke2fs -N 12 -F $imagefile > $M ONDOTMP/mke2fs.$$ 2>> $MONDOTMP/mke2fs.$$436 [ "$?" -ne "0" ] && cat $M ONDOTMP/mke2fs.$$437 rm -f $M ONDOTMP/mke2fs.$$438 mke2fs -N 12 -F $imagefile > $MINDI_TMP/mke2fs.$$ 2>> $MINDI_TMP/mke2fs.$$ 439 [ "$?" -ne "0" ] && cat $MINDI_TMP/mke2fs.$$ 440 rm -f $MINDI_TMP/mke2fs.$$ 438 441 mount -t ext2 -o loop $imagefile $mountpoint || Die "Can't loopmount $imagefile to $mountpoint! The reason may be missing support for loopfs or ext2 (or both) in the running kernel." 439 442 mv $tarball $mountpoint/ … … 471 474 my_partitions=`mount | grep -F $$ | cut -f1 -d' '` 472 475 [ "$my_partitions" != "" ] && umount $my_partitions 473 # Clean temporary files 474 rm -Rf $MONDOTMP $FDISKLOG 476 # Clean temporary files only when standalone mindi 477 if [ _"$MINDI_TMP" != _"$MONDO_TMP" ]; then 478 rm -Rf $MINDI_TMP 479 fi 475 480 exit $1 476 481 } … … 485 490 486 491 # Creates a tar file containing all required files 487 for i in /etc/fstab /etc/lilo.conf /etc/raidtab $LOGFILE /var/log/mondo-archive.log $FDISKLOG; do488 [ -e "$i" ] && cp -f $i $M ONDOTMP492 for i in /etc/fstab /etc/lilo.conf /etc/raidtab $LOGFILE /var/log/mondo-archive.log ; do 493 [ -e "$i" ] && cp -f $i $MINDI_TMP 489 494 done 490 495 rm -f $TMPDIR/mindi.err.*.tgz 491 tar -cf - $M ONDOTMP | gzip -9 > $TMPDIR/mindi.err.$$.tgz496 tar -cf - $MINDI_TMP | gzip -9 > $TMPDIR/mindi.err.$$.tgz 492 497 LogIt "Please e-mail a copy of $TMPDIR/mindi.err.$$.tgz to the mailing list.\n" 493 498 LogIt "See http://www.mondorescue.org for more information.\n" … … 683 688 pwd=`pwd` 684 689 if [ "$YOUR_KERNEL_SUCKS" ] ; then 685 cd $M ONDOTMP690 cd $MINDI_TMP 686 691 else 687 692 cd / … … 706 711 echo -en "Analyzing dependency requirements" 707 712 outfile=$1 708 tempfile=$M ONDOTMP/$$.txt713 tempfile=$MINDI_TMP/$$.txt 709 714 incoming=`ReadLine` 710 715 … … 829 834 mkdir -p $bigdir/sbin 830 835 mkdir -p $bigdir/bin 831 if [ -e "$M ONDOTMP/post-nuke.tgz" ] ; then836 if [ -e "$MINDI_TMP/post-nuke.tgz" ] ; then 832 837 LogIt "\nIncorporating post-nuke tarball\n" 833 838 old_pwd=`pwd` 834 839 cd $bigdir 835 tar -zxf $M ONDOTMP/post-nuke.tgz || LogIt "Error occurred when untarring post-nuke tarball\n"840 tar -zxf $MINDI_TMP/post-nuke.tgz || LogIt "Error occurred when untarring post-nuke tarball\n" 836 841 cd $old_pwd 837 842 fi 838 if cp -f $M ONDOTMP/mondo*restore $bigdir/usr/bin ; then843 if cp -f $MINDI_TMP/mondo*restore $bigdir/usr/bin ; then 839 844 LocateDeps $bigdir/usr/bin/mondo*restore >> $outfile.pre 840 845 else 841 LogIt "Cannot find mondo*restore in mondo's tempdir, $M ONDOTMP\n"846 LogIt "Cannot find mondo*restore in mondo's tempdir, $MINDI_TMP\n" 842 847 LogIt "I bet you've got a spare copy of Mondo or Mindi floating around on your system.\n" 843 848 LogIt "If Mindi was called by Mondo then send me a bug report.\n It not, type 'ps ax' to see which Mondo-related process is still running;\n then kill it. :-)\n Finally, run Mindi again." 844 849 Die "Odd." 845 850 fi 846 cp -f $M ONDOTMP/BOOTLOADER.* $bigdir 2> /dev/null || LogIt "\nMondo v1.2x defaults to LILO as the bootloader, BTW.\n"847 if [ -e "$M ONDOTMP/NFS-DEV" ] ; then851 cp -f $MINDI_TMP/BOOTLOADER.* $bigdir 2> /dev/null || LogIt "\nMondo v1.2x defaults to LILO as the bootloader, BTW.\n" 852 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then 848 853 LogIt "Incorporating NFS-related settings\n" 849 854 for r in NFS-* ISO-PREFIX ; do 850 cp -f $M ONDOTMP/$r $bigdir/tmp || Die "Cannot copy $r - did you run out of disk space?"855 cp -f $MINDI_TMP/$r $bigdir/tmp || Die "Cannot copy $r - did you run out of disk space?" 851 856 echo "Copying $r to ramdisk" >> $LOGFILE 852 857 done … … 915 920 incoming=`ReadLine` 916 921 pwd=`pwd` 917 cd $M ONDOTMP922 cd $MINDI_TMP 918 923 while [ "$incoming" != "" ] ; do 919 924 stub=`basename $incoming` … … 1082 1087 echo "datestamp `date`" >> $outfile 1083 1088 [ "$ESTIMATED_TOTAL_NOOF_SLICES" ] && echo "total-slices $ESTIMATED_TOTAL_NOOF_SLICES" >> $outfile 1084 AddFileToCfgIfExists $MONDOTMP/NFS-CLIENT-IPADDR nfs-client-ipaddr $outfile 1085 AddFileToCfgIfExists $MONDOTMP/NFS-CLIENT-NETMASK nfs-client-netmask $outfile 1086 AddFileToCfgIfExists $MONDOTMP/NFS-CLIENT-BROADCAST nfs-client-broadcast $outfile 1087 AddFileToCfgIfExists $MONDOTMP/NFS-CLIENT-DEFGW nfs-client-defgw $outfile 1088 AddFileToCfgIfExists $MONDOTMP/NFS-SERVER-MOUNT nfs-server-mount $outfile 1089 AddFileToCfgIfExists $MONDOTMP/NFS-SERVER-PATH nfs-server-path $outfile 1090 AddFileToCfgIfExists $MONDOTMP/NFS-DEV nfs-dev $outfile 1091 AddFileToCfgIfExists $MONDOTMP/NFS-SERVER-IPADDR nfs-server-ipaddr $outfile 1092 AddFileToCfgIfExists $MONDOTMP/ISO-DEV iso-dev $outfile 1093 AddFileToCfgIfExists $MONDOTMP/ISO-MNT iso-mnt $outfile 1094 AddFileToCfgIfExists $MONDOTMP/ISO-PREFIX iso-prefix $outfile 1095 AddFileToCfgIfExists $MONDOTMP/ISODIR isodir $outfile 1096 AddFileToCfgIfExists $MONDOTMP/BOOTLOADER.DEVICE bootloader.device $outfile 1097 AddFileToCfgIfExists $MONDOTMP/BOOTLOADER.NAME bootloader.name $outfile 1098 AddFileToCfgIfExists $MONDOTMP/KEYMAP-LIVES-HERE keymap-lives-here $outfile 1099 AddFileToCfgIfExists $MONDOTMP/TAPEDEV-HAS-DATA-DISKS tapedev-has-data-disks $outfile 1100 AddFileToCfgIfExists $MONDOTMP/BACKUP-MEDIA-TYPE backup-media-type $outfile 1101 AddFileToCfgIfExists $MONDOTMP/DIFFERENTIAL differential $outfile 1089 AddFileToCfgIfExists $MINDI_TMP/NFS-CLIENT-IPADDR nfs-client-ipaddr $outfile 1090 AddFileToCfgIfExists $MINDI_TMP/NFS-CLIENT-NETMASK nfs-client-netmask $outfile 1091 AddFileToCfgIfExists $MINDI_TMP/NFS-CLIENT-BROADCAST nfs-client-broadcast $outfile 1092 AddFileToCfgIfExists $MINDI_TMP/NFS-CLIENT-DEFGW nfs-client-defgw $outfile 1093 AddFileToCfgIfExists $MINDI_TMP/NFS-SERVER-MOUNT nfs-server-mount $outfile 1094 AddFileToCfgIfExists $MINDI_TMP/NFS-SERVER-PATH nfs-server-path $outfile 1095 AddFileToCfgIfExists $MINDI_TMP/NFS-DEV nfs-dev $outfile 1096 AddFileToCfgIfExists $MINDI_TMP/NFS-SERVER-IPADDR nfs-server-ipaddr $outfile 1097 AddFileToCfgIfExists $MINDI_TMP/ISO-DEV iso-dev $outfile 1098 AddFileToCfgIfExists $MINDI_TMP/ISO-MNT iso-mnt $outfile 1099 AddFileToCfgIfExists $MINDI_TMP/ISO-PREFIX iso-prefix $outfile 1100 AddFileToCfgIfExists $MINDI_TMP/ISODIR isodir $outfile 1101 AddFileToCfgIfExists $MINDI_TMP/BOOTLOADER.DEVICE bootloader.device $outfile 1102 AddFileToCfgIfExists $MINDI_TMP/BOOTLOADER.NAME bootloader.name $outfile 1103 AddFileToCfgIfExists $MINDI_TMP/KEYMAP-LIVES-HERE keymap-lives-here $outfile 1104 AddFileToCfgIfExists $MINDI_TMP/TAPEDEV-HAS-DATA-DISKS tapedev-has-data-disks $outfile 1105 AddFileToCfgIfExists $MINDI_TMP/BACKUP-MEDIA-TYPE backup-media-type $outfile 1106 AddFileToCfgIfExists $MINDI_TMP/DIFFERENTIAL differential $outfile 1107 AddFileToCfgIfExists $MINDI_TMP/ACL acl $outfile 1108 AddFileToCfgIfExists $MINDI_TMP/XATTR xattr $outfile 1102 1109 } 1103 1110 … … 1112 1119 if [ "$YOUR_KERNEL_SUCKS" ] ; then 1113 1120 kver=$FAILSAFE_KVER 1114 cd $M ONDOTMP1121 cd $MINDI_TMP 1115 1122 searchpath=lib/modules/$kver 1116 1123 else … … 1136 1143 # Make temporary modprobe.conf file if we are told so 1137 1144 if [ $tmpmodprobe_flag == "Y" ] ; then 1138 infile="$M ONDOTMP/modprobe.conf.mindi"1145 infile="$MINDI_TMP/modprobe.conf.mindi" 1139 1146 find /etc/modprobe.d -maxdepth 1 -name "*" -xtype f -print0 | xargs -0 cat > $infile 1140 1147 else … … 1177 1184 1178 1185 # scratchdir, mountlist(OUT) 1179 scratchdir=$M ONDOTMP1186 scratchdir=$MINDI_TMP 1180 1187 mountlist=$1 1181 1188 … … 1451 1458 rm -f $1.tmp 1452 1459 if [ "$CDRECOVERY" != "yes" ] ; then 1453 if [ -e "$M ONDOTMP/NFS-DEV" ] ; then1460 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then 1454 1461 echo -en "Press <enter> to continue.\n" >> $1 1455 elif [ ! "$M ONDOTMP" ] ; then1462 elif [ ! "$MINDI_TMP" ] ; then 1456 1463 echo -en "FYI, this is _not_ a Mondo Rescue CD.\n" >> $1 1457 1464 if [ -e "$MINDI_LIB/memtest.img" ] ; then … … 1533 1540 [ "$i" != "y" ] && [ "$i" != "Y" ] && return 0 1534 1541 fi 1535 if [ ! "$M ONDOTMP" ] ; then1542 if [ ! "$MINDI_TMP" ] ; then 1536 1543 LogIt "NB: Mindi's bootable CD always uses isolinux.\n" 1537 1544 LogIt "For a bootable CD w/LILO, please use Mondo.\n" 1538 1545 fi 1539 rm -Rf $M ONDOTMP/iso1540 mkdir -p $M ONDOTMP/iso/{images,archives,isolinux}1541 cp -f $1/*.img $1/*.gz $M ONDOTMP/iso/images || LogIt "OfferToMakeBootableISO: Cannot copy $i to $MONDOTMP/iso/images\n"1546 rm -Rf $MINDI_TMP/iso 1547 mkdir -p $MINDI_TMP/iso/{images,archives,isolinux} 1548 cp -f $1/*.img $1/*.gz $MINDI_TMP/iso/images || LogIt "OfferToMakeBootableISO: Cannot copy $i to $MINDI_TMP/iso/images\n" 1542 1549 old_pwd=`pwd` 1543 cd $M ONDOTMP/iso1550 cd $MINDI_TMP/iso 1544 1551 mkdir -p $MONDO_ROOT/iso/isolinux 1545 1552 echo "mindi_lib = $MINDI_LIB" >> $LOGFILE 1546 cp $MINDI_LIB/mem{test,disk}* $MONDO_ROOT 2>> $LOGFILE1547 1553 for i in memdisk memtest.bin memtest.img ; do 1548 j=$MINDI_LIB/$i 1549 k=$MONDOTMP/iso/isolinux 1550 if [ -e "$j" ] ; then 1551 LogIt "Copying $j to $k\n" 1552 cp -f $j $k || Die "Failed to copy $j to $k" 1553 cp -f $j $MONDOTMP || Die "Failed to copy $j to $k" 1554 fi 1555 done 1556 MakeSyslinuxMessageFile $MONDOTMP/iso/isolinux/message.txt 1557 cp $kernelpath $MONDOTMP/iso/isolinux/vmlinuz || Die "Cannot copy vmlinuz ($kernelpath) to mondo root ($MONDO_ROOT/isolinux/vmlinuz). Did you run out of disk space?" 1558 cp $MONDOTMP/mindi.rdz $MONDOTMP/iso/isolinux/initrd.img 1559 cp $MONDOTMP/mindi.rdz $CACHE_LOC/initrd.img 1554 j=$MINDI_LIB/$i 1555 k=$MINDI_TMP/iso/isolinux 1556 if [ -e "$j" ] ; then 1557 LogIt "Copying $j to $k\n" 1558 cp -f $j $k 2> /dev/null || Die "Failed to copy $j to $k" 1559 cp -f $j $MINDI_TMP 2> /dev/null || Die "Failed to copy $j to $MINDI_TMP" 1560 cp -f $j $MONDO_ROOT 2>> $LOGFILE || Die "Failed to copy $j to $MONDO_ROOT" 1561 fi 1562 done 1563 MakeSyslinuxMessageFile $MINDI_TMP/iso/isolinux/message.txt 1564 cp $kernelpath $MINDI_TMP/iso/isolinux/vmlinuz 2> /dev/null || Die "Cannot copy vmlinuz ($kernelpath) to mondo root ($MONDO_ROOT/isolinux/vmlinuz). Did you run out of disk space?" 1565 cp $MINDI_TMP/mindi.rdz $MINDI_TMP/iso/isolinux/initrd.img 1566 cp $MINDI_TMP/mindi.rdz $CACHE_LOC/initrd.img 1560 1567 [ -e "$iso_cfg_file" ] || Die "FIXME - unable to find $iso_cfg_file - this should never occur" 1561 cd $M ONDOTMP/iso/isolinux1562 cat $iso_cfg_file | HackSyslinuxFile $ramdisk_size $M ONDOTMP/iso > isolinux.cfg || Die "Cannot copy isolinux.cfg from mindi_home to tmp_root - did you run out of disk space?"1563 if [ -e "$M ONDOTMP/NFS-DEV" ] ; then1568 cd $MINDI_TMP/iso/isolinux 1569 cat $iso_cfg_file | HackSyslinuxFile $ramdisk_size $MINDI_TMP/iso > isolinux.cfg || Die "Cannot copy isolinux.cfg from mindi_home to tmp_root - did you run out of disk space?" 1570 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then 1564 1571 mv isolinux.cfg isolinux.cfg.old 1565 1572 sed s/interactive/iso/ isolinux.cfg.old > isolinux.cfg 1566 1573 fi 1567 1574 if [ "$ARCH" != "ia64" ] ; then 1568 cp $ISOLINUX isolinux.bin || Die "Cannot copy isolinux.bin ($ISOLINUX) to tmp_root - did you run out of disk space?"1575 cp $ISOLINUX isolinux.bin 2> /dev/null || Die "Cannot copy isolinux.bin ($ISOLINUX) to tmp_root - did you run out of disk space?" 1569 1576 cp $ISOLINUX ../ 1570 1577 fi 1571 cd $M ONDOTMP/iso1578 cd $MINDI_TMP/iso 1572 1579 if [ "$ARCH" != "ia64" ] ; then 1573 cp -f $M ONDOTMP/iso/isolinux/{isolinux.cfg,initrd.img,vmlinuz,isolinux.bin,message.txt} $MONDO_ROOT|| Die "Cannot copy core files to ramdisk for boot disk. Did you run out of disk space?"1580 cp -f $MINDI_TMP/iso/isolinux/{isolinux.cfg,initrd.img,vmlinuz,isolinux.bin,message.txt} $MONDO_ROOT 2> /dev/null || Die "Cannot copy core files to ramdisk for boot disk. Did you run out of disk space?" 1574 1581 fi 1575 1582 [ "$MONDO_SHARE" ] && cp -f $MONDO_SHARE/autorun . 1576 1583 if [ "$ARCH" != "ia64" ] ; then 1577 mkisofs -U -J -r -o $CACHE DIR/mindi.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . > /dev/null 2> /tmp/$$.mk1578 else 1579 mkisofs -J -r -o $CACHE DIR/mindi.iso -b images/mindi-bootroot.$IA64_BOOT_SIZE.img -c isolinux/boot.cat -no-emul-boot . > /dev/null 2> /tmp/$$.mk1584 mkisofs -U -J -r -o $CACHE_LOC/mindi.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . > /dev/null 2> $MINDI_TMP/mkisofs.log 1585 else 1586 mkisofs -J -r -o $CACHE_LOC/mindi.iso -b images/mindi-bootroot.$IA64_BOOT_SIZE.img -c isolinux/boot.cat -no-emul-boot . > /dev/null 2> $MINDI_TMP/mkisofs.log 1580 1587 fi 1581 1588 if [ "$?" -ne "0" ] ; then 1582 1589 echo "----------- mkisofs's errors --------------" >> $LOGFILE 1583 cat $M ONDOTMP/mkisofs.log >> $LOGFILE1590 cat $MINDI_TMP/mkisofs.log >> $LOGFILE 1584 1591 echo "mkisofs returned the following errors:-" 1585 cat $M ONDOTMP/mkisofs.log1592 cat $MINDI_TMP/mkisofs.log 1586 1593 LogIt "Failed to create ISO image.\n" 1587 1594 else 1588 echo "Created bootable ISO image at $CACHE DIR/mindi.iso" >> $LOGFILE1589 fi 1590 rm -f $M ONDOTMP/mkisofs.log1595 echo "Created bootable ISO image at $CACHE_LOC/mindi.iso" >> $LOGFILE 1596 fi 1597 rm -f $MINDI_TMP/mkisofs.log 1591 1598 cd $old_pwd 1592 1599 } … … 1609 1616 if [ "`DidMondoCallMe`" ] ; then 1610 1617 if [ "$CDRECOVERY" != "yes" ] ; then 1611 if [ -e "$M ONDOTMP/NFS-DEV" ] ; then1618 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then 1612 1619 echo -en "Press <enter> to continue.\n" 1613 elif [ ! "$M ONDOTMP" ] ; then1620 elif [ ! "$MINDI_TMP" ] ; then 1614 1621 echo -en "FYI, this is _not_ a Mondo Rescue CD.\n" 1615 1622 else … … 1637 1644 rand1=$RANDOM 1638 1645 rand2=$RANDOM 1639 image=$M ONDOTMP/$rand1.$rand2.img1640 mtpt=$M ONDOTMP/$rand1.$rand2.mtpt1646 image=$MINDI_TMP/$rand1.$rand2.img 1647 mtpt=$MINDI_TMP/$rand1.$rand2.mtpt 1641 1648 dd if=/dev/zero of=$image bs=1k count=$disksize 1642 1649 mke2fs -N 26 -F $image > /dev/null … … 1703 1710 echo -en "default=RESTORE\n" 1704 1711 elif [ "$disksize" -gt "2880" ] && [ "`DidMondoCallMe`" ] ; then 1705 if [ -e "$M ONDOTMP/NFS-DEV" ] ; then1712 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then 1706 1713 echo -en "default=iso\n" 1707 1714 else … … 1724 1731 elif [ "$disksize" -gt "2880" ] ; then 1725 1732 if [ "`DidMondoCallMe`" ] ; then 1726 if [ -e "$M ONDOTMP/NFS-DEV" ] ; then1733 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then 1727 1734 options="iso" 1728 1735 else … … 1767 1774 [ ! -e "$kernelpath" ] && Die "PBDI - cannot find $kernelpath kernel" 1768 1775 echo -en "Making "$disksize"KB boot disk..." 1769 TurnTgzIntoRdz $MINDI_LIB/rootfs $M ONDOTMP/mindi.rdz $ramdisksize $disksize `du -sk $kernelpath | cut -f1` || Die "Could not turn rootfs into mindi.rdz; are you SURE your kernel supports loopfs?"1776 TurnTgzIntoRdz $MINDI_LIB/rootfs $MINDI_TMP/mindi.rdz $ramdisksize $disksize `du -sk $kernelpath | cut -f1` || Die "Could not turn rootfs into mindi.rdz; are you SURE your kernel supports loopfs?" 1770 1777 if [ "$ARCH" != "ia64" ] ; then 1771 1778 [ "$disksize" != "1722" ] && [ "$disksize" != "2880" ] && [ "$disksize" != "5760" ] && Die "PDBI - disksize is $disksize - bad size" … … 1773 1780 echo -en "..." 1774 1781 imagefile=$imagesdir/mindi-bootroot.$disksize.img 1775 mountpoint=$M ONDOTMP/mountpoint.$$1782 mountpoint=$MINDI_TMP/mountpoint.$$ 1776 1783 mkdir -p $mountpoint 1777 1784 dd if=/dev/zero of=$imagefile bs=1k count=$disksize &> /dev/null || Die "Cannot dd blank file" 1778 1785 if [ "$ARCH" = "ia64" ] ; then 1779 mkdosfs $imagefile > $M ONDOTMP/mke2fs.log 2>> $MONDOTMP/mke2fs.log1786 mkdosfs $imagefile > $MINDI_TMP/mke2fs.log 2>> $MINDI_TMP/mke2fs.log 1780 1787 t=vfat 1781 1788 else 1782 mke2fs -N 26 -m 0 -F $imagefile > $M ONDOTMP/mke2fs.log 2>> $MONDOTMP/mke2fs.log1789 mke2fs -N 26 -m 0 -F $imagefile > $MINDI_TMP/mke2fs.log 2>> $MINDI_TMP/mke2fs.log 1783 1790 t=ext2 1784 1791 fi 1785 [ "$?" -ne "0" ] && cat $M ONDOTMP/mke2fs.log1786 rm -f $M ONDOTMP/mke2fs.log1792 [ "$?" -ne "0" ] && cat $MINDI_TMP/mke2fs.log 1793 rm -f $MINDI_TMP/mke2fs.log 1787 1794 mount -t $t -o loop $imagefile $mountpoint || LogIt "Cannot mount (PBDI)\n\n" 1788 1795 # copy Mindi's skeleton fs & lilo/syslinux/whatever stuff into it … … 1805 1812 MakeLiloConfFile $disksize > $liloconf 1806 1813 1807 echo "Copying $M ONDOTMP/mindi.rdz to $mountpoint..." >> $LOGFILE1808 cp -f $M ONDOTMP/mindi.rdz $mountpoint 2>> $LOGFILE1814 echo "Copying $MINDI_TMP/mindi.rdz to $mountpoint..." >> $LOGFILE 1815 cp -f $MINDI_TMP/mindi.rdz $mountpoint 2>> $LOGFILE 1809 1816 if [ "$?" -ne "0" ] ; then 1810 LogIt "Failed to copy $M ONDOTMP/mindi.rdz to $mountpoint\n"1811 cat $M ONDOTMP/mtpt.$$ >> $LOGFILE1817 LogIt "Failed to copy $MINDI_TMP/mindi.rdz to $mountpoint\n" 1818 cat $MINDI_TMP/mtpt.$$ >> $LOGFILE 1812 1819 LogIt "Please unload some of your modules and try again.\n" 1813 rm -f $M ONDOTMP/mtpt.$$1820 rm -f $MINDI_TMP/mtpt.$$ 1814 1821 LogIt "Cannot incorporate mindi.rdz in bootdisk (kernel / modules too big?)\n" 1815 1822 retval=$(($retval+1)) … … 1818 1825 1819 1826 mkdir -p $mountpoint/tmp 1820 cp -f $M ONDOTMP/mondo-restore.cfg $mountpoint/tmp &> /dev/null1827 cp -f $MINDI_TMP/mondo-restore.cfg $mountpoint/tmp &> /dev/null 1821 1828 if [ -e "$MINDI_LIB/memtest.img" ] ; then 1822 1829 echo -en "image=/memtest.bin\nlabel=memtest\nn" >> $liloconf … … 1844 1851 write_full_floppy_of_kernel $kernelpath $imagesdir/mindi-boot.1440.img 1440 1845 1852 res=$(($res+$?)) 1846 cp -f $M ONDOTMP/mindi.rdz $imagesdir/mindi-root.1440.img1853 cp -f $MINDI_TMP/mindi.rdz $imagesdir/mindi-root.1440.img 1847 1854 res=$(($res+$?)) 1848 1855 rm -f $imagefile … … 1885 1892 retval=$(($retval+1)) 1886 1893 fi 1887 cp -f $liloconf $M ONDOTMP/lilo.conf1894 cp -f $liloconf $MINDI_TMP/lilo.conf 1888 1895 if [ "$ARCH" = "ia64" ] ; then 1889 1896 cp `dirname $kernelpath`/*.efi $mountpoint … … 1919 1926 [ ! -e "$kernelpath" ] && Die "PBDI - cannot find $kernelpath kernel" 1920 1927 echo -en "Making "$disksize"KB boot disk..." 1921 TurnTgzIntoRdz $MINDI_LIB/rootfs $M ONDOTMP/mindi.rdz $ramdisksize $disksize `du -sk $kernelpath | cut -f1` || Die "Could not turn rootfs into mindi.rdz; are you SURE your kernel supports loopfs?"1928 TurnTgzIntoRdz $MINDI_LIB/rootfs $MINDI_TMP/mindi.rdz $ramdisksize $disksize `du -sk $kernelpath | cut -f1` || Die "Could not turn rootfs into mindi.rdz; are you SURE your kernel supports loopfs?" 1922 1929 [ "$disksize" != "1722" ] && [ "$disksize" != "2880" ] && [ "$disksize" != "5760" ] && Die "PDBI - disksize is $disksize - bad size" 1923 1930 echo -en "..." 1924 1931 imagefile=$imagesdir/mindi-bootroot.$disksize.img 1925 mountpoint=$M ONDOTMP/mountpoint.$$1932 mountpoint=$MINDI_TMP/mountpoint.$$ 1926 1933 mkdir -p $mountpoint 1927 1934 # If I format a 1722KB data file & run syslinux on it, the resultant image … … 1946 1953 [ -e "$sys_cfg_file" ] || Die "Obi Wan, word up?" 1947 1954 cat $sys_cfg_file | HackSyslinuxFile $ramdisk_size $mountpoint > syslinux.cfg || Die "Cannot copy syslinux.cfg from mindi_home to tmp_root" 1948 if [ -e "$M ONDOTMP/NFS-DEV" ] ; then1955 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then 1949 1956 mv syslinux.cfg syslinux.cfg.orig 1950 1957 sed s/interactive/iso/ syslinux.cfg.orig > syslinux.cfg 1951 1958 fi 1952 1959 cd $old_pwd 1953 echo "Copying $M ONDOTMP/mindi.rdz to $mountpoint/initrd.img..." >> $LOGFILE1954 cp -f $M ONDOTMP/mindi.rdz $mountpoint/initrd.img 2>> $LOGFILE1960 echo "Copying $MINDI_TMP/mindi.rdz to $mountpoint/initrd.img..." >> $LOGFILE 1961 cp -f $MINDI_TMP/mindi.rdz $mountpoint/initrd.img 2>> $LOGFILE 1955 1962 if [ "$?" -ne "0" ] ; then 1956 LogIt "Failed to copy $M ONDOTMP/mindi.rdz to $mountpoint\n"1957 cat $M ONDOTMP/mtpt.$$ >> $LOGFILE1963 LogIt "Failed to copy $MINDI_TMP/mindi.rdz to $mountpoint\n" 1964 cat $MINDI_TMP/mtpt.$$ >> $LOGFILE 1958 1965 LogIt "Please unload some of your modules and try again.\n" 1959 rm -f $M ONDOTMP/mtpt.$$1966 rm -f $MINDI_TMP/mtpt.$$ 1960 1967 LogIt "Cannot incorporate mindi.rdz in bootdisk (kernel / modules too big?)\n" 1961 1968 retval=$(($retval+1)) … … 1963 1970 1964 1971 mkdir -p $mountpoint/tmp 1965 cp -f $M ONDOTMP/mondo-restore.cfg $mountpoint/tmp &> /dev/null1972 cp -f $MINDI_TMP/mondo-restore.cfg $mountpoint/tmp &> /dev/null 1966 1973 1967 1974 # copy the kernel across … … 1984 1991 write_full_floppy_of_kernel $kernelpath $imagesdir/mindi-boot.1440.img 1440 1985 1992 res=$(($res+$?)) 1986 cp -f $M ONDOTMP/mindi.rdz $imagesdir/mindi-root.1440.img1993 cp -f $MINDI_TMP/mindi.rdz $imagesdir/mindi-root.1440.img 1987 1994 res=$(($res+$?)) 1988 1995 rm -f $imagefile … … 2027 2034 imagesdir=$1 2028 2035 rm -f $imagesdir/mindi-*.img $imagesdir/[0-9]*.tar.gz $imagesdir/mindi.iso 2029 needlist=$M ONDOTMP/what-we-need.txt2030 bigdir=$M ONDOTMP/bigdir2031 minidir_root=$M ONDOTMP/minidir2036 needlist=$MINDI_TMP/what-we-need.txt 2037 bigdir=$MINDI_TMP/bigdir 2038 minidir_root=$MINDI_TMP/minidir 2032 2039 mkdir -p $minidir_root 2033 2040 mkdir -p $bigdir/usr/bin 2034 tardir=$M ONDOTMP/tardir2041 tardir=$MINDI_TMP/tardir 2035 2042 2036 2043 lines=`grep -vx " *#.*" $MINDI_CONF/deplist.txt | grep -vx "" | wc -l` … … 2039 2046 if [ "$YOUR_KERNEL_SUCKS" ]; then 2040 2047 pwd=`pwd` 2041 cd $M ONDOTMP2048 cd $MINDI_TMP 2042 2049 for i in `ListKernelModulePaths | HackPathsToFailsafe` ; do 2043 2050 cp --parents -pRdf ./$i $bigdir || Die "PDDI can't cp $i->$bigdir" … … 2072 2079 mkdir -p $bigdir/tmp 2073 2080 if [ "`DidMondoCallMe`" ] ; then 2074 MakeMondoConfigFile $M ONDOTMP/mondo-restore.cfg2075 cp -f $M ONDOTMP/mondo-restore.cfg $bigdir/tmp &> /dev/null2081 MakeMondoConfigFile $MINDI_TMP/mondo-restore.cfg 2082 cp -f $MINDI_TMP/mondo-restore.cfg $bigdir/tmp &> /dev/null 2076 2083 fi 2077 2084 [ -d "/mnt/.boot.d" ] && echo "Oh Jebus" > $bigdir/tmp/DUMBASS-GENTOO … … 2088 2095 2089 2096 # master boot record, too 2090 i=`cat $M ONDOTMP/BOOTLOADER.DEVICE 2> /dev/null`2097 i=`cat $MINDI_TMP/BOOTLOADER.DEVICE 2> /dev/null` 2091 2098 if [ "$i" ] ; then 2092 2099 LogIt "Backing up $i's MBR\n" … … 2098 2105 LogIt "Creating /dev/boot_device ($j)\n" 2099 2106 mkdir -p $bigdir/dev 2100 cp -pRdf $j $bigdir/dev/boot_device || Die "Unable to create /dev/boot_device on ramdisk"2107 cp -pRdf $j $bigdir/dev/boot_device 2> /dev/null || Die "Unable to create /dev/boot_device on ramdisk" 2101 2108 fi 2102 2109 … … 2125 2132 # EXTRA_SPACE=$(($EXTRA_SPACE*2)) 2126 2133 # fi 2127 MakeMountlist $M ONDOTMP/mountlist.txt2134 MakeMountlist $MINDI_TMP/mountlist.txt 2128 2135 mkdir -p $minidir_root/$noof_disks/tmp 2129 cp -f $M ONDOTMP/mountlist.txt $minidir_root/$noof_disks/tmp/mountlist.txt || Die "Cannot copy mountlist.txt from $MONDOTMP to data disk"2130 [ "`DidMondoCallMe`" ] && cp -f $minidir_root/$noof_disks/tmp/mountlist.txt $M ONDOTMP/.2136 cp -f $MINDI_TMP/mountlist.txt $minidir_root/$noof_disks/tmp/mountlist.txt 2> /dev/null || Die "Cannot copy mountlist.txt from $MINDI_TMP to data disk" 2137 [ "`DidMondoCallMe`" ] && cp -f $minidir_root/$noof_disks/tmp/mountlist.txt $MINDI_TMP/. 2131 2138 [ $LVM != "false" ] && $MINDI_LIB/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm 2132 2139 cat $minidir_root/$noof_disks/tmp/mountlist.txt >> $LOGFILE … … 2276 2283 local tempfile 2277 2284 2278 tempfile=$M ONDOTMP/$$.strip.txt2285 tempfile=$MINDI_TMP/$$.strip.txt 2279 2286 cp -f $1 $tempfile 2280 2287 $AWK '{if (substr($0,0,1)!="#" || substr($0,0,3)=="#!/") {print $0;};}' $tempfile > $1 … … 2307 2314 local tmpfile 2308 2315 2309 tmpfile=$M ONDOTMP/stripped.$$.dat2316 tmpfile=$MINDI_TMP/stripped.$$.dat 2310 2317 [ -d "$1" ] || [ -h "$1" ] && return 2311 2318 cp -f $1 $tmpfile … … 2495 2502 maxsize=$(($disksize-$kernelsize)) 2496 2503 maxsize=$(($maxsize*2)); # to allow for compression of 50% 2497 tempfile=$M ONDOTMP/temp.rd2498 mountpoint=$M ONDOTMP/mnt12504 tempfile=$MINDI_TMP/temp.rd 2505 mountpoint=$MINDI_TMP/mnt1 2499 2506 res=0 2500 2507 echo -en "..." … … 2503 2510 mke2fs -b 1024 -m 1 -i 2048 -F $tempfile >> $LOGFILE 2>> $LOGFILE 2504 2511 2505 [ "$?" -ne "0" ] && cat $M ONDOTMP/mke2fs.log2506 rm -f $M ONDOTMP/mke2fs.log2512 [ "$?" -ne "0" ] && cat $MINDI_TMP/mke2fs.log 2513 rm -f $MINDI_TMP/mke2fs.log 2507 2514 echo -en "..." 2508 2515 mkdir -p $mountpoint … … 2511 2518 old_pwd=`pwd` 2512 2519 cd $mountpoint 2513 cp -Rdf $tgz_dir_fname/* . 2>> $LOGFILE>> $LOGFILE2520 cp -Rdf $tgz_dir_fname/* . &>> $LOGFILE 2514 2521 tar -zxf symlinks.tgz || Die "Cannot untar symlinks.tgz" 2515 2522 cd dev || Die "Can't cd to dev" … … 2546 2553 old_pwd=`pwd` 2547 2554 if [ "$YOUR_KERNEL_SUCKS" ] ; then 2548 cd $M ONDOTMP2555 cd $MINDI_TMP 2549 2556 floppy_modules_path=lib/modules/$FAILSAFE_KVER 2550 2557 else … … 2570 2577 list_of_groovy_mods="$CDROM_MODS `WhichOfTheseModulesAreLoaded "$SCSI_MODS"`" 2571 2578 fi 2572 if [ -e "$M ONDOTMP/NFS-DEV" ] ; then2579 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then 2573 2580 # For PXE boot 2574 2581 list_of_groovy_mods="$list_of_groovy_mods $NET_MODS" … … 2580 2587 for i in $floppy_modules ; do 2581 2588 [ -e "$i" ] && s=`du -sk $i | cut -f1` || s="" 2582 [ "$YOUR_KERNEL_SUCKS" ] && i=$M ONDOTMP/$i2589 [ "$YOUR_KERNEL_SUCKS" ] && i=$MINDI_TMP/$i 2583 2590 echo "Adding $i ($s KB) to the rootfs" >> $LOGFILE 2584 cp -df $i $mountpoint/ || LogIt "Unable to copy $i to $mountpoint\n"2591 cp -df $i $mountpoint/ 2>/dev/null || LogIt "Unable to copy $i to $mountpoint\n" 2585 2592 [ "`echo "$i" | grep -F ".gz"`" ] && gunzip -f $mountpoint/`basename $i` 2586 2593 done … … 2598 2605 if [ "`DidMondoCallMe`" ] ; then 2599 2606 MakeMondoConfigFile $mountpoint/tmp/mondo-restore.cfg 2600 cp -f $mountpoint/tmp/mondo-restore.cfg $M ONDOTMP &> /dev/null2601 cp -f $M ONDOTMP/mountlist.txt $mountpoint/tmp/|| Die "Cannot copy mountlist to ramdisk"2607 cp -f $mountpoint/tmp/mondo-restore.cfg $MINDI_TMP &> /dev/null 2608 cp -f $MINDI_TMP/mountlist.txt $mountpoint/tmp/ 2>/dev/null || Die "Cannot copy mountlist to ramdisk" 2602 2609 echo -en "$FILES_IN_FILELIST" > $mountpoint/tmp/FILES-IN-FILELIST 2603 2610 echo -en "$LAST_FILELIST_NUMBER" > $mountpoint/tmp/LAST-FILELIST-NUMBER … … 2655 2662 if [ "`DidMondoCallMe`" ] ; then 2656 2663 for q in filelist.full.gz biggielist.txt ; do 2657 [ ! -e "$M ONDOTMP/$q" ] && Die "Cannot find $MONDOTMP/$q"2658 cp -pRdf $M ONDOTMP/$q tmp/2664 [ ! -e "$MINDI_TMP/$q" ] && Die "Cannot find $MINDI_TMP/$q" 2665 cp -pRdf $MINDI_TMP/$q tmp/ 2659 2666 done 2660 2667 mkdir -p $minidir_root/all/tmp … … 2727 2734 fi 2728 2735 # BERLIOS: Remove as too dangerous and now useless 2729 #grep -F " $M ONDOTMP " /proc/mounts | grep -F tmpfs > /dev/null 2> /dev/null && MONDOTMP=/home/tmpmondo && mkdir -p $MONDOTMP && LogIt "Changing MONDOTMP to $MONDOTMP because you're using tmpfs for /tmp\n" ; # tmpfs doesn't like Mindi and /tmp, for some reason2736 #grep -F " $MINDI_TMP " /proc/mounts | grep -F tmpfs > /dev/null 2> /dev/null && MINDI_TMP=/home/tmpmondo && mkdir -p $MINDI_TMP && LogIt "Changing MINDI_TMP to $MINDI_TMP because you're using tmpfs for /tmp\n" ; # tmpfs doesn't like Mindi and /tmp, for some reason 2730 2737 trap "Aborted" SIGTERM 2731 2738 DONE="\r\t\t\t\t\t\t\t\tDone. " … … 2781 2788 MindiExit 0 2782 2789 elif [ "$#" -ge "9" ] && [ "$1" = "--custom" ] ; then 2783 MONDOTMP=$2 2790 MONDO_TMP=$2 2791 # Change MINDI_TMP for the one provided by mondo 2792 # So that it can get back the built files 2793 rm -rf $MINDI_TMP 2794 MINDI_TMP=$MONDO_TMP 2795 mkdir -p $MINDI_TMP 2796 FDISKLOG=$MINDI_TMP/parted2fdisk.log 2784 2797 CACHE_LOC=$3 2785 2798 if [ _"$CACHE_LOC" != _"" ]; then … … 2843 2856 fi 2844 2857 [ "$CDRECOVERY" = "yes" ] && [ "$TAPEDEV" != "" ] && Die "Sorry, you can't use --cd-recovery and --write-tapes at the same time" 2845 MONDO_ROOT=`echo $CACHE DIR| sed 's/\(.*\)\/.*/\1/'`2858 MONDO_ROOT=`echo $CACHE_LOC | sed 's/\(.*\)\/.*/\1/'` 2846 2859 if [ _"$MONDO_ROOT" != _"" ]; then 2847 2860 mkdir -p $MONDO_ROOT … … 2888 2901 if [ "$NOT_BOOT" != "" ] && [ "$NOT_BOOT" != "0" ] && [ "$NOT_BOOT" != "no" ] ; then 2889 2902 LogIt "Just creating mondo-restore.cfg and a small all.tar.gz for Mondo. Nothing else.\n" 2890 MakeMondoConfigFile $M ONDOTMP/mondo-restore.cfg2891 MakeMountlist $M ONDOTMP/mountlist.txt2892 mkdir -p $M ONDOTMP/small-all/tmp2893 cd $M ONDOTMP/small-all2894 cp -f $M ONDOTMP/{mountlist.txt,mondo-restore.cfg,filelist.full.gz,biggielist.txt} tmp|| Die "Cannot copy small all.tar.gz"2895 tar -cv tmp | gzip -9 > $M ONDOTMP/all.tar.gz || Die "Cannot make small all.tar.gz"2903 MakeMondoConfigFile $MINDI_TMP/mondo-restore.cfg 2904 MakeMountlist $MINDI_TMP/mountlist.txt 2905 mkdir -p $MINDI_TMP/small-all/tmp 2906 cd $MINDI_TMP/small-all 2907 cp -f $MINDI_TMP/{mountlist.txt,mondo-restore.cfg,filelist.full.gz,biggielist.txt} tmp 2>/dev/null || Die "Cannot copy small all.tar.gz" 2908 tar -cv tmp | gzip -9 > $MINDI_TMP/all.tar.gz || Die "Cannot make small all.tar.gz" 2896 2909 sleep 2 2897 2910 LogIt "Done. Exiting.\n" … … 2934 2947 LogIt "disks then it may still be a result of a problem with your kernel.\n" 2935 2948 pwd=`pwd` 2936 cd $M ONDOTMP2949 cd $MINDI_TMP 2937 2950 bzip2 -dc $MINDI_LIB/lib.tar.bz2 | tar -x || Die "Cannot unzip lib.tar.bz2" 2938 2951 cd $pwd 2939 2952 YOUR_KERNEL_SUCKS="Your kernel sucks" 2940 2953 fi 2941 echo -e "Mindi's temp dir = $M ONDOTMP \nMindi's output dir=$CACHE_LOC" >> $LOGFILE2954 echo -e "Mindi's temp dir = $MINDI_TMP \nMindi's output dir=$CACHE_LOC" >> $LOGFILE 2942 2955 [ "$(($RANDOM%64))" -eq "0" ] && LogIt "Dude, I've looked inside your computer and it's really dusty...\n" 2943 2956 2944 2957 [ "$YOUR_KERNEL_SUCKS" ] && [ ! "$FAILSAFE_KVER" ] && Die "Please install mindi-kernel package. You need it. Go to http://www.mondorescue.org and download it, then install it." 2945 2958 2946 rm -f $CACHE DIR/{*img,*gz,*iso}2947 2948 PrepareDataDiskImages $CACHE DIR2959 rm -f $CACHE_LOC/{*img,*gz,*iso} 2960 2961 PrepareDataDiskImages $CACHE_LOC 2949 2962 noof_disks=$? 2950 2963 [ "$noof_disks" -eq "0" ] && Die "Too much stuff!" … … 2952 2965 mkdir -p $minidir_root/$noof_disks/tmp 2953 2966 cp -f $TMP_ROOT/mountlist.txt $minidir_root/$noof_disks/tmp/mountlist.txt || Die "Cannot copy mountlist.txt from $TMP_ROOT to data disk" 2954 cp -f $TMP_ROOT/mountlist.txt $CACHE DIR2967 cp -f $TMP_ROOT/mountlist.txt $CACHE_LOC 2955 2968 [ "`DidMondoCallMe`" ] && cp -f $minidir_root/$noof_disks/tmp/mountlist.txt $MONDO_TMP/. 2956 2969 [ -d "/proc/lvm" ] && $MINDI_SBIN/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm … … 2958 2971 cat $minidir_root/$noof_disks/tmp/mountlist.txt >> $LOGFILE 2959 2972 ZipMinidirsIntoTarballs $minidir_root $tardir $noof_disks 2960 CreateDataDiskImagesFromTarballs $tardir $CACHE DIR$noof_disks2973 CreateDataDiskImagesFromTarballs $tardir $CACHE_LOC $noof_disks 2961 2974 FRIENDLY_OUTSTRING="Boot and data disk images were created." 2962 2975 # One 1.72MB boot disk, one 2.88MB boot disk and $noof_disks data disk images … … 3008 3021 [ ! -e "$boot_dev" ] && Die "Will you PLEASE tell your distribution maker to create the 1.72MB devices in /dev?" 3009 3022 if [ "$PROMPT_WRITE_BOOT_FLOPPIES" = "yes" ]; then 3010 OfferToCopyImagesToDisks $CACHE DIR$boot_dev $FDDEVICE3023 OfferToCopyImagesToDisks $CACHE_LOC $boot_dev $FDDEVICE 3011 3024 fi 3012 3025 OfferToMakeBootableISO $CACHE_LOC 3013 3026 LogIt "Finished.\n" 3014 3027 elif [ "$TAPEDEV" ] ; then 3015 rm -f $CACHE DIR/{*img,*gz,*iso}3028 rm -f $CACHE_LOC/{*img,*gz,*iso} 3016 3029 OfferToMakeBootableISO $CACHE_LOC 3017 3030 if [ -e "$CACHE_LOC/all.tar.gz" ] ; then 3018 cp -f $CACHE_LOC/all.tar.gz $M ONDOTMP/3031 cp -f $CACHE_LOC/all.tar.gz $MINDI_TMP/ 3019 3032 else 3020 3033 Die "Cannot find all.tar.gz, to be written to tape" … … 3024 3037 fi 3025 3038 # cleanup 3026 rm -Rf $MONDOTMP $FDISKLOG3027 3039 LogIt "$FRIENDLY_OUTSTRING\n" 3028 3040 for mtpt in $FLOPPY_WAS_MOUNTED ; do -
trunk/mondo-doc/mondoarchive.8
r914 r956 322 322 Specify the loglevel. Use 99 for full debug. Standard debug level is 4. 323 323 324 .TP 325 .BI "-z " 326 Use extended attributes and acl for each file and store them in the backup media. Use this option if you use SElinux e.g. but it will slow down backup and restore time of course. 327 324 328 325 329 .SH DIAGNOSTICS … … 361 365 for its ISO's unless you exclude it, as follows:- 362 366 .br 363 .I "mondoarchive -Oi -d /mnt/foo -E \"/mnt/foo /mnt/foo2\" -p `hostname`-`date +%Y-%m-%d`"367 .I "mondoarchive -Oi -d /mnt/foo -E '/mnt/foo /mnt/foo2' -p \`hostname\`-\`date +%Y-%m-%d\`" 364 368 365 369 Backup to ISO's non-interactively, e.g. as a job running in /etc/cron.daily: 366 370 .br 367 .I "mkdir -p /bkp/ `date +%A`; mondoarchive -Oi -9 -d /bkp/`date +%A` -E /bkp"371 .I "mkdir -p /bkp/\`date +%A\`; mondoarchive -Oi -9 -d /bkp/\`date +%A\` -E /bkp" 368 372 369 373 .BI DVD: -
trunk/mondo/src/common/libmondo-archive.c
r914 r956 75 75 extern bool g_cd_recovery; 76 76 extern char *g_serial_string; 77 78 extern char *g_getfacl; 79 extern char *g_getfattr; 80 81 77 82 78 83 /** … … 538 543 /*@ buffer ************************************************************ */ 539 544 char *tmp = NULL; 545 char *tmp1 = NULL; 540 546 char *command = NULL; 541 547 char *use_lzo_sz = NULL; … … 552 558 char *value = NULL; 553 559 char *bootdev = NULL; 554 555 560 556 561 … … 802 807 } 803 808 mr_free(tmp); 809 810 if (g_getfattr) { 811 asprintf(&tmp1, "%s/XATTR", bkpinfo->tmpdir); 812 if (write_one_liner_data_file(tmp1, "TRUE")) { 813 log_msg(1, "%ld: Unable to write one-liner XATTR", 814 __LINE__); 815 } 816 paranoid_free(tmp1); 817 } 818 if (g_getfacl) { 819 asprintf(&tmp1, "%s/ACL", bkpinfo->tmpdir); 820 if (write_one_liner_data_file(tmp1, "TRUE")) { 821 log_msg(1, "%ld: Unable to write one-liner ACL", 822 __LINE__); 823 } 824 paranoid_free(tmp1); 825 } 804 826 805 827 estimated_total_noof_slices = … … 975 997 char *archiving_filelist_fname; 976 998 char *archiving_afioball_fname; 977 char *curr_xattr_list_fname ;999 char *curr_xattr_list_fname = NULL; 978 1000 char *curr_acl_list_fname; 979 1001 … … 1046 1068 log_msg(4, "%s[%d:%d] - EXATing %d...", FORTY_SPACES, getpid(), 1047 1069 this_thread_no, archiving_set_no); 1048 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1049 bkpinfo->tmpdir, archiving_set_no); 1050 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1051 bkpinfo->tmpdir, archiving_set_no); 1052 get_fattr_list(archiving_filelist_fname, curr_xattr_list_fname); 1053 mr_free(curr_xattr_list_fname); 1054 get_acl_list(archiving_filelist_fname, curr_acl_list_fname); 1055 mr_free(curr_acl_list_fname); 1070 if (g_getfattr) { 1071 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1072 bkpinfo->tmpdir, archiving_set_no); 1073 get_fattr_list(archiving_filelist_fname, curr_xattr_list_fname); 1074 mr_free(curr_xattr_list_fname); 1075 } 1076 if (g_getfacl) { 1077 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1078 bkpinfo->tmpdir, archiving_set_no); 1079 get_acl_list(archiving_filelist_fname, curr_acl_list_fname); 1080 mr_free(curr_acl_list_fname); 1081 } 1056 1082 1057 1083 log_msg(4, "%s[%d:%d] - archiving %d...", FORTY_SPACES, getpid(), … … 1432 1458 int noof_threads; 1433 1459 int i; 1434 char *curr_xattr_list_fname ;1460 char *curr_xattr_list_fname = NULL; 1435 1461 char *curr_acl_list_fname; 1436 1462 int misc_counter_that_is_not_important = 0; … … 1515 1541 // store set N 1516 1542 mr_asprintf(&storing_filelist_fname, FILELIST_FNAME_RAW_SZ, 1517 1543 bkpinfo->tmpdir, storing_set_no); 1518 1544 mr_asprintf(&storing_afioball_fname, AFIOBALL_FNAME_RAW_SZ, 1519 bkpinfo->tmpdir, storing_set_no, bkpinfo->zip_suffix); 1520 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1521 bkpinfo->tmpdir, storing_set_no); 1522 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1523 bkpinfo->tmpdir, storing_set_no); 1545 bkpinfo->tmpdir, storing_set_no, bkpinfo->zip_suffix); 1546 if (g_getfattr) { 1547 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1548 bkpinfo->tmpdir, storing_set_no); 1549 } 1550 if (g_getfacl) { 1551 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1552 bkpinfo->tmpdir, storing_set_no); 1553 } 1524 1554 1525 1555 log_msg(2, "Storing set %d", storing_set_no); … … 1549 1579 NULL); 1550 1580 } else { 1551 res = 1552 move_files_to_cd(bkpinfo, storing_filelist_fname, 1581 if (g_getfacl) { 1582 if (g_getfattr) { 1583 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1553 1584 curr_xattr_list_fname, 1554 1585 curr_acl_list_fname, 1555 1586 storing_afioball_fname, NULL); 1587 } else { 1588 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1589 curr_acl_list_fname, 1590 storing_afioball_fname, NULL); 1591 } 1592 } else { 1593 if (g_getfattr) { 1594 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1595 curr_xattr_list_fname, 1596 storing_afioball_fname, NULL); 1597 } else { 1598 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1599 storing_afioball_fname, NULL); 1600 } 1601 } 1556 1602 } 1557 1603 mr_free(storing_filelist_fname); … … 2165 2211 2166 2212 log_msg(1, "EXAT'g set %ld", curr_set_no); 2167 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 2168 bkpinfo->tmpdir, curr_set_no); 2169 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 2170 bkpinfo->tmpdir, curr_set_no); 2171 get_fattr_list(curr_filelist_fname, curr_xattr_list_fname); 2172 get_acl_list(curr_filelist_fname, curr_acl_list_fname); 2213 if (g_getfattr) { 2214 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 2215 bkpinfo->tmpdir, curr_set_no); 2216 get_fattr_list(curr_filelist_fname, curr_xattr_list_fname); 2217 } 2218 if (g_getfacl) { 2219 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 2220 bkpinfo->tmpdir, curr_set_no); 2221 get_acl_list(curr_filelist_fname, curr_acl_list_fname); 2222 } 2173 2223 2174 2224 log_msg(1, "Archiving set %ld", curr_set_no); … … 2200 2250 res = move_files_to_stream(bkpinfo, curr_afioball_fname, NULL); 2201 2251 } else { 2202 res = 2203 move_files_to_cd(bkpinfo, curr_filelist_fname, 2204 curr_xattr_list_fname, 2205 curr_acl_list_fname, curr_afioball_fname, 2206 NULL); 2252 if (g_getfacl) { 2253 if (g_getfattr) { 2254 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2255 curr_xattr_list_fname, 2256 curr_acl_list_fname, 2257 curr_afioball_fname, NULL); 2258 } else { 2259 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2260 curr_acl_list_fname, 2261 curr_afioball_fname, NULL); 2262 } 2263 } else { 2264 if (g_getfattr) { 2265 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2266 curr_xattr_list_fname, 2267 curr_afioball_fname, NULL); 2268 } else { 2269 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2270 curr_afioball_fname, NULL); 2271 } 2272 } 2207 2273 } 2208 2274 retval += res; … … 2315 2381 mr_asprintf(&biggielist, "%s/archives/biggielist.txt", 2316 2382 bkpinfo->scratchdir); 2317 mr_asprintf(&xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2318 mr_asprintf(&acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2383 if (g_getfattr) { 2384 mr_asprintf(&xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2385 } 2386 if (g_getfacl) { 2387 mr_asprintf(&acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2388 } 2319 2389 2320 2390 mr_asprintf(&command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir, … … 2331 2401 } 2332 2402 2333 get_fattr_list(biggielist, xattr_fname); 2334 get_acl_list(biggielist, acl_fname); 2335 mr_asprintf(&command, "cp %s %s/archives/", xattr_fname, 2403 if (g_getfattr) { 2404 get_fattr_list(biggielist, xattr_fname); 2405 mr_asprintf(&command, "cp %s %s/archives/", xattr_fname, 2406 bkpinfo->scratchdir); 2407 paranoid_system(command); 2408 mr_free(command); 2409 } 2410 if (g_getfacl) { 2411 get_acl_list(biggielist, acl_fname); 2412 mr_asprintf(&command, "cp %s %s/archives/", acl_fname, 2336 2413 bkpinfo->scratchdir); 2337 paranoid_system(command); 2338 mr_free(command); 2339 2340 mr_asprintf(&command, "cp %s %s/archives/", acl_fname, 2341 bkpinfo->scratchdir); 2342 paranoid_system(command); 2343 mr_free(command); 2414 paranoid_system(command); 2415 mr_free(command); 2416 } 2344 2417 2345 2418 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { … … 2349 2422 mr_free(blah); 2350 2423 } 2351 mr_free(xattr_fname); 2352 mr_free(acl_fname); 2424 if (g_getfattr) { 2425 mr_free(xattr_fname); 2426 } 2427 if (g_getfacl) { 2428 mr_free(acl_fname); 2429 } 2353 2430 2354 2431 res = make_slices_and_images(bkpinfo, biggielist); -
trunk/mondo/src/common/libmondo-fifo.c
r932 r956 160 160 161 161 sync(); 162 if (g_sz_call_to_buffer == NULL) { 163 return; 164 } 165 if (strcmp(g_sz_call_to_buffer,"") == 0) { 166 return; 167 } 162 168 mr_asprintf(&command, 163 "ps %s | grep -F \"%s\" | grep -Fv grep | awk '{print $2;}' | grep -v PID | head -1", ps_options, 164 g_sz_call_to_buffer); 169 "ps %s | grep -F \"%s\" | grep -Fv grep | awk '{print $2;}' | grep -v PID | head -1", ps_options, g_sz_call_to_buffer); 165 170 mr_free(g_sz_call_to_buffer); 166 171 log_msg(2, "kill_buffer() --- command = %s", command); -
trunk/mondo/src/common/libmondo-filelist.c
r914 r956 62 62 extern int g_noof_rows; 63 63 64 extern char *g_getfacl; 65 extern char *g_getfattr; 64 66 65 67 /** … … 95 97 log_to_screen(_("Dividing filelist into sets. Please wait.")); 96 98 i = 0; 97 /*98 if (find_home_of_exe("getfattr"))99 { i++; log_to_screen ("NEW! Recording extended attributes."); }100 if (find_home_of_exe("getfacl"))101 { i++; log_to_screen ("NEW! Recording ACL information."); }102 if (i)103 { i=0; log_to_screen ("This will take more time. Please be patient."); }104 */105 99 mr_asprintf(&filelist, "%s/archives/filelist.full", bkpinfo->scratchdir); 106 100 if (!does_file_exist(filelist)) { … … 475 469 int retval = 0; 476 470 477 mr_asprintf(&command, "touch %s", facl_fname); 478 run_program_and_log_output(command, 8); 479 mr_free(command); 480 481 tmp = find_home_of_exe("getfacl"); 482 if (tmp) { 483 // sort_file(filelist); // FIXME - filelist chopper sorts, so this isn't necessary 471 if (g_getfacl != NULL) { 472 mr_asprintf(&command, "touch %s", facl_fname); 473 run_program_and_log_output(command, 8); 474 mr_free(command); 475 484 476 mr_asprintf(&command, 485 477 "getfacl --all-effective -P %s 2>> %s | gzip -c1 > %s 2>> %s", … … 489 481 mr_free(command); 490 482 } 491 mr_free(tmp);492 483 return (retval); 493 484 } … … 500 491 int retval = 0; 501 492 502 mr_asprintf(&command, "touch %s", fattr_fname); 503 run_program_and_log_output(command, 8); 504 mr_free(command); 505 506 tmp = find_home_of_exe("getfattr"); 507 if (tmp) { 508 // sort_file(filelist); // FIXME - filelist chopper sorts, so this isn't necessary 493 if (g_getfattr != NULL) { 494 mr_asprintf(&command, "touch %s", fattr_fname); 495 run_program_and_log_output(command, 8); 496 mr_free(command); 497 509 498 retval = 510 499 gen_aux_list(filelist, "getfattr --en=hex -P -d \"%s\"", 511 500 fattr_fname); 512 501 } 513 mr_free(tmp);514 502 return (retval); 515 503 } -
trunk/mondo/src/common/libmondo-stream.c
r900 r956 29 29 extern int g_tape_buffer_size_MB; 30 30 31 extern char *g_getfacl; 32 extern char *g_getfattr; 33 31 34 /** 32 35 * @addtogroup globalGroup … … 346 349 347 350 // xattr 348 res = read_header_block_from_stream(ptmp_size, fname, pctrl_chr); 349 if (*pctrl_chr != BLK_START_EXAT_FILE) { 350 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 351 } 352 if (!strstr(fname, "xattr")) { 353 fatal_error("Wrong order, sunshine."); 351 if (g_getfattr) { 352 res = read_header_block_from_stream(ptmp_size, fname, pctrl_chr); 353 if (*pctrl_chr != BLK_START_EXAT_FILE) { 354 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 355 } 356 if (!strstr(fname, "xattr")) { 357 fatal_error("Wrong order, sunshine."); 358 } 359 read_file_from_stream_to_file(bkpinfo, xattr_fname, *ptmp_size); 360 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 361 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 362 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 363 } 364 log_msg(1, "Got xattr"); 354 365 } 355 366 mr_free(fname); … … 361 372 } 362 373 // acl 363 res = read_header_block_from_stream(ptmp_size, fname, pctrl_chr); 364 if (!strstr(fname, "acl")) { 365 fatal_error("Wrong order, sunshine."); 374 if (g_getfacl) { 375 res = read_header_block_from_stream(ptmp_size, fname, pctrl_chr); 376 if (!strstr(fname, "acl")) { 377 fatal_error("Wrong order, sunshine."); 378 } 379 if (*pctrl_chr != BLK_START_EXAT_FILE) { 380 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 381 } 382 read_file_from_stream_to_file(bkpinfo, acl_fname, *ptmp_size); 383 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 384 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 385 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 386 } 387 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 388 if (*pctrl_chr != BLK_STOP_EXTENDED_ATTRIBUTES) { 389 wrong_marker(BLK_STOP_EXTENDED_ATTRIBUTES, *pctrl_chr); 390 } 391 log_msg(1, "Got acl"); 366 392 } 367 393 mr_free(fname); … … 380 406 } 381 407 // tarball itself 382 res = read_header_block_from_stream(ptmp_size, fname, pctrl_chr); 383 log_msg(1, "Got xattr and acl; now looking for afioball"); 384 tmp_fname = fname; 408 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 409 log_msg(1, "now looking for afioball"); 385 410 return (retval); 386 411 } … … 391 416 { 392 417 int res = 0; 393 // EXATs 394 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 395 BLK_START_EXTENDED_ATTRIBUTES); 418 if (g_getfattr) { 396 419 // xattr 397 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 398 BLK_START_EXAT_FILE); 399 write_file_to_stream_from_file(bkpinfo, xattr_fname); 400 write_header_block_to_stream((off_t)-1, xattr_fname, BLK_STOP_EXAT_FILE); 401 // acl 402 write_header_block_to_stream(length_of_file(acl_fname), acl_fname, 403 BLK_START_EXAT_FILE); 404 write_file_to_stream_from_file(bkpinfo, acl_fname); 405 write_header_block_to_stream((off_t)-1, acl_fname, BLK_STOP_EXAT_FILE); 406 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 407 BLK_STOP_EXTENDED_ATTRIBUTES); 420 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 421 BLK_START_EXTENDED_ATTRIBUTES); 422 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 423 BLK_START_EXAT_FILE); 424 write_file_to_stream_from_file(bkpinfo, xattr_fname); 425 write_header_block_to_stream((off_t)-1, xattr_fname, BLK_STOP_EXAT_FILE); 426 } 427 if (g_getfacl) { 428 // acl 429 write_header_block_to_stream(length_of_file(acl_fname), acl_fname, 430 BLK_START_EXAT_FILE); 431 write_file_to_stream_from_file(bkpinfo, acl_fname); 432 write_header_block_to_stream((off_t)-1, acl_fname, BLK_STOP_EXAT_FILE); 433 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 434 BLK_STOP_EXTENDED_ATTRIBUTES); 435 } 408 436 return (res); 409 437 } -
trunk/mondo/src/common/libmondo-verify.c
r914 r956 32 32 int g_last_afioball_number = -1; 33 33 34 extern char *g_getfacl; 35 extern char *g_getfattr; 34 36 35 37 /** … … 703 705 assert(bkpinfo != NULL); 704 706 705 mr_asprintf(&curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 706 bkpinfo->tmpdir); 707 mr_asprintf(&curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 708 bkpinfo->tmpdir); 707 if (g_getfattr) { 708 mr_asprintf(&curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 709 bkpinfo->tmpdir); 710 } 711 if (g_getfacl) { 712 mr_asprintf(&curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 713 bkpinfo->tmpdir); 714 } 709 715 log_to_screen(_("Verifying regular archives on tape")); 710 716 total_afioballs = get_last_filelist_number(bkpinfo) + 1; … … 733 739 ctrl_chr != BLK_STOP_AFIOBALLS; 734 740 res = read_header_block_from_stream(&size, fname, &ctrl_chr)) { 735 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 736 bkpinfo->tmpdir, current_afioball_number); 737 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 738 bkpinfo->tmpdir, current_afioball_number); 741 if (g_getfattr) { 742 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 743 bkpinfo->tmpdir, current_afioball_number); 744 } 745 if (g_getfacl) { 746 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 747 bkpinfo->tmpdir, current_afioball_number); 748 } 739 749 if (ctrl_chr == BLK_START_EXTENDED_ATTRIBUTES) { 740 750 iamhere("Reading EXAT files from tape"); … … 817 827 assert(bkpinfo != NULL); 818 828 819 mr_asprintf(&curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 820 bkpinfo->tmpdir); 821 mr_asprintf(&curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 822 bkpinfo->tmpdir); 829 if (g_getfattr) { 830 mr_asprintf(&curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 831 bkpinfo->tmpdir); 832 } 833 if (g_getfacl) { 834 mr_asprintf(&curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 835 bkpinfo->tmpdir); 836 } 823 837 mr_asprintf(&comment, "Verifying all bigfiles."); 824 838 log_to_screen(comment); -
trunk/mondo/src/mondoarchive/mondo-cli.c
r914 r956 32 32 bool g_ISO_restore_mode = FALSE; 33 33 34 extern double g_kernel_version; 35 extern int g_current_media_number; 36 extern pid_t g_main_pid; 37 extern char *resolve_softlinks_to_get_to_actual_device_file(char *); 38 39 /* Do we use extended attributes and acl ? 40 * By default no, use --acl & --attr options to force their usage */ 41 char *g_getfacl = NULL; 42 char *g_getfattr = NULL; 34 43 35 44 /** … … 194 203 char *q = NULL; 195 204 196 long itbs ;205 long itbs = 0L; 197 206 198 207 struct stat buf; … … 496 505 if (flag_set['w']) { 497 506 bkpinfo->backup_media_type = cdrw; 507 } 508 if (flag_set['z']) { 509 if (find_home_of_exe("getfattr")) { 510 asprintf(&g_getfattr,"getfattr"); 511 } 512 if (find_home_of_exe("getfacl")) { 513 asprintf(&g_getfacl,"getfacl"); 514 } 498 515 } 499 516 … … 876 893 while ((opt = 877 894 getopt(argc, argv, 878 "0123456789A:B:C:DE:FHI:J:K:LNOP:QRS:T:VWb:c:d:ef:gik:l:mn:op:rs:tuw:x: "))895 "0123456789A:B:C:DE:FHI:J:K:LNOP:QRS:T:VWb:c:d:ef:gik:l:mn:op:rs:tuw:x:z")) 879 896 != -1) { 880 897 if (opt == '?') { -
trunk/mondo/src/mondorestore/mondo-restore.c
r932 r956 127 127 char *ps_options = ""; 128 128 char *ps_proc_id = "$1"; 129 130 extern char *g_getfacl; 131 extern char *g_getfattr; 129 132 130 133 /* @} - end of "Restore-Time Globals" in globalGroup */ … … 1609 1612 1610 1613 if (filelist == NULL || matches > 0) { 1611 mr_asprintf(&xattr_fname, XATTR_LIST_FNAME_RAW_SZ, 1614 if (g_getfattr) { 1615 mr_asprintf(&xattr_fname, XATTR_LIST_FNAME_RAW_SZ, 1612 1616 MNT_CDROM "/archives", current_tarball_number); 1613 mr_asprintf(&acl_fname, ACL_LIST_FNAME_RAW_SZ, MNT_CDROM "/archives", 1617 } 1618 if (g_getfacl) { 1619 mr_asprintf(&acl_fname, ACL_LIST_FNAME_RAW_SZ, MNT_CDROM "/archives", 1614 1620 current_tarball_number); 1621 } 1615 1622 if (strstr(tarball_fname, ".bz2")) { 1616 1623 mr_asprintf(&executable, "bzip2"); … … 1689 1696 } 1690 1697 1691 log_msg(1, "Setting fattr list %s", xattr_fname); 1692 if (length_of_file(xattr_fname) > 0) { 1693 res = set_fattr_list(filelist_subset_fname, xattr_fname); 1694 if (res) { 1695 log_to_screen 1696 (_ 1697 ("Errors occurred while setting extended attributes")); 1698 } else { 1699 log_msg(1, "I set xattr OK"); 1700 } 1701 retval += res; 1702 } 1703 if (length_of_file(acl_fname) > 0) { 1698 if (g_getfattr) { 1699 log_msg(1, "Setting fattr list %s", xattr_fname); 1700 if (length_of_file(xattr_fname) > 0) { 1701 res = set_fattr_list(filelist_subset_fname, xattr_fname); 1702 if (res) { 1703 log_to_screen 1704 ("Errors occurred while setting extended attributes"); 1705 } else { 1706 log_msg(1, "I set xattr OK"); 1707 } 1708 retval += res; 1709 } 1710 } 1711 if (g_getfacl) { 1704 1712 log_msg(1, "Setting acl list %s", acl_fname); 1705 res = set_acl_list(filelist_subset_fname, acl_fname); 1706 if (res) { 1707 log_to_screen 1708 (_ 1709 ("Errors occurred while setting access control lists")); 1710 } else { 1711 log_msg(1, "I set ACL OK"); 1712 } 1713 retval += res; 1713 if (length_of_file(acl_fname) > 0) { 1714 res = set_acl_list(filelist_subset_fname, acl_fname); 1715 if (res) { 1716 log_to_screen 1717 ("Errors occurred while setting access control lists"); 1718 } else { 1719 log_msg(1, "I set ACL OK"); 1720 } 1721 retval += res; 1722 } 1714 1723 } 1715 1724 if (retval) { … … 1888 1897 paranoid_system(command); 1889 1898 1890 iamhere("Restoring xattr, acl stuff"); 1891 res = set_fattr_list(filelist_subset_fname, xattr_fname); 1892 if (res) { 1893 log_msg(1, "Errors occurred while setting xattr"); 1894 } else { 1895 log_msg(1, "I set xattr OK"); 1896 } 1897 retval += res; 1898 1899 res = set_acl_list(filelist_subset_fname, acl_fname); 1900 if (res) { 1901 log_msg(1, "Errors occurred while setting ACL"); 1902 } else { 1903 log_msg(1, "I set ACL OK"); 1904 } 1905 retval += res; 1899 if (g_getfattr) { 1900 iamhere("Restoring xattr stuff"); 1901 res = set_fattr_list(filelist_subset_fname, xattr_fname); 1902 if (res) { 1903 log_msg(1, "Errors occurred while setting xattr"); 1904 } else { 1905 log_msg(1, "I set xattr OK"); 1906 } 1907 retval += res; 1908 } 1909 1910 if (g_getfacl) { 1911 iamhere("Restoring acl stuff"); 1912 res = set_acl_list(filelist_subset_fname, acl_fname); 1913 if (res) { 1914 log_msg(1, "Errors occurred while setting ACL"); 1915 } else { 1916 log_msg(1, "I set ACL OK"); 1917 } 1918 retval += res; 1919 } 1906 1920 1907 1921 } else { … … 2046 2060 if (fbw) { 2047 2061 fclose(fbw); 2048 mr_asprintf(&acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, ARCHIVES_PATH); 2049 mr_asprintf(&xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, ARCHIVES_PATH); 2050 if (length_of_file(acl_fname) > 0) { 2051 set_acl_list(biggies_whose_EXATs_we_should_set, acl_fname); 2052 } 2053 if (length_of_file(xattr_fname) > 0) { 2054 set_fattr_list(biggies_whose_EXATs_we_should_set, xattr_fname); 2062 if (g_getfattr) { 2063 mr_asprintf(&xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, ARCHIVES_PATH); 2064 if (length_of_file(xattr_fname) > 0) { 2065 set_fattr_list(biggies_whose_EXATs_we_should_set, xattr_fname); 2066 } 2067 } 2068 if (g_getfacl) { 2069 mr_asprintf(&acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, ARCHIVES_PATH); 2070 if (length_of_file(acl_fname) > 0) { 2071 set_acl_list(biggies_whose_EXATs_we_should_set, acl_fname); 2072 } 2055 2073 } 2056 2074 mr_free(acl_fname); … … 2266 2284 2267 2285 mr_asprintf(&tmp, "Reassembling large files "); 2268 mr_asprintf(&xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2269 mr_asprintf(&acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2286 if (g_getfattr) { 2287 mr_asprintf(&xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2288 } 2289 if (g_getfacl) { 2290 mr_asprintf(&acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2291 } 2270 2292 mvaddstr_and_log_it(g_currentY, 0, tmp); 2271 2293 mr_free(tmp); … … 2352 2374 if (length_of_file(biggies_whose_EXATs_we_should_set) > 2) { 2353 2375 iamhere("Setting biggie-EXATs"); 2354 if (length_of_file(acl_fname) > 0) { 2355 log_msg(1, "set_acl_list(%s,%s)", 2356 biggies_whose_EXATs_we_should_set, acl_fname); 2357 set_acl_list(biggies_whose_EXATs_we_should_set, acl_fname); 2358 } 2359 if (length_of_file(xattr_fname) > 0) { 2360 log_msg(1, "set_fattr_List(%s,%s)", 2376 if (g_getfattr) { 2377 if (length_of_file(xattr_fname) > 0) { 2378 log_msg(1, "set_fattr_List(%s,%s)", 2361 2379 biggies_whose_EXATs_we_should_set, xattr_fname); 2362 set_fattr_list(biggies_whose_EXATs_we_should_set,2380 set_fattr_list(biggies_whose_EXATs_we_should_set, 2363 2381 xattr_fname); 2382 } 2383 } 2384 if (g_getfacl) { 2385 if (length_of_file(acl_fname) > 0) { 2386 log_msg(1, "set_acl_list(%s,%s)", 2387 biggies_whose_EXATs_we_should_set, acl_fname); 2388 set_acl_list(biggies_whose_EXATs_we_should_set, acl_fname); 2389 } 2364 2390 } 2365 2391 } else { … … 2454 2480 while (ctrl_chr != BLK_STOP_AFIOBALLS) { 2455 2481 update_progress_form(progress_str); 2456 mr_asprintf(&xattr_fname, "%s/xattr-subset-%ld.tmp", bkpinfo->tmpdir, 2482 if (g_getfattr) { 2483 mr_asprintf(&xattr_fname, "%s/xattr-subset-%ld.tmp", bkpinfo->tmpdir, 2457 2484 current_afioball_number); 2458 mr_asprintf(&acl_fname, "%s/acl-subset-%ld.tmp", bkpinfo->tmpdir, 2485 unlink(xattr_fname); 2486 } 2487 if (g_getfacl) { 2488 mr_asprintf(&acl_fname, "%s/acl-subset-%ld.tmp", bkpinfo->tmpdir, 2459 2489 current_afioball_number); 2460 unlink(xattr_fname);2461 unlink(acl_fname);2490 unlink(acl_fname); 2491 } 2462 2492 if (ctrl_chr == BLK_START_EXTENDED_ATTRIBUTES) { 2463 2493 iamhere("Reading EXAT files from tape"); … … 2503 2533 res = 2504 2534 read_header_block_from_stream(&tmp_size, tmp_fname, &ctrl_chr); 2505 unlink(xattr_fname); 2506 unlink(acl_fname); 2535 if (g_getfattr) { 2536 unlink(xattr_fname); 2537 } 2538 if (g_getfacl) { 2539 unlink(acl_fname); 2540 } 2507 2541 mr_free(xattr_fname); 2508 2542 mr_free(acl_fname); -
trunk/mondo/src/mondorestore/mondo-rstr-tools.c
r914 r956 43 43 44 44 extern int g_partition_table_locked_up; 45 46 /* Should we use or not extended attributes and acl when restoring */ 47 char *g_getfattr = NULL; 48 char *g_getfacl = NULL; 45 49 46 50 /** … … 913 917 } 914 918 mr_free(value); 919 920 read_cfg_var(cfg_file, "acl", value); 921 if (strstr(value, "TRUE")) { 922 asprintf(&g_getfacl,"setfacl"); 923 log_msg(1, "We will restore ACLs"); 924 if (! find_home_of_exe("setfacl")) { 925 log_msg(1, "Unable to restore ACLs as no setfacl found"); 926 } 927 } 928 read_cfg_var(cfg_file, "xattr", value); 929 if (strstr(value, "TRUE")) { 930 asprintf(&g_getfattr,"setfattr"); 931 log_msg(1, "We will restore XATTRs"); 932 if (! find_home_of_exe("setfattr")) { 933 log_msg(1, "Unable to restore XATTRs as no setfattr found"); 934 } 935 } 915 936 916 937 if (0 == read_cfg_var(cfg_file, "internal-tape-block-size", value)) {
Note:
See TracChangeset
for help on using the changeset viewer.