Changeset 1236


Ignore:
Timestamp:
Mar 12, 2007, 12:23:16 AM (12 years ago)
Author:
bruno
Message:

Port from stable important patches for 2.2.2:
mindi-busybox:

  • Improve Gentoo packaging

mindi:

  • Better messages for analyze-my-lvm
  • Add support for newer Qlogic drivers (qla2300 & 2400), mpt, dm and ohci
  • Fix a bug in mindi for the FAILSAFE support
  • PATH fixed for init in restore (/usr/games added for petris)
  • Fiw a bug where restore failing because no archive files are found when -G is used
  • /media is now completely excluded as per StandardsCompliance

mondo:

  • Handle no compression + verify correctly
  • various HOWTO fixes
  • Fix temporarily a bug when a biggiefile > 32MB was compressed below the size

of a slice (16MB)

  • Better module loading in insmod_crucial_modules
  • Improve Gentoo packaging
  • Small typo fix for mondorestore man page
  • Small memory management improvements
  • Store NFS config only once
  • Fix a flaw in libmondo-mountlist.c (there since rev [1] !!)
  • Increased MAX_STR_LEN to 384 to make it divisible without remainder by eight

for 64 bits platforms

  • Fix a bug where no bzip2 format file would be found when supporting gzip
  • CentOS fixes
Location:
branches/2.2.2
Files:
29 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.2/mindi-busybox/ChangeLog

    r1013 r1236  
    22
    33MINDI-BUSYBOX CHANGES
     4
     51.2.3 (2007-03-08)
     6- Improve Gentoo packaging (Linos)
    47
    581.2.2 (2006-12-23)
  • branches/2.2.2/mindi-busybox/VERSION

    r1018 r1236  
    1 1.2.2
     11.2.3
  • branches/2.2.2/mindi-busybox/distributions/gentoo/mindi-busybox.ebuild

    r1033 r1236  
    1717src_unpack() {
    1818    unpack ${A} || die "Failed to unpack ${A}"
    19     cd "${S}"
    2019    make oldconfig > /dev/null
    2120}
     
    2827src_install() {
    2928    # bundle up the symlink files for use later
    30     emake PREFIX="${D}/usr/share/mindi/rootfs" install || die
     29    emake PREFIX="${D}/usr/lib/mindi/rootfs" install || die
    3130}
  • branches/2.2.2/mindi/ChangeLog

    r1231 r1236  
    551.2.2 (2007-03-08)
    66- Add the DENY_MODS variable in mindi allowing to describes modules that you don't want to include as part of the restore boot environment (HP Open Call OCMP e.g; needs it) (Bruno Cornec)
    7 - Add GetInitrdFilesystemToUse function to support initramfs type of initrd
    8  (SuSE 10.2/Debian 3.x/FC 6/...) (Andree Leidenfrost)
     7- Add GetInitrdFilesystemToUse function to support initramfs type of initrd (SuSE 10.2/Debian 3.x/FC 6/...) (Andree Leidenfrost)
    98- Fix a bug for ia64 in kernel reference in elilo.conf (Andree Leidenfrost)
    109- Check that /boot/efi is mounted on ia64 (Andree Leidenfrost)
    1110- Protect some rm -rf to avoid raw removals (Bruno Cornec)
     11- Better messages for analyze-my-lvm (Bruno Cornec)
     12- Add support for newer Qlogic drivers (qla2300 & 2400), mpt, dm and ohci (Josef Jetzinger/Bruno Cornec)
     13- Fix a bug in mindi for the FAILSAFE support (Scott Cummings)
     14- PATH fixed for init in restore (/usr/games added for petris) (Andree Leidenfrost)
     15- Fiw a bug where restore failing because no archive files are found when -G is used (Andree Leidenfrost)
     16- /media is now completely excluded as per StandardsCompliance (Bruno Cornec)
    1217
    13181.2.1 (2006-12-23)
  • branches/2.2.2/mindi/analyze-my-lvm

    r963 r1236  
    33# $Id$
    44#
    5 
    6 #------------------------- ANALYZE-MY-LVM ----------------------- Hugo Rabson
    7 # 07/14
    8 # - no longer blank first 4k of /dev/mdX
    9 #
    10 # 06/14/2004
    11 # - fixed "n >= 2.00" bug (shell doesn't handle floating points properly)
    12 # - handle dm_mod as well as dm-mod
    13 #
    14 # 02/18/2004
    15 # - nice patch to fix ListAllVolumeGroups() --- J. Richard
    16 # - patch to support LVM2 by Takeru Komoriya
    17 #
    18 # 10/15/2003
    19 # - fixed '-L'-handling to allow for floating-point gigabyte values
    20 #
    21 # 01/15/2003
    22 # - patch (LVM) by Brian Borgeson
    23 #
    24 # 12/10/2002
    25 # - patch by Benjamin Mampaey
    26 #
    27 # 09/05/2002
    28 # - additional patch by Ralph Gruwe
    29 #
    30 # 08/30/2002
    31 # - modified by Ralph Gruwe
    32 #
    33 # 10/01/2001
    34 # - last modified by Hugo :)
    35 #------------------------------------------------------------------------------
    365
    376Die() {
     
    186155ListAllLogicalVolumes() {
    187156    if [ $lvmversion = 2 ]; then
    188         $LVMCMD lvscan | grep "'" | cut -d"'" -f2
    189     else
    190         lvscan | grep '"' | cut -d'"' -f2
     157        $LVMCMD lvscan 2> /dev/null | grep "'" | cut -d"'" -f2
     158    else
     159        lvscan 2> /dev/null | grep '"' | cut -d'"' -f2
    191160    fi
    192161}
  • branches/2.2.2/mindi/install.sh

    r937 r1236  
    1212    local=${HEAD}$PREFIX
    1313    sublocal=$PREFIX
    14     if [ -f /usr/local/sbin/mindi ]; then
    15         echo "WARNING: /usr/local/sbin/mindi exists. You should probably remove your manual installation !"
    16     fi
    1714    if [ "_$CONFDIR" != "_" ]; then
    1815        conf=${HEAD}$CONFDIR/mindi
     
    2219        exit -1
    2320    fi
    24     echo $PATH | grep /usr/sbin > /dev/null || echo "Warning - your PATH environmental variable is BROKEN. Please add /usr/sbin to your PATH."
    2521else
    2622    local=/usr/local
     
    9086install -m 644 ChangeLog COPYING README README.busybox README.ia64 README.pxe TODO INSTALL svn.log $DOCDIR
    9187
    92 if [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then
     88if [ "_$PREFIX" = "_" ] && [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then
    9389        echo "WARNING: no busybox found, mindi will not work on this arch ($ARCH)"
    9490fi
  • branches/2.2.2/mindi/rootfs/sbin/init

    r911 r1236  
    424424trap CaughtSoftReset SIGTERM
    425425LOGFILE=/tmp/mondo-restore.log
    426 PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/mondo:/usr/local/mondo:/usr/local/mindi:.
     426PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/mondo:/usr/games
    427427GROOVY=/tmp/groovy-stuff
    428428USER=root
     
    539539    LogIt "I think this CD/floppy has no archives on it."
    540540fi
    541 echo -en "Type 'exit' to reboot the PC\r"
     541echo -en "Type 'exit' to reboot the PC\n"
    542542umount /mnt/cdrom 2> /dev/null
    543543mount / -o rw,remount > /dev/null 2> /dev/null
  • branches/2.2.2/mondo-doc/VERSION

    r1018 r1236  
    1 2.2.1
     12.2.2
  • branches/2.2.2/mondo-doc/mondorescue-howto.sgml

    r978 r1236  
    7575</link>.</para>
    7676<para>
    77 or any later version published by the Free Software Foundation; with no Invarian
    78 t Sections, Front-Cover Texts or Back-Cover Texts. This document is distributed
    79 hoping it will be useful, but <emphasis>without any guaranty</emphasis>; you're
    80 completely responsible of its use, and coulnd't complain in case it doesn't work
    81 , or even if it breaks the hardware. All the software included in it, if not alr
    82 eady copyrighted is released under the GPL.
     77or any later version published by the Free Software Foundation; with no Invariant Sections, Front-Cover Texts or Back-Cover Texts. This document is distributed hoping it will be useful, but <emphasis>without any guaranty</emphasis>; you're completely responsible of its use, and coulnd't complain in case it doesn't work, or even if it breaks the hardware. All the software included in it, if not already copyrighted is released under the GPL.
    8378</para>
    8479</legalnotice>
     
    173168e-mail! Thank you. Without it we can't offer
    174169any tangible help because you aren't either. That's what the log
    175 file is for. It is located at <filename>/var/log/mondo-archive.log</filename>; and <filename>/var/log/miindi.log</filename> or at <filename>/var/log/mondo-restore.log</filename>
    176 </para>
    177 <para>
    178 This document was originaly written by native english speakers, but is maintained by a non-native english speaker so help me correct mistaques instead of rumbling that I've done one :-)
     170file is for. It is located at <filename>/var/log/mondo-archive.log</filename>; and <filename>/var/log/mindi.log</filename> or at <filename>/var/log/mondo-restore.log</filename>
     171</para>
     172<para>
     173This document was originaly written by native english speakers, but is maintained by a non-native english speaker so help me correct mistaques (sic) instead of rumbling that I've done one :-)
    179174</para>
    180175<para>
     
    711706boot-time. Mondo uses fdisk, mkfs, cat, less, more, afio, gzip,
    712707bzip2, your keyboard configuration, your glibc libraries, your
    713 other libraries, your kernel, your modules, ... a lot! Mindi takes
    714 care of all that, so that Mondo can get on with the job of backing
     708other libraries, your kernel, your modules, ... which is a lot of tools!
     709Mindi takes care of all that, so that Mondo can get on with the job of backing
    715710up or restoring your data.
    716711</para>
     
    738733drives. That works for most drives but some drives just don't like
    739734that.</para>
    740 <para>Mondo Rescue has tested thousands of times on various computers.
    741 It worked for them.
     735<para>Mondo Rescue has been tested thousands of times on various computers.
     736It has worked for them.
    742737Thousands of users testify to Mondo's stability and its ease of
    743738use. However, please test it on your own system before you rely on
     
    858853        Since November 2005, Hugo Rabson has tranfered the maintenance
    859854        of the Mondo Rescue suite to Andree Leidenfrost and Bruno Cornec,
    860         both previous developpers and packagers of the tool since nearly
     855        both previous developers and packagers of the tool since nearly
    861856        the begining.
    862857</para>
     
    948943<para>See Mondo's <ulink url="http://www.mondorescue.org/downloads.shtml">Download
    949944page</ulink> for details.</para>
    950 <para>Mondo requires afio, bzip2, cdrtools/cdrecord/growisofs, ncurses, newt,
     945<para>Mondo requires afio, bzip2, cdrtools/cdrecord/growisofs (may be part of the dvd+rw-tools package), ncurses, newt,
    951946isolinux/syslinux, lzo (optional), lzop (optional), mkisofs, slang,
    952947and a few other packages.</para>
     
    10291024</sect1>
    10301025
     1026<sect1 id="installation-mindi-busybox">
     1027<title>Mindi Busybox Installation</title>
     1028<para>If you are installing from a tarball then copy it to wherever
     1029you have enough space, for example /tmp and type:</para>
     1030<para></para>
     1031<informaltable><tgroup cols="1"><tbody>
     1032<row>
     1033<entry>
     1034
     1035        bash# cd /tmp
     1036</entry>
     1037</row>
     1038<row>
     1039    <entry>
     1040        bash# tar -zxvf mindi-busybox-1.x.tgz
     1041    </entry>
     1042</row>
     1043<row>
     1044    <entry>
     1045        bash# cd mindi-busybox-1.x
     1046    </entry>
     1047</row>
     1048<row>
     1049    <entry>
     1050        bash# make oldconfig
     1051    </entry>
     1052</row>
     1053<row>
     1054    <entry>
     1055        bash# make busybox
     1056    </entry>
     1057</row>
     1058<row>
     1059    <entry>
     1060        bash# make install
     1061    </entry>
     1062</row>
     1063</tbody></tgroup></informaltable>
     1064<para>This installs busybox files and symlinks into /usr/local/lib/mindi/rootfs
     1065</para>
     1066<para>Or, if you are installing from an RPM/deb then copy it to
     1067wherever you have enough space, for example /tmp and type:</para>
     1068<para></para>
     1069<informaltable><tgroup cols="1"><tbody>
     1070<row>
     1071<entry>
     1072
     1073bash# rpm -Uvh /tmp/mindi-busybox-1.x-x.i386.rpm
     1074</entry>
     1075</row>
     1076<row>
     1077<entry>
     1078
     1079or
     1080</entry>
     1081</row>
     1082<row>
     1083<entry>
     1084
     1085bash# dpkg -i /tmp/mindi-busybox-1.x-x.deb
     1086
     1087</entry>
     1088</row>
     1089</tbody></tgroup></informaltable>
     1090
     1091<para>This installs busybix files and symlinks into /usr/lib/mindi/rootfs
     1092</para>
     1093</sect1>
     1094
    10311095<sect1 id="installation-mondo">
    10321096<title>Mondo Installation</title>
     
    10941158<para>This installs mondo into /usr/lib/mondo and installs
    10951159the programs into /usr/sbin</para>
     1160</sect1>
     1161
     1162<sect1 id=rpm-verif>
     1163        <title>RPM verifications</title>
     1164        <para>For RPM based distributions (Fedora, OpenSuSE, Mandriva, ...), you may want to do this post-install in order to check the validity of your installation:</para>
     1165<informaltable><tgroup cols="1"><tbody>
     1166<row>
     1167    <entry>
     1168        bash# rpm -Va mindi mondo mindi-busybox
     1169    </entry>
     1170</row>
     1171</tbody></tgroup></informaltable>
     1172<para>
     1173    This gives some truly obtuse output. Basically it will list all files that do NOT pass the verify tests (done on size, MD5 signature, etc). Please read rpm man page to discover the meaning of the output.
     1174    </para>
    10961175</sect1>
    10971176</chapter>
     
    12691348
    12701349<sect1 id="backup-recommandations">
    1271 <title>Recommandations</title>
     1350<title>Recommendations</title>
    12721351<itemizedlist>
    12731352<listitem>
     
    12751354        compare differences following the backup). Especially shutdown
    12761355        properly any running database on your system, as the recovery
    1277         may lead to corrupted data.</para>
     1356        may lead to corrupted data. Or if applicable, boot to single user mode.</para>
    12781357</listitem>
    12791358<listitem>
     
    14881567 has been done. The problem lies in the fact that cron does not allow
    14891568 user interaction with a job. If you schedule a mondoarchive job via
    1490  cron, you better be sure it needs only one media. in practical terms,
     1569 cron, you better be sure it needs only one media. In practical terms,
    14911570 this means using tapes or ISOs (if CD-R(W) is your backup medium).
    14921571 However, for tape users, there's always the possibility that the
     
    15151594If your backup already occupies two media, this method will allow
    15161595 as much of the backup as possible to proceed during quiet periods.
    1517  Time the backup to start wich enough time to complete the first media
     1596 Time the backup to start with enough time to complete the first media
    15181597 shortly before the operator arrives for work. The next media can
    15191598 be mounted and the backup completed asap and minimises the time for
     
    15401619 of interacting via a FIFO or some such) except termination via its
    15411620 pid. The only program that I know of that allows such interaction
    1542  and serves as a wrapper for other prrocesses is 'screen'
     1621 and serves as a wrapper for other processes is 'screen'
    15431622 </para>
    15441623 </sect2>
     
    15481627 attach to a terminal when it first starts. This won't happen under
    15491628 cron so screen will fail. Fortunately, screen comes with a "start
    1550  detached" option.
     1629 detached" (-d) option.
    15511630 </para>
    15521631 </sect2>
     
    18451924<listitem><para>Wipe your drives and restore everything,
    18461925automatically and unattended. Warning: This does exactly what is
    1847 says, so be carefull using it.</para>
     1926says, so be careful using it.</para>
    18481927</listitem></varlistentry>
    18491928<varlistentry><term>Expert</term>
     
    23752454</tbody></tgroup></informaltable>
    23762455
    2377 <para>I hope this manual is proving to be useful to you.</para>
     2456<para>I hope this manual was useful for you.</para>
    23782457</sect2>
    23792458</sect1>
     
    23962475<itemizedlist>
    23972476<listitem>
    2398 <para>Your kernel version</para>
    2399 </listitem>
    2400 <listitem>
    2401 <para>Your Linux distro's name and version</para>
    2402 </listitem>
    2403 <listitem>
    2404 <para>Whether your kernel supports initrd and loopfs; it should!</para>
    2405 </listitem>
    2406 <listitem>
    2407 <para>What sort of PC you are using, including hard disk configurations</para>
     2477<para>Your kernel version (uname -a)</para>
     2478</listitem>
     2479<listitem>
     2480        <para>Your Linux distro's name and version (/etc/distro-release)</para>
     2481</listitem>
     2482<listitem>
     2483        <para>Whether your kernel supports initrd and loopfs; it should! (grep -E '^CONFIG_BLK_DEV_LOOP|^CONFIG_BLK_DEV_INITRD' /usr/src/linux/.config </para>
     2484</listitem>
     2485<listitem>
     2486<para>What sort of PC you are using, including hard disk configurations (results of dmidecode, lshw, fdisk -l are useful here)</para>
    24082487</listitem>
    24092488</itemizedlist>
     
    24302509'mondo'. Hugo Rabson wasn't sure what to call this project. 'Faust' was one
    24312510idea he had, partly as a dig at his former boss who practically owned
    2432 him because of his legal status at the time. In the end, He chose
     2511him because of his legal status at the time. In the end, he chose
    24332512something short and distinctive.</para>
    24342513</answer>
     
    24382517                keels over and dies. What's wrong?</para></question>
    24392518<answer>
    2440         <para>A: It works on Red Hat 7.x/8/9, RHEL 2.1/3/4, Mandrakelinux 8.x/9.x/10.x, Debian 3.0, most flavors
     2519        <para>A: It works on Red Hat 7.x/8/9, RHEL 2.1/3/4, Mandrakelinux 8.x/9.x/10.x/200x, Fedora 4/5/6, Debian 3.x, most flavors
    24412520                of SuSE/SLES, some flavors of Slackware, etc.
    24422521The more distributions we support, the more moving targets we have to
     
    24572536                <para>A: Please send a copy of <filename>/var/log/mindi.log</filename> to the &ML;
    24582537along with a description of your distro, your kernel, etc.
    2459 Oh, and before sending it, please read it asit's much easier to understand it.</para>
     2538Oh, and before sending it, please read it as it is much easier to understand it.</para>
    24602539</answer>
    24612540</qandaentry>
     
    24982577please?</para></question>
    24992578<answer>
    2500 <para>A: please enter the suggestion in our feature system at &WWW;
     2579<para>A: Please enter the suggestion in our feature system at &WWW;
    25012580</para>
    25022581</answer>
     
    26352714<para>A: Recompile your kernel (or use '-k FAILSAFE'). Take a look
    26362715at <link linkend="overview-sysrq-kernelreq">Linux Kernel support</link> to
    2637 see what you're kernel must support.</para>
     2716see what your kernel must support.</para>
    26382717</answer>
    26392718</qandaentry>
     
    26442723<para>A: Recompile your kernel and add Virtual memory file system
    26452724support. Take a look at <link linkend="overview-sysrq-kernelreq">Linux
    2646 Kernel support</link> to see what you're kernel must support. (Of
     2725Kernel support</link> to see what your kernel must support. (Of
    26472726course, if your PC has less than 64MB of RAM, you could always...
    26482727what's the phrase? I know, upgrade your RAM!)</para>
     
    26562735        <para>A: Your kernel must support initrd, loopfs, IDE|SCSI|USB CD-ROM's, and
    26572736ramdisks. Take a look at <link linkend="overview-sysrq-kernelreq">Linux
    2658 Kernel support</link> to see what you're kernel must support. If
     2737Kernel support</link> to see what your kernel must support. If
    26592738your kernel does not support these things, Mondo will not boot from
    26602739your CD. However, when running Mindi, you may choose to use _its_
     
    27142793kernel and/or recompile it. Take a look at
    27152794<link linkend="overview-sysrq-kernelreq">Linux Kernel support</link> to see
    2716 what you're kernel must support.</para>
     2795what your kernel must support.</para>
    27172796</answer>
    27182797</qandaentry>
     
    27512830<answer>
    27522831<para>A: Recompile your kernel and add initrd support. Take a look
    2753 at <link linkend="overview-sysrq-kernelreq">Linux Kernel support</link>to
    2754 see what you're kernel must support.</para>
     2832at <link linkend="overview-sysrq-kernelreq">Linux Kernel support</link> to
     2833see what your kernel must support.</para>
    27552834</answer>
    27562835</qandaentry>
     
    28082887<question><para id="TAPENICE">Q: My tape drive
    28092888doesn't play nicely with Mondo at boot-time. What do I do?</para></question>
    2810 <answer><para>A: Play with 'mt'. Use its setblksize and
     2889<answer><para>A: Play with the 'mt' command (package mt-st). Use its setblksize and
    28112890defblksize switches to reconfigure your tape drive if necessary.
    28122891Some tape drives just are painful. If yours is one of
     
    28872966                drives?</para></question>
    28882967<answer>
    2889 <para>A: Yes. See above.</para>
     2968        <para>A: Yes. See above.</para>
     2969        <para>Of course, mondo will relay on the kernel to support your tape drive. So you should first check that your kernel found it correctly. Use for example one of the following commands:</para>
     2970<informaltable><tgroup cols="1"><tbody>
     2971<row>
     2972<entry>
     2973        bash# dmesg | grep tape
     2974</entry>
     2975</row>
     2976<row>
     2977<entry>
     2978        bash# cat /proc/scsi/scsi
     2979</entry>
     2980</row>
     2981<row>
     2982<entry>
     2983        bash# mt -f /dev/st0 status
     2984</entry>
     2985</row>
     2986</tbody></tgroup></informaltable>
     2987
     2988
    28902989</answer>
    28912990</qandaentry>
     
    29603059partitions and their settings. Mondo will do the partitioning and
    29613060formatting for you.</para>
    2962 <para>Tested Raid controllers includes all those showind only classical devices
     3061<para>Tested Raid controllers includes all those showing only classical devices
    29633062        such as /dev/sdx, and SmartArray cciss controllers.</para>
    29643063</answer>
     
    29713070<informaltable><tgroup cols="1"><tbody>
    29723071<row>
    2973 <entry>
    2974 
    2975 bash# cdrecord -scanbus
    2976 
    2977 </entry>
    2978 </row>
    2979 </tbody></tgroup></informaltable>
     3072    <entry>
     3073        bash# cdrecord -scanbus
     3074    </entry>
     3075</row>
     3076</tbody></tgroup></informaltable>
     3077<para>or for ATAPI type of devices:</para>
     3078<para></para>
     3079<informaltable><tgroup cols="1"><tbody>
     3080<row>
     3081    <entry>
     3082        bash# cdrecord -scanbus dev=ATAPI
     3083    </entry>
     3084</row>
     3085</tbody></tgroup></informaltable>
     3086<para>you may replace ATAPI by ATA in the previous line with certain cdrecord versions and hadrware configurations</para>
     3087
    29803088
    29813089<para>Find your CD burner's device# (e.g. '0,0,0'). Call Mondo with
     
    32093317<qandaentry>
    32103318<question>
    3211 <para id="LVM"/>Q: I can't nuke-restore my LVM or RAID or
     3319<para id="LVM">Q: I can't nuke-restore my LVM or RAID or
    32123320LVM-on-RAID setup. I have to do it manually. What now?</para></question>
    32133321<answer>
  • branches/2.2.2/mondo-doc/mondorestore.8

    r569 r1236  
    3232.I mondorestore
    3333restores data previously backed up with
    34 .I mondoarchive
    35 \&. mondoarchive does not take any command line parameters.
     34.I mondoarchive.
     35.I mondorestore
     36does not take any command line parameters.
    3637.
    3738Note that mondorestore will usually automatically be called when booting a
  • branches/2.2.2/mondo/ChangeLog

    r1016 r1236  
    22
    33MONDO CHANGES
     4
     52.2.2 (2007-03-08)
     6- Handle no compression + verify correctly (Scott Cummings)
     7- various HOWTO fixes (Mike Kinney)
     8- Fix temporarily a bug when a biggiefile > 32MB was compressed below the size
     9of a slice (16MB) (Michel Loiseleur/Bruno Cornec)
     10- Better module loading in insmod_crucial_modules (Andree Leidenfrost)
     11- Improve Gentoo packaging (Linos)
     12- Small typo fix for mondorestore man page (petes-bugs)
     13- Small memory management improvements (Michel Loiseleur/Bruno Cornec)
     14- Store NFS config only once (Bruno Cornec)
     15- Fix a flaw in libmondo-mountlist.c (there since rev [1] !!) (Bruno Cornec)
     16- Increased MAX_STR_LEN to 384 to make it divisible without remainder by eight
     17for 64 bits platforms (Andree Leidenfrost)
     18- Fix a bug where no bzip2 format file would be found when supporting gzip (Andy Wright)
     19- CentOS fixes (Andy Wright)
    420
    5212.2.1 (2006-12-23)
  • branches/2.2.2/mondo/VERSION

    r1018 r1236  
    1 2.2.1
     12.2.2
  • branches/2.2.2/mondo/distributions/gentoo/mondo.ebuild

    r781 r1236  
    2424    >=app-arch/bzip2-0.9
    2525    app-cdr/cdrtools
    26     >=sys-apps/mindi-1.0.7
     26    >=sys-apps/mindi-1.2.1
    2727    >=dev-libs/newt-0.50
    2828    >=sys-libs/slang-1.4.1
  • branches/2.2.2/mondo/src/common/libmondo-archive.c

    r998 r1236  
    25882588    assert(bkpinfo != NULL);
    25892589    /* slice big files */
    2590     malloc_string(blah);
    25912590    malloc_string(biggielist);
    25922591    malloc_string(xattr_fname);
    25932592    malloc_string(acl_fname);
    2594     command = malloc(1200);
    25952593    mvaddstr_and_log_it(g_currentY, 0,
    25962594                        "Archiving large files to media           ");
     
    26032601    }
    26042602
    2605     sprintf(command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir,
     2603    asprintf(&command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir,
    26062604            biggielist);
    26072605    paranoid_system(command);
    2608     sprintf(blah, "biggielist = %s", biggielist);
     2606    paranoid_free(command);
     2607
     2608    asprintf(&blah, "biggielist = %s", biggielist);
    26092609    log_msg(2, blah);
     2610    paranoid_free(blah);
    26102611
    26112612    if (!does_file_exist(biggielist)) {
     
    26152616    if (g_getfattr) {
    26162617        get_fattr_list(biggielist, xattr_fname);
    2617         sprintf(command, "cp %s %s/archives/", xattr_fname,
     2618        asprintf(&command, "cp %s %s/archives/", xattr_fname,
    26182619            bkpinfo->scratchdir);
    26192620        paranoid_system(command);
     2621        paranoid_free(command);
    26202622    }
    26212623    if (g_getfacl) {
    26222624        get_acl_list(biggielist, acl_fname);
    2623         sprintf(command, "cp %s %s/archives/", acl_fname, bkpinfo->scratchdir);
     2625        asprintf(&command, "cp %s %s/archives/", acl_fname,
     2626             bkpinfo->scratchdir);
    26242627        paranoid_system(command);
     2628        paranoid_free(command);
    26252629    }
    26262630
    26272631    if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) {
    26282632        res += write_EXAT_files_to_tape(bkpinfo, xattr_fname, acl_fname);
    2629         sprintf(blah, "%ld", count_lines_in_file(biggielist));
     2633        asprintf(&blah, "%ld", count_lines_in_file(biggielist));
    26302634        write_header_block_to_stream((off_t)0, blah, BLK_START_BIGGIEFILES);
     2635        paranoid_free(blah);
    26312636    }
    26322637    res = make_slices_and_images(bkpinfo, biggielist);
     
    26492654    return (retval);
    26502655}
    2651 
    26522656
    26532657
     
    34743478    strcpy(tmp, slice_fname(biggie_file_number, 0, bkpinfo->tmpdir, ""));
    34753479    fout = fopen(tmp, "w");
     3480    if (fout == NULL) {
     3481        mr_msg(1, "Unable to open and write to %s\n", tmp);
     3482        paranoid_free(tmp);
     3483        paranoid_free(suffix);
     3484        return (1);
     3485    }
     3486
    34763487    (void) fwrite((void *) &biggiestruct, 1, sizeof(biggiestruct), fout);
    34773488    paranoid_fclose(fout);
  • branches/2.2.2/mondo/src/common/libmondo-filelist.c

    r1015 r1236  
    352352    assert(maxsetsizeK > 0);
    353353
    354     max_sane_size_for_a_file = 32L * 1024L;
     354    max_sane_size_for_a_file = 64L * 1024L;
    355355// max_sane_size_for_a_file = maxsetsizeK*2;
    356356//  if (max_sane_size_for_a_file > 32*1024)
     
    17471747        log_msg(1, "Calculating filelist");
    17481748        sprintf(exclude_paths, " %s %s %s %s %s %s . .. \
    1749 " MNT_CDROM " " MNT_FLOPPY " /media/cdrom /media/cdrecorder \
     1749" MNT_CDROM " " MNT_FLOPPY " /media \
    17501750/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);
    17511751
  • branches/2.2.2/mondo/src/common/libmondo-files.c

    r1002 r1236  
    12451245    strcpy(nfs_server_ipaddr, tmp);
    12461246    strcpy(nfs_mount, p);
     1247
    12471248    /* BERLIOS : there is a bug #67 here as it only considers the first NIC */
    12481249    sprintf(command,
     
    14171418    char tmp[MAX_STR_LEN];
    14181419    char *p;
     1420    char *q = NULL;
     1421
     1422    q = strrchr(filename, '.');
     1423    if (q == NULL) {
     1424        return (FALSE);
     1425    }
    14191426
    14201427    sprintf(tmp, "%s/do-not-compress-these", g_mondo_home);
     
    14221429        return (FALSE);
    14231430    }
    1424     strcpy(do_not_compress_these, last_line_of_file(tmp));
     1431    /* BERLIOS: This is just plain WRONG !! */
     1432    strcpy(do_not_compress_these,last_line_of_file(tmp));
     1433
    14251434    for (p = do_not_compress_these; p != NULL; p++) {
    14261435        strcpy(tmp, p);
     
    14281437            *(strchr(tmp, ' ')) = '\0';
    14291438        }
    1430         if (!strcmp(sz_last_suffix(filename), tmp)) {   /*printf("MATCH\n"); */
     1439        if (!strcmp(q, tmp)) {
    14311440            return (TRUE);
    14321441        }
  • branches/2.2.2/mondo/src/common/libmondo-fork.c

    r797 r1236  
    155155    }
    156156    strip_spaces(result);
     157    paranoid_free(tmp);
    157158    return (result);
    158159}
     
    201202    log_msg(3, "Starting");
    202203    assert(bkpinfo != NULL);
    203     assert_string_is_neither_NULL_nor_zerolength(basic_call);
     204    // BERLIOS: doesn't work even if the string is correct !
     205    //assert_string_is_neither_NULL_nor_zerolength(basic_call);
    204206    assert_string_is_neither_NULL_nor_zerolength(isofile);
    205207    assert_string_is_neither_NULL_nor_zerolength(logstub);
  • branches/2.2.2/mondo/src/common/libmondo-mountlist.c

    r541 r1236  
    5858#include "libmondo-tools-EXT.h"
    5959#include "libmondo-string-EXT.h"
    60 #include "libmondo-gui-EXT.h"
     60#include "newt-specific-EXT.h"
    6161
    6262/*@unused@*/
     
    369369        sprintf(tmp, " %ld MB unallocated on %s.",
    370370                physical_drive_size - amount_allocated, drive);
    371         log_it(tmp), strcat(flaws_str, tmp);
     371        log_it(tmp);
     372        strcat(flaws_str, tmp);
     373        /* BERLIOS: Flawed since rev 1 !! */
     374        res++;
    372375    }
    373376    if (res) {
     
    525528        sprintf(tmp, " %ld MB unallocated on %s.",
    526529                physical_drive_size - amount_allocated, drive);
    527         log_it(tmp), strcat(flaws_str, tmp);
     530        log_it(tmp);
     531        strcat(flaws_str, tmp);
     532        /* BERLIOS: Flawed since rev 1 !! */
     533        res++;
    528534    }
    529535
  • branches/2.2.2/mondo/src/common/libmondo-string.c

    r841 r1236  
    513513
    514514    input = malloc(2000);
    515     assert_string_is_neither_NULL_nor_zerolength(ip);
     515    // BERLIOS: seems to cause invalid errors
     516    //assert_string_is_neither_NULL_nor_zerolength(ip);
    516517    assert_string_is_neither_NULL_nor_zerolength(token);
    517518    assert(value != NULL);
  • branches/2.2.2/mondo/src/common/libmondo-tools.c

    r998 r1236  
    459459/**
    460460 * Insert modules that Mondo requires.
    461  * Currently inserts @c dos, @c fat, @c vfat, and @c osst for Linux;
     461 * Currently inserts @c msdos, @c vfat, and @c loop for Linux;
    462462 * @c msdosfs and @c ext2fs for FreeBSD.
    463463 */
     
    468468    system("kldstat | grep ext2fs  || kldload ext2fs 2> /dev/null");
    469469#else
    470     system("modprobe dos &> /dev/null");
    471     system("modprobe fat &> /dev/null");
    472     system("modprobe vfat &> /dev/null");
    473     //  system("modprobe osst &> /dev/null");
     470    system("modprobe -a msdos vfat loop &> /dev/null");
    474471#endif
    475472}
  • branches/2.2.2/mondo/src/common/libmondo-verify.c

    r1003 r1236  
    369369           does_file_exist(slice_fname
    370370                           (bigfile_num, slice_num, mountpoint, ""))) {
    371 // handle slices until end of CD
     371        // handle slices until end of CD
    372372        if (slice_num == 0) {
    373373            log_msg(2, "ISO=%d  bigfile=%ld --START--",
     
    391391            if (!(forig = fopen(tmp, "r"))) {
    392392                log_msg(2, "Failed to open bigfile. Darn.");
     393                log_to_screen(_("%s/%s not found on live filesystem"),
     394                            bkpinfo->restore_path,
     395                            biggiestruct.filename);
     396                asprintf(&tmp, "echo \"%s/%s not found\" >> /tmp/biggies.changed",
     397                            bkpinfo->restore_path,
     398                            biggiestruct.filename);
     399                system(tmp);
     400                paranoid_free(tmp);
     401
     402                bigfile_num++;
     403                slice_num = 0;
    393404                retval++;
     405            } else {
     406                slice_num++;
    394407            }
    395             slice_num++;
    396         } else if (does_file_exist
    397                    (slice_fname(bigfile_num, slice_num, mountpoint, ""))) {
     408            paranoid_free(tmp2);
     409        } else if (does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, "")) &&
     410                   (length_of_file(slice_fname(bigfile_num, slice_num, mountpoint, "")) == 0)) {
    398411            log_msg(2, "ISO=%d  bigfile=%ld ---END---",
    399412                    g_current_media_number, bigfile_num);
     
    402415            slice_num = 0;
    403416        } else {
    404             log_msg(2, "ISO=%d  bigfile=%ld  slice=%ld  \r",
     417            mr_msg(2, "ISO=%d  bigfile=%ld  slice=%ld",
    405418                    g_current_media_number, bigfile_num, slice_num);
    406             if (bkpinfo->compression_level > 0) {
     419            if (!does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, ""))) {
    407420                sprintf(command, "%s -dc %s 2>> %s",
    408421                        sz_exe,
    409                         slice_fname(bigfile_num, slice_num, mountpoint,
    410                                     bkpinfo->zip_suffix),
     422                        slice_fname(bigfile_num, slice_num, mountpoint, bkpinfo->zip_suffix),
    411423                        MONDO_LOGFILE);
    412424            } else {
    413                 sprintf(command, "cat %s",
    414                         slice_fname(bigfile_num, slice_num, mountpoint,
    415                                     bkpinfo->zip_suffix));
     425                sprintf(command, "cat %s 2>> %s",
     426                        slice_fname(bigfile_num, slice_num, mountpoint, ""), MONDO_LOGFILE);
    416427            }
    417428            if ((pin = popen(command, "r"))) {
     
    435446                }
    436447                paranoid_pclose(pin);
    437                 if (res && !strncmp(biggiestruct.filename, " /dev/", 5)) {
     448                if (res && !strncmp(biggiestruct.filename, "/dev/", 5)) {
    438449                    log_msg(3,
    439450                            "Ignoring differences between %s and live filesystem because it's a device and therefore the archives are stored via ntfsclone, not dd.",
  • branches/2.2.2/mondo/src/common/my-stuff.h

    r792 r1236  
    266266#define ARBITRARY_MAXIMUM 2000  ///< The maximum number of items showing at once in the mountlist or filelist editor.
    267267#define MAX_TAPECATALOG_ENTRIES 8192    ///< The maximum number of entries in the tape catalog.
    268 #define MAX_STR_LEN 380         ///< The maximum length of almost all @p char buffers in Mondo.
     268#define MAX_STR_LEN 384         ///< The maximum length of almost all @p char buffers in Mondo.
     269                                        ///  Note: Make this divisible by eight to avoid aligment issues
     270                                        ///        on 64bit platforms like ia64.
    269271#define MAXIMUM_RAID_DEVS 32    ///< The maximum number of RAID devices in the raidlist.
    270272#define MAXIMUM_ADDITIONAL_RAID_VARS 32 ///< The maximum number of additional RAID variables per RAID device in the raidlist.
  • branches/2.2.2/mondo/src/mondoarchive/main.c

    r948 r1236  
    152152 * Print a "don't panic" message to the log and a message about the logfile to the screen.
    153153 */
    154 void welcome_to_mondoarchive()
     154void welcome_to_mondoarchive(void)
    155155{
    156156    log_msg(0, "Mondo Archive v%s --- http://www.mondorescue.org",
     
    197197 * of the day.
    198198 */
    199 void distro_specific_kludges_at_start_of_mondoarchive()
     199void distro_specific_kludges_at_start_of_mondoarchive(void)
    200200{
    201201    log_msg(2, "Unmounting old ramdisks if necessary");
     
    214214 * Undo whatever was done by distro_specific_kludges_at_start_of_mondoarchive().
    215215 */
    216 void distro_specific_kludges_at_end_of_mondoarchive()
     216void distro_specific_kludges_at_end_of_mondoarchive(void)
    217217{
    218218//  char tmp[500];
  • branches/2.2.2/mondo/src/mondoarchive/mondo-cli.c

    r999 r1236  
    279279    sprintf(tmp, "mkdir -p %s", bkpinfo->scratchdir);
    280280    paranoid_system(tmp);
    281     if (bkpinfo->nfs_mount[0] != '\0') {
    282         store_nfs_config(bkpinfo);
    283     }
    284281    paranoid_free(tmp);
    285282    return (retval);
  • branches/2.2.2/mondo/src/mondorestore/mondo-restore.c

    r1053 r1236  
    11/***************************************************************************
    2        mondo-restore.c  -  restores mondoarchive data
    3                              -------------------
    4     begin                : Fri May 19 2000
    5     copyright            : (C) 2000 by Hugo Rabson
    6     email                : Hugo Rabson <hugorabson@msn.com>
    7     cvsid                : $Id$
     2$Id$
     3restores mondoarchive data
    84***************************************************************************/
    9 
    10 /***************************************************************************
    11  *                                                                         *
    12  *   This program is free software; you can redistribute it and/or modify  *
    13  *   it under the terms of the GNU General Public License as published by  *
    14  *   the Free Software Foundation; either version 2 of the License, or     *
    15  *   (at your option) any later version.                                   *
    16  *                                                                         *
    17  ***************************************************************************/
    18 
    19 /***************************************************************************
    20  *                         Change Log                                      *
    21  ***************************************************************************
    22 .
    23 
    24 
    25 07/26
    26 - workaround - if not /dev then don't call partimagehack
    27 
    28 07/21
    29 - if switch to Interactive Mode during nuke then don't nuke twice :) just once
    30 
    31 07/18
    32 - better support of users who boot from LVM CD and nuke-restore non-LVM backups
    33 
    34 07/10
    35 - when using 'star', exclude all 'not removed.' messages from log (misleading, they are)
    36 - try w/ ACLs, then w/o ACLs if star fails w/ ACLs
    37 - added ACL, xattr support for afio
    38 
    39 06/26
    40 - remove make_relevant_partition_bootable(); roll into mondo-prep.c
    41 - changed various newtDrawRootText() calls to use g_noof_rows instead of
    42   integers
    43 
    44 06/19
    45 - don't try to access biggiestruct before it is populated w/ data relating
    46   to biggiefile; instead, use control char to find out if biggiefile is
    47   to be restored w/ partimagehack or not
    48 - added AUX_VER
    49 
    50 06/15
    51 - read_cfg_file_into_bkpinfo() --- use user-supplied 'isodir' instead of
    52   archive's 'isodir' if different
    53   Conor Daly <conor.daly@met.ie>
    54 
    55 06/17
    56 - restore with partimagehack if NTFS device; dd, if non-NTFS device
    57 
    58 06/14
    59 - unmount all; remount, run grub-mr; unmount again
    60 
    61 04/09
    62 - fixed subset restoration bug introduced when I added 'star' support
    63 
    64 04/04
    65 - cleaned up restore_a_tarball_from_stream()
    66 
    67 04/03
    68 - added star support
    69 - pause for 3s between partitioning and formatting (if in Nuke Mode)
    70 
    71 03/28
    72 - check that g_mountlist_fname was correcfly set; abort if it wasn't
    73 
    74 03/25
    75 - removed dev_null code
    76 
    77 03/22/04
    78 - added mode_of_file()
    79 - added code to check for unauthorised modification of /dev/null
    80   by afio (for instance)
    81 
    82 12/27/03
    83 - check /tmp/cmdline instead of /proc/cmdline if on FreeBSD
    84 
    85 11/15
    86 - added g_fprep
    87 - "Switch to interactive mode?" msg is now more informative
    88 
    89 11/05
    90 - after 'Are you sure?' when user specifies / as restore path, set
    91   restore_path[] to "" so that files are restored to [blank]/file/name :)
    92 
    93 10/29
    94 - moved "No restoring or comparing will take place today" block
    95   up to before iso_fiddly_bits (if iso) is called - fix bug
    96   if you're in ISO Mode and you say "exit to shell"
    97 
    98 10/22
    99 - swapped calls to chmod() and chown() after restoration
    100   of big files (Jens)
    101 
    102 10/21
    103 - changed "/mnt/cdrom" to MNT_CDROM
    104 
    105 10/19
    106 - restore biggiefiles selectively from CD properly
    107 - use find_my_editor() to find pico/vi/whatever
    108 - better use of call_program_and_get_last_line_of_output() to
    109   scan /proc/cmdline
    110 
    111 10/18
    112 - don't report 'missing compressor' if no compressor used at all
    113 
    114 10/14
    115 - log afio's error messages to /var/log/mondo-archive.log
    116   when restoring :)
    117 - call vi if pico is not available
    118 
    119 10/09
    120 - better logging if fatal error (cannot openout bigfile)
    121 - better GUI feedback when restoring big files
    122 - restore_everything() now uses s_node* instead of char*
    123 - ditto restore_all_*_from_*()
    124 
    125 10/02
    126 - succinct msg instead of pop-ups, if used -H
    127 
    128 09/27
    129 - tweaked restore-time gui
    130 
    131 09/26
    132 - proper reporting of DVD/CDR/etc. type in displayed dialogs
    133 
    134 09/23
    135 - malloc/free global strings in new subroutines - malloc_libmondo_global_strings()
    136   and free_libmondo_global_strings() - which are in libmondo-tools.c
    137 
    138 09/21
    139 - trying to fix "mondorestore <no params>" segfault
    140 
    141 09/18
    142 - better remounting of /
    143 - cleaned up run_grub()
    144 - sensible command-line handling in Live Mode
    145 
    146 09/17
    147 - cleaned up GRUB installer script a bit
    148 
    149 09/15
    150 - remount / as r/w if in disaster recovery mode;
    151   helps for b0rken distros
    152 
    153 09/13
    154 - major NTFS hackage
    155 
    156 09/12
    157 - changed some in-sub var decl'ns to malloc()'s
    158 
    159 09/05
    160 - don't let me run unless I'm root
    161 - finished NTFS/partimagehack support (CD only); working on tape now
    162 
    163 09/01
    164 - fixed cosmetic bug in biggiefile restore window
    165 
    166 06/01 - 08/31
    167 - added code to main() to make sure NFS
    168   (backup) share is mounted in Nuke and Compare Modes
    169 - added code to run_grub() to mount /boot before running grub-install
    170 - fixed some stray assert()'s in restore_a_biggiefile_from_stream()
    171 - fixed bugs in extract_config_file_from_ramdisk()
    172   and get_cfg_file_from_archive() which
    173   stopped fape+floppy users from being able to
    174   boot from floppy and leave floppy in drive :)
    175 - added hooks to partimage for doing imagedevs
    176 - fixed calls to popup_and_get_string()
    177 
    178 05/01 - 05/31
    179 - fixed biggiefile atime/utime dates restoration bug, I think
    180 - added misc clean-up (Steve Hindle)
    181 - fixed support for subdir-within-NFS-mount
    182 - if nuke mode fails & user reverts to interactive mode _and succeeds_,
    183   don't claim nuke mode aborted :)
    184 - unmount_all_devices() uses mountlist->el[lino].mountpt
    185   instead of mountlist->el[lino].device where possible
    186 - added Joshua Oreman's FreeBSD patches
    187 - copied missing paragraph from 1.6x's read_cfg_file_into_bkpinfo()
    188   to 1.7x's; affected tape streamer users (badly!)
    189 - cleaned up some paranoid assert()'s
    190 - use which("post-nuke") instead of find_home_of_exe("post-nuke")
    191 - fixed "Don't eject while restoring" mode
    192 - get_cfg_file_from_archive() --- also recovers mountlist.txt now :)
    193 - don't eject if 'donteject' is in kernel's command line
    194 - added 'don't panic' msg to start of log
    195 
    196 04/01 - 04/30
    197 - added text mode (cat /proc/cmdline; if textonly then text mode is on)
    198 - delete /var/lock/subsys/ * when nuking
    199 - don't resize mountlist if "noresize" present in /proc/cmdline
    200 - changed from chmod -R 1777 tmp to chmod 1777 tmp
    201 - replace newtFinished() and newtInit() with
    202   newtSuspend() and newtResume()
    203 - get_cfg_file_from_archive() returns 1 instead of aborting now
    204 - read_cfg_file_into_bkpinfo) --- if autorun CD but its config
    205   file indicates a non-CD backup media then ask, just in case
    206 - sped up restore_a_tarball_from_CD() a bit
    207 - line 4469 --- if post-nuke not found then don't run it :)
    208 - replaced "/mnt/RESTORING" with MNT_RESTORING (#define'd)
    209 - moved compare_*() into mondorestore/mondo-rstr-compare.c
    210 - moved some RAID subroutines into common/libmondo-raid.c
    211 - fixed some iso live compare problems
    212 - replaced FILELIST_FULL with g_filelist_full and FILELIST_FULL_STUB;
    213   g_filelist_full being the full path of the filelist.full text file and
    214   FILELIST_FULL_STUB being "tmp/filelist.full" (relative path);
    215 - ditto BIGGIELIST_TXT, MONDO_CFG_FILE
    216 - added lots of assert()'s and log_OS_error()'s
    217 - in Nuke Mode, check mountlist's sanity before doing anything else;
    218   if it fails sanity test, offer to revert to Interactive Mode (or abort)
    219 - copy log to /mnt/RESTORING/root at end
    220 - read_cfg_file_into_bkpinfo() --- read iso-dev and isodir if bkptype==iso
    221 - line 1701 --- delete ramdisk file after extracting config info
    222 - moved call to make_relevant_partitions_bootable() from
    223   within run_boot_loader() to within interactive_mode() and
    224   nuke_mode(), after unmounting disks
    225 - if editing fstab or *.conf, try to use pico if available
    226 - better calling of make-me-bootable
    227 - don't sort mountlist anywhere anymore except _locally_ in
    228   mount_all_devices() and unmount_all_devices()
    229 - edit fstab, grub.conf _after_ stabgrub-me if it fails
    230 - run_boot_loader() --- backup all crucial files to /etc/ *.pristine first
    231 - added iso_fiddly_bits()
    232 - fixed ISO mode support
    233 - mount_cdrom() only searches for device if NOT in disaster recovery mode
    234 - changed lost of system()'s into run_program_and_log_output()'s
    235 - don't eject if bkpinfo->please_dont_eject_when_restoring
    236 - cleaned up post-nuke handling code
    237 - always eject CD at end, unless bkpinfo->please_dont_...
    238 - misc clean-up (Tom Mortell)
    239 - afio uses -c (1024L*1024L)/TAPE_BLOCK_SIZE now
    240   instead of -c 1024
    241 
    242 01/01 - 03/31/2003
    243 - commented out sort_... line (BB)
    244 - clean-up (Stan Benoit)
    245 - added code for LVM and SW Raid (Brian Borgeson)
    246 - line 814 - added -p to 'mkdir -p tmp'
    247 - mount_cdrom() - calls find_cdrom_device() if
    248   bkpinfo->media_device is blank (to fill it)
    249 
    250 11/01 - 12/31/2002
    251 - mount_cdrom() better at handling multiple CD drives
    252 - minor clean-up in restore_a_tarball_from_CD()
    253 - if --live-from-cd then assume restoring live from CD
    254 - tweaked it to run better w/ ArkLinux
    255 - create /mnt/RESTORING/mnt/.boot.d for Gentoo users
    256   after restoring
    257 - cleaned up iso_mode(); no longer asks for NFS info 3 times
    258 - mount_cdrom() was trying to mount /mnt/isodir/%s/%d.iso;
    259   is now just %s/%d.iso
    260 - mount/unmount /boot if necessary (Gentoo)
    261 - added RAW MBR support; added run_raw_mbr() for the purpose
    262 - unmount & remount supermounts at start/end of live restore
    263 - copy /tmp/mountlist.txt to /tmp/mountlist.txt.orig at start
    264 - cleaned up string-handling in get_cfg_info_from_archives()
    265 - fixed run_grub() to call new stabgrub-me script
    266 - popup list of changed files after Compare Mode
    267 - permit mondorestore --edit-mountlist even if live mode
    268 - create a repaired copy of grub-install which is RAID-friendly;
    269   use it when initializing boot sector with run_grub()
    270 - use grub-MR instead of grub-install
    271 - fixed read_cfg_file_into_bkpinfo() to ignore cfg file's backup_media_type
    272   if user has already specified a backup media type interactively
    273 
    274 10/01 - 10/31
    275 - run_grub() will let you specify the boot device as well as edit the system
    276   files, if grub-install fails
    277 - fixed bug in fwrite() call in restore_biggiefile_from_CD()
    278 - fixed bug affecting restoration of bigfiles from CD's w/0 compression
    279 - run_grub() will run 'grub-install {boot device}' instead of
    280   'grub-install (hd0)'
    281 
    282 09/01 - 09/30
    283 - use /tmp/tmpfs/mondo.tmp instead of /tmp/mondo.tmp
    284 - initialize MOUNTLIST_FNAME at start of main()
    285 - differential-related cleanup
    286 - better handling of CD-ROM drives which aren't /dev/cdrom :)
    287 - run_program_and_log_output() now takes boolean operator to specify
    288   whether it will log its activities in the event of _success_
    289 - always load config file from archive before operating on it
    290 - moved some subroutines around; now closer to alphabetical order
    291 - changed mount.mindi to mount.bootisk
    292 - mount disks readonly if in Compare Mode
    293 - set /dev/null's permissions to 777, just in case it somehow gets mangled
    294   ...which apparently happen with some devfs-based Linux distributions
    295 - remove /var/run/ *.pid after restoring
    296 - move spurious lockfiles from /home/ * to /home/ * /.disabled
    297 - if Interactive Mode then ask user which media, etc. (i.e. catchall mode
    298   is now same as Interactive Mode)
    299 
    300 08/01 - 08/30
    301 - use data structure to store the fname, checksum, mods & perms of each bigfile
    302   ... biggiestruct :)
    303 - if a filelist is tiny (2 bytes or less) then ignore it
    304 - insist_on_this_cd_number() --- now takes 2 params, not 1
    305 - re-enabled 'g_current_media_number = 1' in restore_everything()
    306 - added same to compare_mode()
    307 - replaced lots of global char[]'s with malloc()'s
    308 - if differential backup then don't permit formatting or fdisking,
    309   whether Interactive or Nuke mode
    310 - added call to register_pid() at start of main()
    311 - if Nuke Mode & it succeeds then ask user if they have contributed yet
    312 - changed tape-size to media-size (config file)
    313 - changed using_* to backup_media_type
    314 - changed *_from_tape to *_from_stream
    315 
    316 07/01 - 07/31
    317 - added find_and_mount_actual_cdrom()
    318 - temp dir is always random
    319 - skip tarballs if they don't contain files we're looking for
    320   (used to read the whole thing & _then_ skip)
    321 - use media_size[1] instead of media_size[0]
    322 - fixed serious bug in line 1546 - should have been !=, not ==; stopped
    323   mondorestore from correctly restoring big files
    324 - bigfile piping enhancements (Philippe de Muyter)
    325 - unmount CD-ROM after restoring from live filesystem
    326 - TAPE_BLOCK_SIZE treated as %ld, not %d
    327 
    328 06/01 - 06/30
    329 - added signal-trapping
    330 - disabled 'nr-failed-disks' flag
    331 - fixed problem w/selective restore
    332 - don't change /tmp's permissions unless it doesn't exist & must be created
    333 - fixed bug in --mbr
    334 - is_file_in_list() enhanced to exclude /mnt/RESTORING or whatever
    335 - added support for uncompressed archives
    336 - --monitas-live now accepts path-to-restore_to_, not just path to restore
    337 - added some debugging/tracking code to the NFS section
    338 - various monitas-related enhancements
    339 - added --isonuke and --mbr switches
    340 - better logging in run_grub()
    341 - improved --monitas-live
    342 - mkdir -p /mnt/RESTORING/var/run/console just in case user excludes it
    343 - afio now uses 16MB buffer instead of 8MB
    344 - always use bkpinfo->media_size[0], now that -s has been expanded
    345 - popup and ask where to restore data, if restoring selectively
    346 
    347 05/01 - 05/31
    348 - add '--monitas' flag
    349 - don't run chmod -R 1777 /mnt/RESTORING/tmp before unmounting unless
    350   restoring at the time...
    351 
    352 04/01 - 04/30
    353 - delete old /tmp/filelist.full,biggielist.txt if found when restoring to
    354   live filesystem
    355 - replace MONDO_VERSION #define with VERSION from ../config.h
    356 - write fname of bigfile to screen when having trouble reading/comparing it
    357 - if restoring to live filesystem then wipe /tmp/tmpfs/ * afterwards
    358 - removed spurious finish(0) from main()
    359 
    360 03/01 - 03/31/2002
    361 - if /tmp/m*ndo-restore.cfg not found then assume live restore; restore
    362   to / instead of /mnt/RESTORING
    363 - clean up is_file_in_list() to deal with the /mnt/RESTORING/ prefix
    364 - exclude leading '/' from filelist.restore-these
    365 - if /tmp/fstab.new exists then use _it_ instead of /tmp/fstab to label
    366   ext2 or ext3 partitions
    367 - improved logging
    368 
    369 [...]
    370 
    371 07/10/2001 --- first incarnation
    372 */
    373 
    3745
    3756/**
     
    25782209                current_tarball_number);
    25792210        if (!does_file_exist(tarball_fname)) {
     2211            sprintf(tarball_fname, MNT_CDROM "/archives/%ld.afio.gz",
     2212                current_tarball_number);
     2213        }
     2214        if (!does_file_exist(tarball_fname)) {
    25802215            sprintf(tarball_fname, MNT_CDROM "/archives/%ld.afio.lzo",
    25812216                    current_tarball_number);
  • branches/2.2.2/tools/DISTROS

    r1011 r1236  
    1818gentoo_1.6
    1919slackware_10.2
     20slackware_11.0
  • branches/2.2.2/tools/build2pkg

    r1038 r1236  
    1111dname=`dirname $0`
    1212prem=`echo $dname |cut -c1`
    13 if [ ${prem} == "/" ]; then
     13if [ _${prem} = _"/" ]; then
    1414    export TOOLHOME=$dname
    1515else
     
    125125        export pkg="$pkg $p-${PVER}.deb"
    126126        # Et voila !
    127     elif [  _"$dtype" = _"freebsd" ]; then
     127    elif [  _"$dtype" = _"port" ]; then
     128        cd $TOPBUILDDIR
     129        tar xfz $src
     130        cd ${p}-${PVER}
     131        mv distributions/${ddir}-$dver/* $TOPBUILDDIR
     132        cd ..
     133        rm -rf ${p}-${PVER}
     134        make DISTDIR=$TOPBUILDDIR
    128135    elif [  _"$dfam" = _"slackware" ]; then
    129136        mkdir -p $TOPBUILDDIR/build-${p}/install
  • branches/2.2.2/tools/distro-env

    r1038 r1236  
    2929        elif grep -q CentOS /etc/redhat-release ; then
    3030            export ddir="centos"
    31             export dver=`awk '{print $3}' /etc/redhat-release`
     31            export dver=`awk '{print $3}' /etc/redhat-release | cut -d. -f1`
    3232        else
    3333            export ddir="redhat"
     
    6464            export dver = "sid"
    6565        fi
    66     elif [ -e /etc/motd && grep -q FreeBSD /etc/motd ]; then
    67         export ddir="freebsd"
    68         export dver=`awk '{print $2}' /etc/motd | cut -d- -f1`
     66    elif [ -e /etc/motd ]; then
     67        head -1 /etc/motd | grep -q FreeBSD
     68        if [ $? -eq 0 ]; then
     69            export ddir="freebsd"
     70            export dver=`head -1 /etc/motd | awk '{print $2}' /etc/motd | cut -d- -f1`
     71        else
     72            export ddir="unknown"
     73            export dver=""
     74        fi
    6975    else
    7076        export ddir="unknown"
     
    148154elif [ _"$dtype" = _"deb" ]; then
    149155    mkdir -p ${TOPBUILDDIR}
     156elif [ _"$dtype" = _"port" ]; then
     157    mkdir -p ${TOPBUILDDIR}
    150158elif [ _"$dfam" = _"slackware" ]; then
    151159    mkdir -p ${TOPBUILDDIR}/install
  • branches/2.2.2/tools/svn2build

    r1038 r1236  
    2222TAG=`cat ${TOOLHOME}/../mondo/TAG`
    2323DEST=${TOPDIR}/${VER}-$TAG
     24TEST="false"
     25OPT=""
    2426mkdir -p $DEST
    2527
     28if [ "$1" = "--test" ]; then
     29    TEST="true"
     30    OPT="-r BASE"
     31    shift
     32fi 
     33
    2634if [ "$1" = "" ]; then
    27         c="mondo-doc mindi mindi-busybox mondo"
     35    c="mondo-doc mindi mindi-busybox mondo"
    2836else
    2937    if [ "$1" = "all" ]; then
     
    4351    dest="$DEST/$p-$v"
    4452    rm -fr $dest
    45     svn export ${TOOLHOME}/../$p $dest
     53    svn $OPT export ${TOOLHOME}/../$p $dest
    4654    echo "$REVISION" > $dest/REVISION
    4755    echo "Generating SVN log file ..."
    48     svn log -v ${TOOLHOME}/../$p > $dest/svn.log
     56    svn $OPT log -v ${TOOLHOME}/../$p > $dest/svn.log
    4957
    5058    for d in `cat ${TOOLHOME}/DISTROS`; do
     
    7280                exit -1
    7381            fi
    74             echo "Using $inc customization to build SPEC file"
    7582
    7683            $TOOLHOME/mkchangelog.pl $dtype $p $MONDOTMP/$p.spec
     
    148155    echo -n "Creating $p tar files (gzip... "
    149156    tar cfphz ${DEST}/$p-$v.tar.gz $p-$v
    150     echo -n " bzip2..."
    151     tar cfphj ${DEST}/$p-$v.tar.bz2 $p-$v
     157    if [ $TEST = "false" ]; then
     158        echo -n " bzip2..."
     159        tar cfphj ${DEST}/$p-$v.tar.bz2 $p-$v
     160    fi
    152161    echo " )"
     162    if [ $TEST = "true" ]; then
     163        echo "Use source under $DEST/$p-$v"
     164    fi
    153165done
    154166
Note: See TracChangeset for help on using the changeset viewer.