Changeset 539 in MondoRescue


Ignore:
Timestamp:
May 13, 2006, 7:38:44 PM (18 years ago)
Author:
bcornec
Message:

merge -r 534:538 $SVN_M/branches/stable

Location:
trunk
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/contrib/backup-kungfu/backup-kungfu

    r354 r539  
    6868function remove_garbage {
    6969    echo -e "Removing the files left from previous mondoarchive run...\n"
    70     rm -rf /root/images
     70    rm -rf /var/cache/mondo
    7171    rm -rf ${backup_dir}/mondo*
    7272    rm -rf ${backup_dir}/tmp*
     
    107107    echo -e "Creating the new backup directory and moving the files there...\n"
    108108    mkdir -p ${backup_dir}/${comp_name}_${date}/images
    109     cp /root/images/mindi/* ${backup_dir}/${comp_name}_${date}/images/
     109    cp /var/cache/mindi/* ${backup_dir}/${comp_name}_${date}/images/
    110110   
    111111    # If you want just move the iso files without renaming them just uncomment the next line
  • trunk/mindi/distributions/conf/mindi.conf

    r489 r539  
    6464#mindi_kernel="/boot/vmlinuz.special"
    6565
     66# TBC
     67
    6668#
    6769# Additinal modules to support
     
    7072mindi_additional_modules=""
    7173
     74# TBC
     75
    7276#
    7377# Boot loader to use
  • trunk/mindi/mindi

    r527 r539  
    7979# TBC
    8080if [ "$mindi_images_dir" == "" ]; then
    81     CACHE_LOC="/var/cache/mindi"
     81    CACHEDIR="/var/cache/mindi"
    8282else
    83     CACHE_LOC="$mindi_images_dir"
     83    CACHEDIR="$mindi_images_dir"
    8484fi
    8585if [ "$mindi_dual_floppies" == "" ]; then
     
    219219Aborted() {
    220220    trap SIGHUP SIGTERM SIGTRAP SIGINT
    221     [ "$imagesdir" != "" ] && rm -f $imagesdir/mindi*img $imagesdir/*gz $imagesdir/mindi.iso
     221    rm -f $CACHEDIR/mindi*img $CACHEDIR/*gz $CACHEDIR/mindi.iso
    222222    [ "$minidir_root" != "" ] && rm -Rf $minidir_root/*
    223223    Die "User abort."
     
    510510    if [ "$?" -ne "0" ] ; then
    511511    umount $mountpoint
    512     Die "Tarball $tarball is too big for disk! (CODI)\nTell Hugo to adjust MAX_COMPRESSED_SIZE"
     512    Die "Tarball $tarball is too big for disk! (CODI)\nTell dev team to adjust MAX_COMPRESSED_SIZE"
    513513    fi
    514514    [ "$diskno" -eq "$noof_disks" ] && echo "This is the last disk ($diskno=$noof_disks)" >> $mountpoint/LAST-DISK
     
    684684    echo "MINDI_CONF = $MINDI_CONF" >> $LOGFILE
    685685    echo "MONDO_SHARE = $MONDO_SHARE" >> $LOGFILE
    686     mkdir -p $CACHE_LOC
     686    mkdir -p $CACHEDIR
    687687}
    688688
     
    16261626
    16271627
    1628 OfferToCopyImagesToDisks() {
    1629     local imagesdir i imagename dev count boot_dev data_dev
    1630     imagesdir=$1
    1631     boot_dev=$2
    1632     data_dev=$3
    1633     echo -en "Would you like to create boot+data floppy disks now (y/n) ?"
    1634     read i
    1635     [ "$i" != "y" ] && [ "$i" != "Y" ] && return
    1636     mount | fgrep /dev/fd > /dev/null && Die "Please unmount your floppies first."
    1637     echo "WARNING! THIS WILL ERASE YOUR FLOPPY DISKS."
    1638     [ ! -e "$boot_dev" ] && Die "Cannot find $boot_dev - is your Linux distro broken?"
    1639     [ ! -e "$data_dev" ] && Die "Cannot find $data_dev - is your Linux distro broken?"
    1640     i=`find $imagesdir -type f | fgrep "/mindi-root.1" 2> /dev/null`
    1641     j=`find $imagesdir -type f | fgrep "/mindi-boot" | egrep -v '2880|5760'`
    1642 #    echo "i=$i"
    1643 #    echo "j=$j"
    1644     if [ "$i" ] ; then
    1645         CopyImageToDisk $j $data_dev "boot disk"
    1646         CopyImageToDisk $i $data_dev "root disk"
    1647     else
    1648         CopyImageToDisk $j $boot_dev "boot/root disk"
    1649     fi
    1650     count=1
    1651     for i in `find $imagesdir | fgrep mindi-data` ; do
    1652         CopyImageToDisk $i $data_dev "data disk #$count"
    1653         count=$(($count+1))
    1654     done
    1655 }
    1656 
    16571628
    16581629
     
    16881659    cp $kernelpath $TMP_ROOT/iso/isolinux/vmlinuz || Die "Cannot copy vmlinuz ($kernelpath) to mondo root ($MONDO_ROOT/isolinux/vmlinuz). Did you run out of disk space?"
    16891660    cp $TMP_ROOT/mindi.rdz $TMP_ROOT/iso/isolinux/initrd.img
    1690     cp $TMP_ROOT/mindi.rdz $imagesdir/initrd.img
     1661    cp $TMP_ROOT/mindi.rdz $CACHEDIR/initrd.img
    16911662    [ -e "$iso_cfg_file" ] || Die "FIXME - unable to find $iso_cfg_file - this should never occur"
    16921663    cd $TMP_ROOT/iso/isolinux
     
    17091680    fi
    17101681    if [ "$ARCH" != "ia64" ] ; then
    1711         mkisofs -U -J -r -o $imagesdir/mindi.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . > /dev/null 2> /tmp/$$.mk
    1712     else
    1713         mkisofs -J -r -o $imagesdir/mindi.iso -b images/mindi-bootroot.$IA64_BOOT_SIZE.img -c isolinux/boot.cat -no-emul-boot . > /dev/null 2> /tmp/$$.mk
     1682        mkisofs -U -J -r -o $CACHEDIR/mindi.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . > /dev/null 2> /tmp/$$.mk
     1683    else
     1684        mkisofs -J -r -o $CACHEDIR/mindi.iso -b images/mindi-bootroot.$IA64_BOOT_SIZE.img -c isolinux/boot.cat -no-emul-boot . > /dev/null 2> /tmp/$$.mk
    17141685    fi
    17151686    if [ "$?" -ne "0" ] ; then
     
    17201691    LogIt "Failed to create ISO image.\n"
    17211692    else
    1722     echo "Created bootable ISO image at $imagesdir/mindi.iso" >> $LOGFILE
     1693    echo "Created bootable ISO image at $CACHEDIR/mindi.iso" >> $LOGFILE
    17231694    fi
    17241695    rm -f /tmp/$$.mk
     
    21742145    [ "$retval" -ne "0" ] && LogIt "PrepareBootDiskImage() is returning nonzero\n"
    21752146    return $retval
    2176 }
    2177 
    2178 
    2179 
    2180 
    2181 PrepareDataDiskImages() {
    2182     local needlist bigdir minidir_root tardir diskdir imagesdir res i j k old_pwd lines
    2183 
    2184     imagesdir=$1
    2185     rm -f $imagesdir/mindi-*.img $imagesdir/[0-9]*.tar.gz $imagesdir/mindi.iso
    2186     needlist=$TMP_ROOT/what-we-need.txt
    2187     bigdir=$TMP_ROOT/bigdir
    2188     minidir_root=$TMP_ROOT/minidir
    2189     mkdir -p $minidir_root
    2190     mkdir -p $bigdir/usr/bin
    2191     tardir=$TMP_ROOT/tardir
    2192 
    2193     lines=`grep -vx " *#.*" $MINDI_CONF/deplist.txt $DEPLIST_DIR/* | grep -vx "" | wc -l`
    2194     cat $MINDI_CONF/deplist.txt $DEPLIST_DIR/* | GenerateGiantDependencyList $needlist $lines
    2195     res=$?
    2196     if [ "$YOUR_KERNEL_SUCKS" ]; then
    2197     pwd=`pwd`
    2198     cd $TMP_ROOT
    2199         for i in `ListKernelModulePaths | HackPathsToFailsafe` ; do
    2200         cp --parents -pRdf ./$i $bigdir || Die "PDDI can't cp $i->$bigdir"
    2201         if [ "`du -sk $i | cut -f1`" -lt "$(($CHOPSIZE*2))" ] ; then
    2202         cp --parents -pRdf $i $bigdir
    2203         else
    2204         ChopUpAndCopyFile $i $bigdir $CHOPSIZE $BIGNO
    2205         BIGNO=$(($BIGNO+1))
    2206         fi
    2207     done
    2208     for i in $EXTRA_MODS ; do
    2209         j=`find lib/modules/$FAILSAFE_KVER -name $i.*o 2> /dev/null`
    2210         [ ! "$j" ] && echo "Warning - cannot find failsafe module $i.o" >> $LOGFILE
    2211         for k in $j ; do
    2212         if [ "`du -sk $k | cut -f1`" -lt "$CHOPSIZE" ] ; then
    2213             cp --parents -pRdf $k $bigdir
    2214         else
    2215             ChopUpAndCopyFile $k $bigdir $CHOPSIZE $BIGNO
    2216             BIGNO=$(($BIGNO+1))
    2217         fi
    2218         echo "Added failsafe module $k to ramdisk" >> $LOGFILE
    2219         done
    2220     done
    2221     cd $pwd
    2222     else
    2223     ListKernelModulePaths >> $needlist
    2224     fi
    2225     if [ "$res" -ne "0" ] ; then
    2226         Die "You have $res file`PluralOrNot $res` present in dependency list\nbut absent from filesystem."
    2227     fi
    2228     FindAndAddUserKeyboardMappingFile
    2229     mkdir -p $bigdir/tmp
    2230     if [ "`DidMondoCallMe`" ] ; then
    2231         MakeMondoConfigFile $TMP_ROOT/mondo-restore.cfg
    2232         cp -f $TMP_ROOT/mondo-restore.cfg $bigdir/tmp &> /dev/null
    2233         cp -f $TMP_ROOT/mondo-restore.cfg $CACHE_LOC &> /dev/null
    2234     fi
    2235     [ -d "/mnt/.boot.d" ] && echo "Oh Jebus" > $bigdir/tmp/DUMBASS-GENTOO
    2236     DropOptimizedLibraries $needlist $bigdir
    2237     echo -en "Assembling dependency files"
    2238     CopyDependenciesToDirectory < $needlist $bigdir
    2239 
    2240 # also copy io.sys and msdos.sys, if we can find them
    2241     for i in `mount | cut -d' ' -f3` ; do
    2242     for j in io.sys msdos.sys ; do
    2243         [ -e "$i/$j" ] && cp -f $i/$j $bigdir
    2244     done
    2245     done
    2246 
    2247 # master boot record, too
    2248     i=`cat $MONDO_TMP/BOOTLOADER.DEVICE 2> /dev/null`
    2249     if [ "$i" ] ; then
    2250     LogIt "Backing up $i's MBR\n"
    2251     dd if=$i of=$bigdir/BOOTLOADER.MBR bs=446 count=1 >> $LOGFILE 2>> $LOGFILE
    2252 # < < E O F
    2253     sleep 1
    2254     sync
    2255 #        [ "$?" -ne "0" ] && echo "Failed to save $i's MBR to bigdir" >> $LOGFILE
    2256     j=$i
    2257     [ -h "$j" ] && j=`ResolveSoftlink $j`
    2258     LogIt "Creating /dev/boot_device ($j)\n"
    2259     mkdir -p $bigdir/dev
    2260     cp -pRdf $j $bigdir/dev/boot_device || Die "Unable to create /dev/boot_device on ramdisk"
    2261     fi
    2262 
    2263 # more stuff
    2264 #    cp -f $MINDI_LIB/embleer* $bigdir
    2265     old_pwd=`pwd`
    2266     cd $bigdir
    2267 
    2268     [ -e "$MINDI_LIB/aux-tools" ] || Die "aux-tools not found in Mindi's home dir. Do you have multiple copies of Mindi lying around? Please delete them. No, don't e-mail me and ask how. ;) Use 'rm'."
    2269     cp -Rdf $MINDI_LIB/aux-tools/* . 2>> $LOGFILE || LogIt "Warning - error occurred while unzipping aux-tools\n"
    2270     if [ -e "$MINDI_LIB/x11-tools.tgz" ] ; then
    2271     tar -zxf $MINDI_LIB/x11-tools.tgz 2>> $LOGFILE || LogIt "Warning - error occurred while unzipping x11-tools.tgz\n"
    2272     fi
    2273     if [ -e "$MONDO_SHARE/restore-scripts" ] ; then
    2274         cp -Rdf $MONDO_SHARE/restore-scripts/* . 2>> $LOGFILE
    2275         [ "$?" -ne "0" ] && [ "`DidMondoCallMe`" ] && Die "Cannot find/install $MONDO_SHARE/restore-scripts"
    2276     fi
    2277     [ -d "/lib/dev-state" ] && cp --parents -pRdf /lib/dev-state .
    2278     cd $old_pwd
    2279     echo -e "$DONE"
    2280     TOTAL_BIGDIR_SIZE=`du -sk $bigdir | cut -f1`
    2281     SplitDirectoryIntoMinidirs $bigdir $minidir_root
    2282     noof_disks=$?
    2283     [ "$noof_disks" -eq "0" ] && Die "Too much stuff!"
    2284     MakeMountlist $TMP_ROOT/mountlist.txt
    2285     mkdir -p $minidir_root/$noof_disks/tmp
    2286     cp -f $TMP_ROOT/mountlist.txt $minidir_root/$noof_disks/tmp/mountlist.txt || Die "Cannot copy mountlist.txt from $TMP_ROOT to data disk"
    2287     cp -f $TMP_ROOT/mountlist.txt $CACHE_LOC
    2288     [ "`DidMondoCallMe`" ] && cp -f $minidir_root/$noof_disks/tmp/mountlist.txt $MONDO_TMP/.
    2289     [ -d "/proc/lvm" ] && $MINDI_SBIN/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm
    2290     [ -d "/dev/mapper" ] && $MINDI_SBIN/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm
    2291     cat $minidir_root/$noof_disks/tmp/mountlist.txt >> $LOGFILE
    2292     ZipMinidirsIntoTarballs $minidir_root $tardir $noof_disks
    2293     CreateDataDiskImagesFromTarballs $tardir $imagesdir $noof_disks
    2294     FRIENDLY_OUTSTRING="Boot and data disk images were created."
    2295 # One 1.72MB boot disk, one 2.88MB boot disk and $noof_disks data disk images
    2296     rmdir $tardir $bigdir
    2297     rm -f $needlist
    2298     return $noof_disks
    22992147}
    23002148
     
    29252773    while [ "$diskno" -le "$noof_disks" ] ; do
    29262774        cd $minidir_root/$diskno || LogIt "Warning - cannot cd to $minidir_root/$diskno\n"
    2927         tar -cf - . 2>> $LOGFILE | gzip -9 > $tardir/$diskno.tar.gz || Die "Can't tar/gzip disk#$diskno; please tell Hugo -exactly- what the errors where."
     2775        tar -cf - . 2>> $LOGFILE | gzip -9 > $tardir/$diskno.tar.gz || Die "Can't tar/gzip disk#$diskno; please tell dev team -exactly- what the errors where."
    29282776        diskno=$(($diskno+1))
    29292777        echo -n "..."
     
    29752823if [ "$1" = "-V" ] || [ "$1" = "-v" ] || [ "$1" = "--version" ] || [ "$1" = "-version" ] ; then
    29762824    echo "mindi v$MINDI_VERSION"
     2825    exit 0
     2826fi
     2827
     2828if [ "$1" = "-printvar" ] ; then
     2829    shift
     2830    if [ _"$1" != _"" ] ; then
     2831        set | egrep "^$1" | cut -d= -f2
     2832    fi
    29772833    exit 0
    29782834fi
     
    30262882BIGNO=0
    30272883MAX_COMPRESSED_SIZE=1300
    3028 imagesdir=/root/images/mindi
    3029 mkdir -p $imagesdir
     2884imagesdir=$CACHEDIR
    30302885kernelpath=""
    30312886MONDO_ROOT=/tmp/mindilinux/mondo-root
     
    30622917        exit $?
    30632918    elif [ "$1" = " --version" ] || [ "$1" = "-v" ] ; then
    3064     echo "Mindi v$MINDI_VERSION"
     2919        echo "Mindi v$MINDI_VERSION"
    30652920        exit 0
    30662921    elif [ "$#" -ge "9" ] && [ "$1" = "--custom" ] ; then
    3067     TMP_ROOT=$2
    3068     MONDO_TMP=$2
    3069     imagesdir=$3
    3070     kernelpath=$4; [ "$kernelpath" = "(null)" ] && kernelpath=""
     2922        TMP_ROOT=$2
     2923        MONDO_TMP=$2
     2924        imagesdir=$3
     2925        kernelpath=$4; [ "$kernelpath" = "(null)" ] && kernelpath=""
    30712926###
    30722927### Sq-Modification...
     
    30752930###
    30762931        kernelname=`echo $kernelpath | cut -d'-' -f2-`
    3077     LogIt "kernelname = $kernelname\n"
    3078     LogIt "kernelpath = $kernelpath\n"
     2932        LogIt "kernelname = $kernelname\n"
     2933        LogIt "kernelpath = $kernelpath\n"
    30792934        if [ ! -d "/lib/modules/$kernelname" ] && [ "$kernelpath" != "FAILSAFE" ]
    30802935        then
     
    30882943### end of Sq-Modification
    30892944###
    3090     TAPEDEV=$5
    3091     TAPESIZE=$6
    3092     FILES_IN_FILELIST=$7
    3093     USE_LZO=$8
    3094     CDRECOVERY=$9
     2945        TAPEDEV=$5
     2946        TAPESIZE=$6
     2947        FILES_IN_FILELIST=$7
     2948        USE_LZO=$8
     2949        CDRECOVERY=$9
    30952950        if [ "${10}" = "(null)" ] || [ "${10}" = "" ] ; then
    30962951            IMAGE_DEVS=""
     
    30982953            IMAGE_DEVS="`echo "${10}" | tr '|' ' '`"
    30992954        fi
    3100     if [ "${11}" ] ; then
    3101         LILO_OPTIONS=""
     2955        if [ "${11}" ] ; then
     2956            LILO_OPTIONS=""
    31022957#       LogIt "LILO will use conservative settings, to be compatible with older BIOSes."
    3103     fi
    3104     LAST_FILELIST_NUMBER=${12}
     2958        fi
     2959        LAST_FILELIST_NUMBER=${12}
    31052960        ESTIMATED_TOTAL_NOOF_SLICES=${13}
    31062961        EXCLUDE_DEVS="${14}"
    31072962        USE_COMP="${15}"
    31082963        USE_LILO="${16}"
    3109     USE_STAR="${17}"
    3110     INTERNAL_TAPE_BLOCK_SIZE="${18}"
     2964        USE_STAR="${17}"
     2965        INTERNAL_TAPE_BLOCK_SIZE="${18}"
    31112966        DIFFERENTIAL="${19}"
    31122967        NOT_BOOT="${20}"
    31132968        [ "$USE_COMP" = "" ] && USE_COMP=yes
    31142969        [ "$NOT_BOOT" = "" ] && NOT_BOOT=no
    3115     [ "$TAPEDEV" ] && LogIt "This is a tape-based backup. Fine.\n"
    3116     [ "$kernelpath" = "" ] && kernelpath=`TryToFindKernelPath`
     2970        [ "$TAPEDEV" ] && LogIt "This is a tape-based backup. Fine.\n"
     2971        [ "$kernelpath" = "" ] && kernelpath=`TryToFindKernelPath`
    31172972        kernelname=`echo $kernelpath | cut -d'-' -f2-`
    31182973        if [ ! -d "/lib/modules/$kernelname" ] && [ "$kernelpath" != "FAILSAFE" ]
     
    31242979           LogIt "Using modules for kernel: ${kernelname}\n"
    31252980        fi
    3126     [ "$CDRECOVERY" = "yes" ] && [ "$TAPEDEV" != "" ] && Die "Sorry, you can't use --cd-recovery and --write-tapes at the same time"
     2981        [ "$CDRECOVERY" = "yes" ] && [ "$TAPEDEV" != "" ] && Die "Sorry, you can't use --cd-recovery and --write-tapes at the same time"
    31272982        MONDO_ROOT=`echo $imagesdir | sed 's/\(.*\)\/.*/\1/'`
    3128     [ "$MONDO_ROOT" = "" ] && Die "MONDO_ROOT is undefined"
    3129     else
    3130     echo "Syntax: mindi (--custom ....)" >> /dev/stderr
    3131     exit 1
     2983        [ "$MONDO_ROOT" = "" ] && Die "MONDO_ROOT is undefined"
     2984    else
     2985        echo "Syntax: mindi (--custom ....)" >> /dev/stderr
     2986        exit 1
    31322987    fi
    31332988fi
     
    31432998
    31442999
    3145 
    3146 
    3147 #ReplaceIndividualLine /tmp/init `grep -n "#WHOLIVESINAPINEAPPLEUNDERTHESEA#" /tmp/init | cut -d':' -f1` "$RUN_AFTER_INITIAL_BOOT_PHASE"
    3148 #exit 0
    3149 
    3150 
    3151 #ListKernelModules
    3152 #exit 0
    3153 
    3154 
    3155 
    3156 
    31573000[ -e "$iso_cfg_file" ] || Die "Cannot find $iso_cfg_file"
    31583001rm -Rf $TMP_ROOT/mindilinux/*
    31593002TMP_ROOT=$TMP_ROOT/mindilinux/$$
    31603003mkdir -p $TMP_ROOT
    3161 mkdir -p $imagesdir
    31623004if [ ! "`DidMondoCallMe`" ] ; then
    31633005    LogIt "Mindi Linux mini-distro generator v$MINDI_VERSION\n"
    3164     LogIt "Latest Mindi is available from http://mondorescue.berlios.de\n"
     3006    LogIt "Latest Mindi is available from http://www.mondorescue.org\n"
    31653007    LogIt "BusyBox sources are available from http://www.busybox.net\n"
    31663008    LogIt "------------------------------------------------------------------------------"
     
    32043046    fi
    32053047    if [ "$USE_OWN_KERNEL" = "yes" ]; then
    3206     YOUR_KERNEL_SUCKS=""
    3207     kernelpath=`TryToFindKernelPath`
    3208     if [ "$kernelpath" = "" ] ; then
    3209         echo -n "Please enter kernel path : "
    3210         read kernelpath
    3211     fi
    3212     else
    3213     YOUR_KERNEL_SUCKS="That's why you're using mine, dude. :-)"
     3048        YOUR_KERNEL_SUCKS=""
     3049        kernelpath=`TryToFindKernelPath`
     3050        if [ "$kernelpath" = "" ] ; then
     3051            echo -n "Please enter kernel path : "
     3052            read kernelpath
     3053        fi
     3054    else
     3055        YOUR_KERNEL_SUCKS="That's why you're using mine, dude. :-)"
    32143056    fi
    32153057fi
     
    32403082[ "$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."
    32413083
    3242 rm -f /root/images/mindi/{*img,*gz,*iso}
    3243 
    3244 PrepareDataDiskImages $imagesdir
     3084rm -f $CACHEDIR/{*img,*gz,*iso}
     3085
     3086rm -f $imagesdir/mindi-*.img $imagesdir/[0-9]*.tar.gz $imagesdir/mindi.iso
     3087needlist=$TMP_ROOT/what-we-need.txt
     3088bigdir=$TMP_ROOT/bigdir
     3089minidir_root=$TMP_ROOT/minidir
     3090mkdir -p $minidir_root
     3091mkdir -p $bigdir/usr/bin
     3092tardir=$TMP_ROOT/tardir
     3093
     3094lines=`grep -vx " *#.*" $MINDI_CONF/deplist.txt $DEPLIST_DIR/* | grep -vx "" | wc -l`
     3095cat $MINDI_CONF/deplist.txt $DEPLIST_DIR/* | GenerateGiantDependencyList $needlist $lines
     3096res=$?
     3097if [ "$YOUR_KERNEL_SUCKS" ]; then
     3098    pwd=`pwd`
     3099    cd $TMP_ROOT
     3100    for i in `ListKernelModulePaths | HackPathsToFailsafe` ; do
     3101        cp --parents -pRdf ./$i $bigdir || Die "PDDI can't cp $i->$bigdir"
     3102        if [ "`du -sk $i | cut -f1`" -lt "$(($CHOPSIZE*2))" ] ; then
     3103            cp --parents -pRdf $i $bigdir
     3104        else
     3105            ChopUpAndCopyFile $i $bigdir $CHOPSIZE $BIGNO
     3106            BIGNO=$(($BIGNO+1))
     3107        fi
     3108    done
     3109    for i in $EXTRA_MODS ; do
     3110        j=`find lib/modules/$FAILSAFE_KVER -name $i.*o 2> /dev/null`
     3111        [ ! "$j" ] && echo "Warning - cannot find failsafe module $i.o" >> $LOGFILE
     3112        for k in $j ; do
     3113            if [ "`du -sk $k | cut -f1`" -lt "$CHOPSIZE" ] ; then
     3114                    cp --parents -pRdf $k $bigdir
     3115        else
     3116                ChopUpAndCopyFile $k $bigdir $CHOPSIZE $BIGNO
     3117                BIGNO=$(($BIGNO+1))
     3118            fi
     3119            echo "Added failsafe module $k to ramdisk" >> $LOGFILE
     3120        done
     3121    done
     3122    cd $pwd
     3123else
     3124    ListKernelModulePaths >> $needlist
     3125fi
     3126if [ "$res" -ne "0" ] ; then
     3127    Die "You have $res file`PluralOrNot $res` present in dependency list\nbut absent from filesystem."
     3128fi
     3129FindAndAddUserKeyboardMappingFile
     3130mkdir -p $bigdir/tmp
     3131if [ "`DidMondoCallMe`" ] ; then
     3132    MakeMondoConfigFile $TMP_ROOT/mondo-restore.cfg
     3133    cp -f $TMP_ROOT/mondo-restore.cfg $bigdir/tmp &> /dev/null
     3134    cp -f $TMP_ROOT/mondo-restore.cfg $CACHEDIR &> /dev/null
     3135fi
     3136[ -d "/mnt/.boot.d" ] && echo "Oh Jebus" > $bigdir/tmp/DUMBASS-GENTOO
     3137DropOptimizedLibraries $needlist $bigdir
     3138echo -en "Assembling dependency files"
     3139CopyDependenciesToDirectory < $needlist $bigdir
     3140
     3141# also copy io.sys and msdos.sys, if we can find them
     3142for i in `mount | cut -d' ' -f3` ; do
     3143    for j in io.sys msdos.sys ; do
     3144        [ -e "$i/$j" ] && cp -f $i/$j $bigdir
     3145    done
     3146done
     3147
     3148# master boot record, too
     3149i=`cat $MONDO_TMP/BOOTLOADER.DEVICE 2> /dev/null`
     3150if [ "$i" ] ; then
     3151    LogIt "Backing up $i's MBR\n"
     3152    dd if=$i of=$bigdir/BOOTLOADER.MBR bs=446 count=1 >> $LOGFILE 2>> $LOGFILE
     3153# < < E O F
     3154    sleep 1
     3155    sync
     3156#        [ "$?" -ne "0" ] && echo "Failed to save $i's MBR to bigdir" >> $LOGFILE
     3157    j=$i
     3158    [ -h "$j" ] && j=`ResolveSoftlink $j`
     3159    LogIt "Creating /dev/boot_device ($j)\n"
     3160    mkdir -p $bigdir/dev
     3161    cp -pRdf $j $bigdir/dev/boot_device || Die "Unable to create /dev/boot_device on ramdisk"
     3162fi
     3163
     3164# more stuff
     3165#    cp -f $MINDI_LIB/embleer* $bigdir
     3166old_pwd=`pwd`
     3167cd $bigdir
     3168
     3169[ -e "$MINDI_LIB/aux-tools" ] || Die "aux-tools not found in Mindi's home dir. Do you have multiple copies of Mindi lying around? Please delete them. No, don't e-mail me and ask how. ;) Use 'rm'."
     3170cp -Rdf $MINDI_LIB/aux-tools/* . 2>> $LOGFILE || LogIt "Warning - error occurred while unzipping aux-tools\n"
     3171if [ -e "$MINDI_LIB/x11-tools.tgz" ] ; then
     3172    tar -zxf $MINDI_LIB/x11-tools.tgz 2>> $LOGFILE || LogIt "Warning - error occurred while unzipping x11-tools.tgz\n"
     3173fi
     3174if [ -e "$MONDO_SHARE/restore-scripts" ] ; then
     3175    cp -Rdf $MONDO_SHARE/restore-scripts/* . 2>> $LOGFILE
     3176    [ "$?" -ne "0" ] && [ "`DidMondoCallMe`" ] && Die "Cannot find/install $MONDO_SHARE/restore-scripts"
     3177fi
     3178[ -d "/lib/dev-state" ] && cp --parents -pRdf /lib/dev-state .
     3179cd $old_pwd
     3180echo -e "$DONE"
     3181TOTAL_BIGDIR_SIZE=`du -sk $bigdir | cut -f1`
     3182SplitDirectoryIntoMinidirs $bigdir $minidir_root
    32453183noof_disks=$?
     3184[ "$noof_disks" -eq "0" ] && Die "Too much stuff!"
     3185MakeMountlist $TMP_ROOT/mountlist.txt
     3186mkdir -p $minidir_root/$noof_disks/tmp
     3187cp -f $TMP_ROOT/mountlist.txt $minidir_root/$noof_disks/tmp/mountlist.txt || Die "Cannot copy mountlist.txt from $TMP_ROOT to data disk"
     3188cp -f $TMP_ROOT/mountlist.txt $CACHEDIR
     3189[ "`DidMondoCallMe`" ] && cp -f $minidir_root/$noof_disks/tmp/mountlist.txt $MONDO_TMP/.
     3190[ -d "/proc/lvm" ] && $MINDI_SBIN/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm
     3191[ -d "/dev/mapper" ] && $MINDI_SBIN/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm
     3192cat $minidir_root/$noof_disks/tmp/mountlist.txt >> $LOGFILE
     3193ZipMinidirsIntoTarballs $minidir_root $tardir $noof_disks
     3194CreateDataDiskImagesFromTarballs $tardir $imagesdir $noof_disks
     3195FRIENDLY_OUTSTRING="Boot and data disk images were created."
     3196# One 1.72MB boot disk, one 2.88MB boot disk and $noof_disks data disk images
     3197rmdir $tardir $bigdir
     3198rm -f $needlist
     3199#return $noof_disks
     3200
    32463201ramdisk_size=$(($size_of_all_tools+$EXTRA_SPACE))
    32473202rds=$(($ramdisk_size-$((ramdisk_size%4096))))
     
    32883243    [ ! -e "$boot_dev" ] && mknod $boot_dev b 2 60
    32893244    [ ! -e "$boot_dev" ] && boot_dev=/dev/fd0H1722
    3290     [ ! -e "$boot_dev" ] && Die "Oh Lord, will you PLEASE tell the vendor to create the 1.72MB devices in /dev?"
     3245    [ ! -e "$boot_dev" ] && Die "Will you PLEASE tell your distribution maker to create the 1.72MB devices in /dev?"
    32913246    if [ "$PROMPT_WRITE_BOOT_FLOPPIES" = "yes" ]; then
    3292         OfferToCopyImagesToDisks $imagesdir $boot_dev $FDDEVICE
     3247        echo -en "Would you like to create boot+data floppy disks now (y/n) ?"
     3248        read i
     3249        [ "$i" != "y" ] && [ "$i" != "Y" ] && return
     3250        mount | fgrep /dev/fd > /dev/null && Die "Please unmount your floppies first."
     3251        echo "WARNING! THIS WILL ERASE YOUR FLOPPY DISKS."
     3252        [ ! -e "$boot_dev" ] && Die "Cannot find $boot_dev - is your Linux distro broken?"
     3253        [ ! -e "$FDDEVICE" ] && Die "Cannot find $FDDEVICE - is your Linux distro broken?"
     3254        i=`find $imagesdir -type f | fgrep "/mindi-root.1" 2> /dev/null`
     3255        j=`find $imagesdir -type f | fgrep "/mindi-boot" | egrep -v '2880|5760'`
     3256        if [ "$i" ] ; then
     3257            CopyImageToDisk $j $FDDEVICE "boot disk"
     3258            CopyImageToDisk $i $FDDEVICE "root disk"
     3259        else
     3260            CopyImageToDisk $j $boot_dev "boot/root disk"
     3261        fi
     3262        count=1
     3263        for i in `find $imagesdir | fgrep mindi-data` ; do
     3264            CopyImageToDisk $i $FDDEVICE "data disk #$count"
     3265            count=$(($count+1))
     3266        done
    32933267    fi
    32943268    OfferToMakeBootableISO $imagesdir
    32953269    LogIt "Finished.\n"
    32963270elif [ "$TAPEDEV" ] ; then
    3297     mkdir -p /root/images/mindi
    3298     rm -f /root/images/mindi/{*img,*gz,*iso}
     3271    rm -f $CACHEDIR/{*img,*gz,*iso}
    32993272    OfferToMakeBootableISO $imagesdir
    33003273    if [ -e "$imagesdir/all.tar.gz" ] ; then
     
    33053278else
    33063279    OfferToMakeBootableISO $imagesdir
    3307 fi
    3308 if [ "$imagesdir" != "/root/images/mindi" ] ; then
    3309     for i in `find $imagesdir -maxdepth 1 -name "*.iso" -o -name "*.img"` ; do
    3310     cp -f $i /root/images/mindi || LogIt "[line 3260] Cannot copy $i to /root/images/mindi\n"
    3311     done
    33123280fi
    33133281[ "$TMP_ROOT" != "/tmp" ] && rm -Rf $TMP_ROOT
  • trunk/mondo/distributions/conf/mondo.conf

    r537 r539  
    1313# as they will be generated by mondoarchive
    1414#
    15 iso_creation_cmd="/usr/bin/mkisofs"
     15mondo_iso_creation_cmd="/usr/bin/mkisofs"
    1616#iso_creation_cmd="/usr/bin/growisofs"
    1717
     
    2020# do not specify the -o, -c or the -b options, nor the directory to backup
    2121#
    22 iso_creation_options="-J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_"
     22mondo_iso_creation_options="-J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_"
    2323#iso_creation_options="-use-the-force-luke -v  -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_"
    2424
     
    2626# ISO Burning CLI command to use
    2727#
    28 iso_burning_cmd="/usr/bin/cdrecord"
     28mondo_iso_burning_cmd="/usr/bin/cdrecord"
    2929
    3030#
    3131#  ISO Burning CLI command options
    32 iso_burning_options="-eject dev=%s speed=%d fs=24m driveropts=burnfree"
     32mondo_iso_burning_options="-eject dev=%s speed=%d fs=24m driveropts=burnfree"
    3333
    3434#
    3535# ISO Burning Speed (optional)
    3636#
    37 #iso_burning_speed=1
     37#mondo_iso_burning_speed=1
    3838
    3939#
     
    4242# Use 4380 for DVDs, 650 or 700 for CDs
    4343#
    44 media_size=4380
     44mondo_media_size=4380
    4545
    4646#
     
    4949# Use /dev/hdc, /dev/sr0, /dev/st0, ATAPI:0,0,0, ...
    5050#
    51 media_device="/dev/hdc"
     51mondo_media_device="/dev/hdc"
    5252
    5353#
    5454# Is the CD tray manual ? (yes|no)
    5555#
    56 manual_tray=no
     56mondo_manual_tray=no
    5757
    5858#
    5959# Default log level
    6060#
    61 log_level=4
     61mondo_log_level=4
    6262
    6363#
    6464# default prefix for ISO names
    6565#
    66 prefix=mondorescue
     66mondo_prefix=mondorescue
    6767
    6868#
    6969# External tape blocksize
    7070#
    71 external_tape_blocksize=131072
     71mondo_external_tape_blocksize=131072
    7272
    7373#
    7474# Internal tape blocksize
    7575#
    76 internal_tape_blocksize=8192
     76mondo_internal_tape_blocksize=8192
    7777
    7878#
    7979# Size of the slices for biggiefiles
    8080#
    81 slice_size=4096
     81mondo_slice_size=4096
    8282
    8383#
    8484# deplist file used
    8585#
    86 deplist_file="/etc/mondorescue/deplist.txt"
     86mondo_deplist_file="/etc/mondo/deplist.txt"
    8787
    8888#
    8989# Write boot floppies (yes|no) ?
    9090#
    91 write_boot_floppy=no
     91mondo_write_boot_floppy=no
    9292
    9393#
    94 # Write mindi CD (yes|no) ?
     94# Create mindi CD (yes|no) ?
    9595#
    96 write_mindi_cd=no
     96mondo_create_mindi_cd=no
    9797
    9898#
    9999# Kernel to use (NATIVE|FAILSAFE|PATH TO THE KERNEL)
    100100#
    101 mondorescue_kernel="NATIVE"
     101mondo_kernel="NATIVE"
    102102#mondorescue_kernel="/boot/vmlinuz.special"
    103103
    104104#
    105 # Additinal modules to support
     105# Additional modules to support
    106106# (white space separated list of modules)
    107107#
    108 additional_modules=""
     108mondo_additional_modules=""
    109109
    110110#
     
    112112# (GRUB|ELILO|LILO|RAW|NATIVE)
    113113#
    114 boot_loader=NATIVE
     114mondo_boot_loader=NATIVE
    115115
    116116#
    117117# Differential backup or full (yes|no)
    118118#
    119 differential=no
     119mondo_differential=no
    120120
    121121#
    122122# Default compression tool
    123123#
    124 compression_tool="/usr/bin/bzip2"
     124mondo_compression_tool="/usr/bin/bzip2"
    125125
    126126#
    127127# Default compression level
    128128#
    129 compression_level=3
     129mondo_compression_level=3
    130130
    131131#
     
    133133# (white space separated list of paths)
    134134#
    135 exclude_files=""
     135mondo_exclude_files=""
    136136
    137137#
     
    139139# (white space separated list of paths)
    140140#
    141 include_files=""
     141mondo_include_files=""
    142142
    143143#
    144144# Activate semi-graphical mode by default (yes|no)
    145145#
    146 text_mode=no
     146mondo_text_mode=no
    147147
    148148#
     
    150150# (look at -H option in man page)
    151151#
    152 automatic_restore=no
     152mondo_automatic_restore=no
    153153
    154154#
    155155# Scratch directory
    156156#
    157 scratch_dir=""
     157mondo_scratch_dir=""
    158158#scratch_dir="/tmp/mondo/scratch"
    159159
     
    161161# Temporary directory
    162162#
    163 tmp_dir=""
     163mondo_tmp_dir=""
    164164#tmp_dir="/tmp/mondo/tmp"
    165165
     
    167167# Images creation dir
    168168#
    169 images_dir="/var/cache/mondo"
     169mondo_images_dir="/var/cache/mondo"
  • trunk/mondo/mondo/common/Makefile.am

    r507 r539  
    99libmondo_a_SOURCES  = libmondo-archive.c libmondo-devices.c libmondo-fifo.c \
    1010                       libmondo-filelist.c libmondo-files.c libmondo-fork.c \
    11                        libmondo-mountlist.c libmondo-raid.c \
     11                       libmondo-mountlist.c libmondo-raid.c libmondo-msg.c \
    1212                       libmondo-stream.c libmondo-string.c libmondo-tools.c \
    1313                       libmondo-verify.c newt-specific.c \
  • trunk/mondo/mondo/common/libmondo-archive-EXT.h

    r483 r539  
    1515extern int make_slices_and_images(struct s_bkpinfo *bkpinfo,
    1616                                  char *biggielist_fname);
    17 extern int make_iso_fs(struct s_bkpinfo *bkpinfo, char *destfile);
     17extern int make_iso_fs(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *destfile);
    1818extern int make_afioballs_and_images(struct s_bkpinfo *bkpinfo);
    1919extern int (*move_files_to_cd) (struct s_bkpinfo *, char *, ...);
  • trunk/mondo/mondo/common/libmondo-archive.c

    r507 r539  
    419419 * @ingroup archiveGroup
    420420 */
    421 int backup_data(struct s_bkpinfo *bkpinfo)
     421int backup_data(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf)
    422422{
    423423    int retval = 0, res = 0;
     
    485485    run_program_and_log_output(tmp, 1);
    486486    paranoid_free(tmp);
    487     retval += make_those_afios_phase(bkpinfo);  // backup regular files
    488487    retval += make_those_slices_phase(bkpinfo); // backup BIG files
    489488    retval += do_that_final_phase(bkpinfo); // clean up
     
    876875    if (!res) {
    877876        log_to_screen("Boot+data disks were created OK");
    878         asprintf(&command, "mkdir -p /root/images/mindi/");
     877        asprintf(&command, "mkdir -p /var/cache/mindi/");
    879878        log_msg(2, command);
    880879        run_program_and_log_output(command, FALSE);
     
    882881
    883882        asprintf(&command,
    884                  "cp -f %s/images/mindi.iso /root/images/mindi/mondorescue.iso",
     883                 "cp -f %s/images/mindi.iso /var/cache/mindi/mondorescue.iso",
    885884                 bkpinfo->scratchdir);
    886885        log_msg(2, command);
     
    11071106 * @ingroup MLarchiveGroup
    11081107 */
    1109 int do_that_final_phase(struct s_bkpinfo *bkpinfo)
     1108int do_that_final_phase(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf)
    11101109{
    11111110
     
    11261125    } else {
    11271126        /* write final ISO */
    1128         res = write_final_iso_if_necessary(bkpinfo);
     1127        res = write_final_iso_if_necessary(bkpinfo, mrconf);
    11291128        retval += res;
    11301129        if (res) {
     
    14061405 * @return The number of errors encountered (0 for success)
    14071406 */
    1408 int make_afioballs_and_images(struct s_bkpinfo *bkpinfo)
     1407int make_afioballs_and_images(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf)
    14091408{
    14101409
     
    15481547                                         NULL);
    15491548            } else {
    1550                 res = move_files_to_cd(bkpinfo, storing_filelist_fname,
    1551                                        curr_xattr_list_fname,
    1552                                        curr_acl_list_fname,
    1553                                        storing_afioball_fname, NULL);
     1549                res =
     1550                    move_files_to_cd(bkpinfo, mrconf, storing_filelist_fname,
     1551                                     curr_xattr_list_fname,
     1552                                     curr_acl_list_fname,
     1553                                     storing_afioball_fname, NULL);
    15541554            }
    15551555            paranoid_free(storing_filelist_fname);
     
    16281628 * @return The number of errors encountered (0 for success)
    16291629 */
    1630 int make_iso_fs(struct s_bkpinfo *bkpinfo, char *destfile)
     1630int make_iso_fs(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *destfile)
    16311631{
    16321632    /*@ int ********************************************** */
     
    18221822#ifdef __IA64__
    18231823                log_msg(1, "IA64 --> elilo");
     1824                asprintf(&tmp2,"mkisofs -no-emul-boot -b images/mindi-bootroot.%s.img -c boot.cat -o _ISO_ -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_ .", mrconf->ia64_boot_size);
    18241825                res = eval_call_to_make_ISO(bkpinfo,
    1825                                             "mkisofs -no-emul-boot -b images/mindi-bootroot."
    1826                                             IA64_BOOT_SIZE
    1827                                             ".img -c boot.cat -o _ISO_ -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_ .",
     1826                                            tmp2,
    18281827                                            destfile,
    18291828                                            g_current_media_number,
     
    18331832// FIXME --- change mkisofs string to MONDO_MKISOFS_REGULAR_SYSLINUX/LILO depending on bkpinfo->make_cd_usE_lilo
    18341833// and add ' .' at end
     1834                paranoid_free(tmp2);
    18351835                log_msg(1, "Non-ia64 --> lilo");
    18361836                res = eval_call_to_make_ISO(bkpinfo,
     
    19561956 */
    19571957int
    1958 make_slices_and_images(struct s_bkpinfo *bkpinfo, char *biggielist_fname)
     1958make_slices_and_images(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *biggielist_fname)
    19591959{
    19601960
     
    20292029        } else {
    20302030            // Call ntfsclone (formerly partimagehack) if it's a /dev entry (i.e. a partition to be imaged)
    2031             log_msg(2, "bigfile_fname = %s", bigfile_fname);
     2031            log_msg(2, "bigfile_fname = '%s'", bigfile_fname);
    20322032            use_ntfsprog = FALSE;
    20332033            if (!strncmp(bigfile_fname, "/dev/", 5)
     
    20762076            }
    20772077            res =
    2078                 slice_up_file_etc(bkpinfo, bigfile_fname,
     2078                slice_up_file_etc(bkpinfo, mrconf, bigfile_fname,
    20792079                                  ntfsprog_fifo, biggie_file_number,
    20802080                                  noof_biggie_files, use_ntfsprog);
     
    21252125 * @see make_afioballs_and_images
    21262126 */
    2127 int make_afioballs_and_images_OLD(struct s_bkpinfo *bkpinfo)
     2127int make_afioballs_and_images_OLD(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf)
    21282128{
    21292129
     
    21982198            res = move_files_to_stream(bkpinfo, curr_afioball_fname, NULL);
    21992199        } else {
    2200             res = move_files_to_cd(bkpinfo, curr_filelist_fname,
    2201                                    curr_xattr_list_fname,
    2202                                    curr_acl_list_fname,
    2203                                    curr_afioball_fname, NULL);
     2200            res =
     2201                move_files_to_cd(bkpinfo, mrconf, curr_filelist_fname,
     2202                                 curr_xattr_list_fname,
     2203                                 curr_acl_list_fname, curr_afioball_fname,
     2204                                 NULL);
    22042205        }
    22052206        retval += res;
     
    22462247 * @ingroup MLarchiveGroup
    22472248 */
    2248 int make_those_afios_phase(struct s_bkpinfo *bkpinfo)
     2249int make_those_afios_phase(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf)
    22492250{
    22502251    /*@ int ******************************************* */
     
    22632264        log_msg(1,
    22642265                "Using single-threaded make_afioballs_and_images() to suit b0rken FreeBSD 5.0");
    2265         res = make_afioballs_and_images_OLD(bkpinfo);
     2266        res = make_afioballs_and_images_OLD(bkpinfo, mrconf);
    22662267#else
    2267         res = make_afioballs_and_images_OLD(bkpinfo);
     2268        res = make_afioballs_and_images_OLD(bkpinfo, mrconf);
    22682269#endif
    22692270        write_header_block_to_stream(0, "stop-afioballs",
    22702271                                     BLK_STOP_AFIOBALLS);
    22712272    } else {
    2272         res = make_afioballs_and_images(bkpinfo);
     2273        res = make_afioballs_and_images(bkpinfo, mrconf);
    22732274    }
    22742275
     
    23762377 * transfer files over the network) or leave it as is.
    23772378 */
    2378 int (*move_files_to_cd) (struct s_bkpinfo *, char *, ...) =
     2379int (*move_files_to_cd) (struct s_bkpinfo *, struct s_mrconf *mrconf, char *, ...) =
    23792380    _move_files_to_cd;
    23802381
     
    23972398 * @return The number of errors encountered (0 for success)
    23982399 */
    2399 int _move_files_to_cd(struct s_bkpinfo *bkpinfo, char *files_to_add, ...)
     2400int _move_files_to_cd(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *files_to_add, ...)
    24002401{
    24012402
     
    24362437    if (would_occupy / 1024 > bkpinfo->media_size[g_current_media_number]) {
    24372438        /* FALSE because this is not the last CD we'll write */
    2438         res = write_iso_and_go_on(bkpinfo, FALSE);
     2439        res = write_iso_and_go_on(bkpinfo, mrconf, FALSE);
    24392440        retval += res;
    24402441        if (res) {
     
    24802481 * @c backup_media_type field is used in this function.
    24812482 * @param imagesdir The directory containing the floppy images (usually
    2482  * /root/images/mindi).
     2483 * /var/cache/mindi).
    24832484 *
    24842485 * @return The number of errors encountered (0 for success)
     
    26532654    if (!bkpinfo->nonbootable_backup) {
    26542655#ifdef __FreeBSD__
    2655         if (!does_file_exist("/root/images/mindi/mindi-kern.1722.img"))
     2656        if (!does_file_exist("/var/cache/mindi/mindi-kern.1722.img"))
    26562657#else
    2657         if (!does_file_exist("/root/images/mindi/mindi-bootroot.1722.img")
    2658             && !does_file_exist("/root/images/mindi/mindi-boot.1440.img"))
     2658        if (!does_file_exist("/var/cache/mindi/mindi-bootroot.1722.img")
     2659            && !does_file_exist("/var/cache/mindi/mindi-boot.1440.img")
     2660            && !does_file_exist("/var/cache/mindi/mindi-boot.2880.img")
     2661            && !does_file_exist("/var/cache/mindi/mindi-boot.5760.img"))
    26592662#endif
    26602663        {
    26612664            mvaddstr_and_log_it(g_currentY++, 74, "No Imgs");
    2662             if (does_file_exist("/root/images/mindi/mondorescue.iso")) {
     2665            if (does_file_exist("/var/cache/mindi/mondorescue.iso")) {
    26632666                popup_and_OK
    2664                     ("Boot+data floppy creation failed.\nHowever, you may burn /root/images/mindi/mondorescue.iso to a CD\nand boot from that instead if you wish.");
     2667                    ("Boot+data floppy creation failed.\nHowever, you may burn /var/cache/mindi/mondorescue.iso to a CD\nand boot from that instead if you wish.");
    26652668                res++;
    26662669            }
    26672670        } else {
    2668             offer_to_write_floppies(bkpinfo, "/root/images/mindi");
     2671            offer_to_write_floppies(bkpinfo, "/var/cache/mindi");
    26692672            mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    26702673        }
     
    30043007 */
    30053008int
    3006 slice_up_file_etc(struct s_bkpinfo *bkpinfo, char *biggie_filename,
     3009slice_up_file_etc(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *biggie_filename,
    30073010                  char *ntfsprog_fifo, long biggie_file_number,
    30083011                  long noof_biggie_files, bool use_ntfsprog)
     
    31273130                                               bkpinfo->tmpdir, ""), NULL);
    31283131    } else {
    3129         res = move_files_to_cd(bkpinfo,
    3130                                slice_fname(biggie_file_number, 0,
    3131                                            bkpinfo->tmpdir, ""), NULL);
     3132        res =
     3133            move_files_to_cd(bkpinfo, mrconf,
     3134                             slice_fname(biggie_file_number, 0,
     3135                                         bkpinfo->tmpdir, ""), NULL);
    31323136    }
    31333137    i = bkpinfo->optimal_set_size / 256;
     
    32433247            res = move_files_to_stream(bkpinfo, file_to_archive, NULL);
    32443248        } else {
    3245             res = move_files_to_cd(bkpinfo, file_to_archive, NULL);
     3249            res = move_files_to_cd(bkpinfo, mrconf, file_to_archive, NULL);
    32463250        }
    32473251        paranoid_free(file_to_archive);
     
    33393343 * however, this occurs rarely.
    33403344 */
    3341 int write_final_iso_if_necessary(struct s_bkpinfo *bkpinfo)
     3345int write_final_iso_if_necessary(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf)
    33423346{
    33433347    /*@ int ***************************************************** */
     
    33623366#endif
    33633367    paranoid_free(tmp);
    3364     res = write_iso_and_go_on(bkpinfo, TRUE);
     3368    res = write_iso_and_go_on(bkpinfo, mrconf, TRUE);
    33653369#ifndef _XWIN
    33663370    if (!g_text_mode) {
     
    33903394 * @see make_iso_fs
    33913395 */
    3392 int write_iso_and_go_on(struct s_bkpinfo *bkpinfo, bool last_cd)
     3396int write_iso_and_go_on(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, bool last_cd)
    33933397{
    33943398    /*@ pointers **************************************************** */
     
    34683472             g_current_media_number);
    34693473    for (that_one_was_ok = FALSE; !that_one_was_ok;) {
    3470         res = make_iso_fs(bkpinfo, isofile);
     3474        res = make_iso_fs(bkpinfo, mrconf, isofile);
    34713475        if (g_current_media_number == 1 && !res
    34723476            && (bkpinfo->backup_media_type == cdr
     
    37533757setenv("MONDO_SHARE", MONDO_SHARE, 1);
    37543758}
     3759
     3760void mrarchive_init_conf(struct s_mrconf *mrconf) {
     3761    char *command = NULL;
     3762    FILE *conffd = NULL;
     3763    FILE *fin = NULL;
     3764    int n = 0;
     3765    char *param = NULL;
     3766
     3767    mrconf = (struct s_mrconf *)malloc(sizeof(struct s_mrconf));
     3768    if (mrconf == NULL) {
     3769            fatal_error("Unable to malloc mrconf");
     3770    }
     3771    /* Default for everything int : 0 char * : NULL */
     3772
     3773    /* mindi conf parameters also needed in mondo */
     3774    mrconf->ia64_boot_size = 0;
     3775
     3776    asprintf(&command, "mindi -printvar IA64_BOOT_SIZE");
     3777    fin = popen(command, "r");
     3778    getline(&param, &n, fin);
     3779    pclose(fin);
     3780    paranoid_free(command);
     3781    mrconf->ia64_boot_size = atoi(param);
     3782    paranoid_free(param);
     3783
     3784    mrconf->iso_creation_cmd = NULL;
     3785
     3786    /* Finds mondo conf file */
     3787    mrconf_open(MONDO_CONF_DIR"/mondo.conf");
     3788
     3789    /* mondo conf parameters needed */
     3790    mrconf->iso_creation_cmd = mrconf_sread(iso_creation_cmd);
     3791
     3792    mrconf_close();
  • trunk/mondo/mondo/common/libmondo-archive.h

    r483 r539  
    1717int make_slices_and_images(struct s_bkpinfo *bkpinfo,
    1818                           char *biggielist_fname);
    19 int make_iso_fs(struct s_bkpinfo *bkpinfo, char *destfile);
     19int make_iso_fs(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *destfile);
    2020int make_afioballs_and_images(struct s_bkpinfo *bkpinfo);
    2121extern int (*move_files_to_cd) (struct s_bkpinfo *, char *, ...);
  • trunk/mondo/mondo/common/libmondo-filelist.c

    r507 r539  
    15361536                       char *userdef_filelist)
    15371537{
    1538     char sz_datefile_wildcard[] = "/var/cache/mondo-archive/difflevel.%d";
     1538    char sz_datefile_wildcard[] = "/var/cache/mondo/difflevel.%d";
    15391539    char *p, *q;
    15401540    char *sz_datefile;
     
    16051605        asprintf(&exclude_paths, " %s %s %s %s %s %s . .. \
    16061606" MNT_CDROM " " MNT_FLOPPY " /media/cdrom /media/cdrecorder \
    1607 /proc /sys /root/images/mondo /root/images/mindi ", excp, call_program_and_get_last_line_of_output("locate /win386.swp 2> /dev/null"), call_program_and_get_last_line_of_output("locate /hiberfil.sys 2> /dev/null"), call_program_and_get_last_line_of_output("locate /pagefile.sys 2> /dev/null"), (tmpdir[0] == '/' && tmpdir[1] == '/') ? (tmpdir + 1) : tmpdir, (scratchdir[0] == '/' && scratchdir[1] == '/') ? (scratchdir + 1) : scratchdir);
     1607/proc /sys /tmp /var/cache/mondo /var/cache/mindi", excp, call_program_and_get_last_line_of_output("locate /win386.swp 2> /dev/null"), call_program_and_get_last_line_of_output("locate /hiberfil.sys 2> /dev/null"), call_program_and_get_last_line_of_output("locate /pagefile.sys 2> /dev/null"), (tmpdir[0] == '/' && tmpdir[1] == '/') ? (tmpdir + 1) : tmpdir, (scratchdir[0] == '/' && scratchdir[1] == '/') ? (scratchdir + 1) : scratchdir);
    16081608
    16091609        log_msg(2, "Excluding paths = '%s'", exclude_paths);
  • trunk/mondo/mondo/common/libmondo-tools.c

    r507 r539  
    737737        strcpy(bkpinfo->isodir, "/");
    738738    } else {
    739         strcpy(bkpinfo->isodir, "/root/images/mondo");
     739        strcpy(bkpinfo->isodir, "/var/cache/mondo/iso");
    740740    }
    741741    strcpy(bkpinfo->prefix, STD_PREFIX);
     
    848848#endif
    849849
    850     if ((Lres = free_space_on_given_partition("/root")) == -1) {
     850    if ((Lres = free_space_on_given_partition("/var/cache/mondo")) == -1) /* {
    851851        Lres = free_space_on_given_partition("/");
    852852    }
     853    */
    853854    log_it("Free space on given partition = %ld MB", Lres);
    854855
    855856    if (Lres < 50) {
    856         run_program_and_log_output
    857             ("rm -Rf /root/images/mindi; mkdir -p /home/root/images/mindi; mkdir -p /root/images; ln -sf /home/root/images/mindi /root/images/mindi",
    858              3);
    859         //      fatal_error("Your / (or /root) partition has <50MB free. Please adjust your partition table to something saner.");
     857        fatal_error("Your /var/cache/mondo partition has <50MB free. Please adjust your partition table to something saner.");
    860858    }
    861859
     
    12161214}
    12171215
    1218 
    1219 /**
    1220  * The standard log_debug_msg() (log_msg() also due to a macro). Writes some describing
    1221  * information to the logfile.
    1222  */
    1223 void standard_log_debug_msg(int debug_level, const char *szFile,
    1224                             const char *szFunction, int nLine,
    1225                             const char *fmt, ...)
    1226 {
    1227     va_list args;
    1228     int i;
    1229     static int depth = 0;
    1230     FILE *fout;
    1231 
    1232     if (depth > 5) {
    1233         depth--;
    1234         return;
    1235     }
    1236     depth++;
    1237 
    1238     if (debug_level <= g_loglevel) {
    1239         va_start(args, fmt);
    1240         if (!(fout = fopen(MONDO_LOGFILE, "a"))) {
    1241             return;
    1242         }                       // fatal_error("Failed to openout to logfile - sheesh..."); }
    1243 
    1244         // add tabs to distinguish log levels
    1245         if (debug_level > 0) {
    1246             for (i = 1; i < debug_level; i++)
    1247                 fprintf(fout, "\t");
    1248             if (getpid() == g_main_pid)
    1249                 fprintf(fout, "[Main] %s->%s#%d: ", szFile, szFunction,
    1250                         nLine);
    1251             else if (getpid() == g_buffer_pid && g_buffer_pid > 0)
    1252                 fprintf(fout, "[Buff] %s->%s#%d: ", szFile, szFunction,
    1253                         nLine);
    1254             else
    1255                 fprintf(fout, "[TH=%d] %s->%s#%d: ", getpid(), szFile,
    1256                         szFunction, nLine);
    1257         }
    1258         vfprintf(fout, fmt, args);
    1259 
    1260         // do not slow down the progran if standard debug level
    1261         // must be enabled: if no flush, the log won't be up-to-date if there
    1262         // is a segfault
    1263         //if (g_dwDebugLevel != 1)
    1264 
    1265         va_end(args);
    1266         fprintf(fout, "\n");
    1267         paranoid_fclose(fout);
    1268     }
    1269     depth--;
    1270 }
    1271 
    1272 /**
    1273  * Function pointer to the @c log_debug_msg function to use. Points to standard_log_debug_msg() by default.
    1274  */
    1275 void (*log_debug_msg) (int, const char *, const char *, int, const char *,
    1276                        ...) = standard_log_debug_msg;
    1277 
    1278 
    12791216/**
    12801217 * Allocate or free important globals, depending on @p mal.
  • trunk/mondo/mondo/common/mondostructures.h

    r518 r539  
    784784    struct s_mdrec el[MAXIMUM_RAID_DEVS];
    785785};
     786
     787struct s_mrconf {
     788    int ia64_boot_size;
     789    char *iso_creation_cmd;
     790};
  • trunk/mondo/mondo/common/my-stuff.h

    r518 r539  
    1 /* $Id$ */
    2 
     1/*
     2 * Common defines across the project
     3 *
     4 *  $Id$
     5 */
     6
     7#ifndef _MY_STUFF_H_
     8#define _MY_STUFF_H_
     9
     10/* BERLIOS
    311#define HAVE_MALLOC 1
     12*/
    413
    514// Extra info for ACLs and SELINUX users
     
    2635 * Create the illusion of a Boolean type.
    2736 */
    28 #define bool int
     37#define bool unsigned char
    2938#define TRUE 1
    3039#define FALSE 0
     
    3443#include <config.h>
    3544#endif
     45/* BERLIOS
     46 * Useful ?
     47*/
    3648
    3749#ifndef __FreeBSD__
     
    4759
    4860#include <stdlib.h>
     61/* BERLIOS
    4962#ifndef  __USE_FILE_OFFSET64
    5063#define  __USE_FILE_OFFSET64
     
    5366#define  __USE_LARGEFILE64
    5467#endif
     68*/
    5569#include <sys/stat.h>
    5670#include <fcntl.h>
     
    6478#include <signal.h>
    6579#endif
    66 //#include <curses.h>
    6780#include <newt.h>
    6881#include <ctype.h>
     
    7083#ifndef S_SPLINT_S
    7184#include <pthread.h>
    72 #endif
    7385#include <assert.h>
    7486
    75 #include "../../config.h"
    76 
     87/*
    7788#if defined(DEBUG) && !__cplusplus
    7889int count;
    79 char trace_log[255];            /*buffer for logging */
     90char trace_log[255];
    8091char *trace_log_ptr;
    81 #endif                          /* DEBUG */
    82 
    83 #define IA64_BOOT_SIZE "8192"   /* Should be coherent with mindi */
    84 #define STD_PREFIX "mondorescue"    /* Should be coherent with mindi */
     92#endif
     93*/
     94
     95#define STD_PREFIX "mondorescue"
    8596
    8697/**
     
    129140#define CRC_M16 0xA001          ///< Mask for crc16.
    130141#define CRC_MTT 0x1021          ///< Mask for crc-ccitt.
    131 
    132 #define FALSE 0                 ///< The ubiquitous FALSE macro.
    133 #define TRUE 1                  ///< The even more ubiquitous TRUE macro.
    134142
    135143#define SCREEN_LENGTH 25        ///< The default size of the screen.
  • trunk/mondo/mondo/mondoarchive/main.c

    r507 r539  
    133133{
    134134    struct s_bkpinfo *bkpinfo;
     135    struct s_mrconf *mrconf;
    135136    char *tmp;
    136137    int res = 0;
     
    160161    malloc_libmondo_global_strings();
    161162
     163    /* Initialize Configuration Structure */
     164    mrarchive_init_conf(mrconf);
     165
     166    res = 0;
     167    retval = 0;
    162168    diffs = 0;
    163169    printf(_("Initializing...\n"));
     
    327333    /* If we're meant to backup then backup */
    328334    if (bkpinfo->backup_data) {
    329         res = backup_data(bkpinfo);
     335        res = backup_data(bkpinfo, mrconf);
    330336        retval += res;
    331337        if (res) {
     
    363369    }
    364370
    365     if (does_file_exist("/root/images/mindi/mondorescue.iso")) {
     371    if (does_file_exist("/var/cache/mindi/mondorescue.iso")) {
    366372        log_to_screen
    367             (_("/root/images/mindi/mondorescue.iso, a boot/utility CD, is available if you want it."));
     373            (_("/var/cache/mindi/mondorescue.iso, a boot/utility CD, is available if you want it."));
    368374    }
    369375
  • trunk/mondo/mondo/mondorestore/mondo-rstr-newt.c

    r507 r539  
    22942294 * @param isodir_device Where to put the device (e.g. /dev/hda4) the user enters.
    22952295 * @param isodir_format Where to put the format (e.g. ext2) the user enters.
    2296  * @param isodir_path Where to put the path (e.g. /root/images/mondo) the user enters.
     2296 * @param isodir_path Where to put the path (e.g. /var/cache/mondo) the user enters.
    22972297 * @param nuke_me_please Whether we're planning on nuking or not.
    22982298 * @return TRUE if OK was pressed, FALSE otherwise.
  • trunk/mondo/po/fr.po

    r501 r539  
    13141314#: mondo/mondoarchive/main.c:501
    13151315msgid ""
    1316 "/root/images/mindi/mondorescue.iso, a boot/utility CD, is available if you "
     1316"/var/cache/mindi/mondorescue.iso, a boot/utility CD, is available if you "
    13171317"want it."
    13181318msgstr ""
    1319 "/root/images/mindi/mondorescue.iso est un CD de boot/utilitaires à votre "
     1319"/var/cache/mindi/mondorescue.iso est un CD de boot/utilitaires à votre "
    13201320"disposition"
    13211321
Note: See TracChangeset for help on using the changeset viewer.