]> git.sur5r.net Git - bacula/rescue/commitdiff
Integrate mkcdrec with Bacula
authorKern Sibbald <kern@sibbald.com>
Tue, 29 Aug 2006 16:55:37 +0000 (16:55 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 29 Aug 2006 16:55:37 +0000 (16:55 +0000)
rescue/.cvsignore
rescue/External-depkgs [new file with mode: 0644]
rescue/Makefile.in
rescue/autoconf/configure.in
rescue/build-depkgs [new file with mode: 0755]
rescue/configure
rescue/diffmkcdrec [new file with mode: 0755]
rescue/linux/cdrom/Makefile.in
rescue/version.h

index b4c6fc29b6ebd334098e4ca67988eb35a66c8a81..a0cf0fb5e5bba83aa4a2c632eca09638ca505a7a 100644 (file)
@@ -6,3 +6,5 @@ config.out
 autoconf/config.log
 kernsconfig
 diff
 autoconf/config.log
 kernsconfig
 diff
+mkcdrec
+mkCDrec_*
diff --git a/rescue/External-depkgs b/rescue/External-depkgs
new file mode 100644 (file)
index 0000000..6ff8786
--- /dev/null
@@ -0,0 +1,22 @@
+# This file provides information about the External dependencies required by
+# Bacula.
+#
+# There are four fields delimited by |.  Only the first two fields are 
+# required.  The other two are used when the top level directory of the
+# archive is not the same as the file name with any suffixes removed.
+#
+# Field 1 is the name of the dependency.  It is used to define the
+# name of the three variables which are assigned the values of fields 2 to 4.
+#
+# Field 2 is the URL of the archive.  It is assigned to the variable
+# URL_[field1].
+#
+# Field 3 is the top directory of the archive or the name of a directory that
+# must be created and the archive extracted into it.  It is assigned to the 
+# variable DIR_[field1].
+#
+# Field 4 indicates if the directory specified in field 3 must be created 
+# first and the archive extracted into it.  It is assigned to the variable
+# MKD_[field1]
+#
+MKCDREC|http://switch.dl.sourceforge.net/sourceforge/mkcdrec/mkCDrec_v0.9.4.tar.gz|mkcdrec
index fff0520e0962f1f189b4702f92e2f6055ebb1be2..5448d3675e099940fbb4ca416e8093049262e464 100755 (executable)
@@ -49,19 +49,23 @@ Makefiles:
 
 clean:
        @$(RMF) *~ 1 2 3 diff
 
 clean:
        @$(RMF) *~ 1 2 3 diff
-       @$(RMF) config.log config.out config.status
+       @$(RMF) config.log config.out config.status *.log
        @rm -rf autom4te.cache 
        @rm -rf bacula-rescue-$(VERSION).tar.gz
        @for subdir in freebsd linux solaris; do \
            if [ -f $${subdir}/Makefile ]; then \
        @rm -rf autom4te.cache 
        @rm -rf bacula-rescue-$(VERSION).tar.gz
        @for subdir in freebsd linux solaris; do \
            if [ -f $${subdir}/Makefile ]; then \
-                    (cd $${subdir}; $(MAKE) clean) \
+              (cd $${subdir}; $(MAKE) clean) \
            fi; \
        done
            fi; \
        done
+       @if [ -d mkcdrec ]; then \
+          (cd mkcdrec; $(MAKE) clean) \
+       fi
 
 # clean for distribution
 distclean: clean
        @$(RMF) -r CVS
 
 # clean for distribution
 distclean: clean
        @$(RMF) -r CVS
-
+       @rm -rf mkcdrec mkCDrec_*
+                        
 devclean: clean
        @for subdir in freebsd linux solaris; do \
            if [ -f $${subdir}/Makefile ]; then \
 devclean: clean
        @for subdir in freebsd linux solaris; do \
            if [ -f $${subdir}/Makefile ]; then \
index 8045980f64418a580d8bef5feed3c4b6e23bd4b5..25de3221caaefb9b63dd4dd5b3e15479824cbde3 100644 (file)
@@ -70,21 +70,37 @@ if test x${exec_prefix} = xNONE ; then
     exec_prefix=${prefix}
 fi
 
     exec_prefix=${prefix}
 fi
 
+# ------------------------------------------
+# What device to use
+# ------------------------------------------
+DEV=
+AC_ARG_WITH(dev,
+   [  --with-dev=DEVICE     specify device (e.g. /dev/hdc)],
+   [
+       if test "x$withval" != "xno" ; then     
+          DEV=$withval
+       fi
+   ]
+)
+
 # -------------------------------------------
 # -------------------------------------------
-# check for cdrecord writer location
+# if no --with-dev given check for cdrecord writer location
 # get scsibus,target,lun
 # -------------------------------------------
 # get scsibus,target,lun
 # -------------------------------------------
-CDSTL="3,0,0"
-if test ! x$CDRECORD = x ; then
-   CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD-RW | ${AWK} '{print $1}'`
-   if test x${CDSTL} = x ; then
-      CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD+RW | ${AWK} '{print $1}'`
-   fi
-   if test x${CDSTL} = x ; then
-      CDSTL="3,0,0"
+if test x$DEV = x ; then
+   CDSTL="3,0,0"
+   if test ! x$CDRECORD = x ; then
+      CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD-RW | ${AWK} '{print $1}'`
+      if test x${CDSTL} = x ; then
+        CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD+RW | ${AWK} '{print $1}'`
+      fi
+      if test x${CDSTL} = x ; then
+        CDSTL="3,0,0"
+      fi
    fi
    fi
+   DEV="ATA:${CDSTL}"
 fi
 fi
-AC_SUBST(CDSTL)
+AC_SUBST(DEV)
 
 dnl# --------------------------------------------------------------------------
 dnl# CHECKING COMMAND LINE OPTIONS
 
 dnl# --------------------------------------------------------------------------
 dnl# CHECKING COMMAND LINE OPTIONS
@@ -164,6 +180,36 @@ AC_ARG_WITH(static-fd,
 )
 AC_SUBST(STATIC_FD)
 
 )
 AC_SUBST(STATIC_FD)
 
+BACULA_BIN=
+# ------------------------------------------
+# Where to get Bacula binaries
+# ------------------------------------------
+AC_ARG_WITH(bacula-bin,
+   [  --with-bacula-bin=PATH   specify path to bacula binaries (NOT IMPLEMENTED)],
+   [
+       if test "x$withval" != "xno" ; then     
+         BACULA_BIN=$withval
+       fi
+   ]
+)
+AC_SUBST(BACULA_BIN)
+
+BACULA_SCRIPTS=
+# ------------------------------------------
+# Where to get Bacula scripts
+# ------------------------------------------
+AC_ARG_WITH(bacula-scripts,
+   [  --with-bacula-scripts=PATH    specify path to bacula scripts],
+   [
+       if test "x$withval" != "xno" ; then     
+         BACULA_SCRIPTS=$withval
+       fi
+   ]
+)
+AC_SUBST(BACULA_SCRIPTS)
+
+
+
 if test x${bacula} = x -a x${STATIC_FD} = x ; then
    AC_MSG_ERROR(You must specify either --with-bacula=PATH or --with-static-fd=PATH)
 fi
 if test x${bacula} = x -a x${STATIC_FD} = x ; then
    AC_MSG_ERROR(You must specify either --with-bacula=PATH or --with-static-fd=PATH)
 fi
@@ -266,6 +312,7 @@ dnl# common parts of the Makefile
 MCOMMON=./autoconf/Make.common
 AC_SUBST_FILE(MCOMMON)
 
 MCOMMON=./autoconf/Make.common
 AC_SUBST_FILE(MCOMMON)
 
+./build-depkgs
 
 AC_OUTPUT([    \
           autoconf/Make.common \
 
 AC_OUTPUT([    \
           autoconf/Make.common \
@@ -282,15 +329,18 @@ AC_OUTPUT([    \
          [ ]
 )
 
          [ ]
 )
 
+  
 
 echo "
 Configuration on `date`:
 
   Host:                      $host -- ${DISTNAME} ${DISTVER}
   Rescue version:            ${VERSION} (${DATE})
 
 echo "
 Configuration on `date`:
 
   Host:                      $host -- ${DISTNAME} ${DISTVER}
   Rescue version:            ${VERSION} (${DATE})
+  Bacula scripts location:    ${BACULA_SCRIPTS}
   Source code location:       ${bacula}
   Static FD location:        ${STATIC_FD}
   Specific kernel version:    ${KERNEL}
   Source code location:       ${bacula}
   Static FD location:        ${STATIC_FD}
   Specific kernel version:    ${KERNEL}
+  CDROM device:              ${DEV}
 
   " > config.out
 
 
   " > config.out
 
diff --git a/rescue/build-depkgs b/rescue/build-depkgs
new file mode 100755 (executable)
index 0000000..18a71e5
--- /dev/null
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+usage()
+{
+        echo "usage: $0 [-h] [-C] [<dependency 1>] [<dependency 2>] ..."
+        echo "       -h      Displays this usage"
+        echo "       -C      Clobbers (overwrites) the source code by "
+        echo "               reextracting the archive and reapplying any"
+        echo "               patches."
+        echo ""
+        echo "<dependency N> Optional dependency, If none are given then all"
+        echo "               of them will be built."
+        echo ""
+        echo "Valid dependencies are:"
+        grep -v '^#' < External-depkgs | cut -d'|' -f1 | cut -d'_' -f1 | tr A-Z a-z | sort -u | awk '{ print "        " $1 }'
+}
+
+CLOBBER_SOURCE=
+
+while getopts "hHC" opt; do
+        case ${opt} in
+        H|h|\?) usage;exit 1;;
+        C)      CLOBBER_SOURCE=true;;
+        esac
+done
+
+[ ${OPTIND} -gt 1 ] && shift `expr ${OPTIND} - 1`
+
+cwd=`pwd`
+cd `dirname $0`
+SCRIPT_DIR=`pwd`
+TOP_DIR=`pwd`
+DEPPKG_DIR=`pwd`
+
+export PATH=${BIN_DIR}:${PATH}
+
+OLD_IFS=${IFS};IFS="|";
+while read package url dir mkd; do
+        case ${package} in
+        \#*) ;;
+        *) eval "URL_${package}=${url};DIR_${package}=${dir};MKD_${package}=${mkd}";;
+        esac
+done < ${SCRIPT_DIR}/External-depkgs
+IFS=${OLD_IFS};unset OLD_IFS
+
+get_source()
+{
+        URL=$1
+        SRC_DIR=$2
+        MAKE_DIR=$3
+        ARCHIVE=`basename ${URL}`
+
+        case ${ARCHIVE} in
+        *.tar.gz)       ARCHIVER="tar xzf"; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.tar\.gz'`;;
+        *.tar.bz2)      ARCHIVER="tar xjf"; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.tar\.bz2'`;;
+        *.zip)          ARCHIVER="unzip -q";   [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.zip'`;;
+        *)              echo Unsupported archive type - $ARCHIVE; exit 1;;
+        esac
+        
+        if [ ! -e "${ARCHIVE}" ]
+        then 
+                echo Downloading "${URL}"
+                if wget --passive-ftp "${URL}"
+                then
+                        :
+                else
+                        echo Unable to download ${ARCHIVE}
+                        exit 1
+                fi
+        fi
+
+        if [ ! -e "${SRC_DIR}" -o "${CLOBBER_SOURCE}" = "true" ]
+        then
+                rm -rf ${SRC_DIR}
+                [ "${MAKE_DIR}" = "true" ] && mkdir ${SRC_DIR} && cd ${SRC_DIR}
+                echo Extracting ${ARCHIVE}
+                ${ARCHIVER} ${ARCHIVE} &> ${ARCHIVE}.log
+                cd ${SRC_DIR}
+                return 0
+        fi
+
+        cd ${SRC_DIR}
+        return 1
+}
+
+
+process_mkcdrec()
+{
+        if get_source "${URL_MKCDREC}" "${DIR_MKCDREC}" "${MKD_MKCDREC}"
+        then
+           echo "Have mkcdrec source"
+        fi
+}
+
+
+if [ "$#" -eq 0 ]
+then
+        process_mkcdrec
+else
+        for dependency in "$@"
+        do
+           eval "process_${dependency}"
+        done
+
+fi
index 8e2da6bd7c01732cb742e3dcdd3b2711edd8c213..0fdd8ed01369a8bee6c39fe27eed8bcb07c8f9c3 100755 (executable)
@@ -272,7 +272,7 @@ PACKAGE_STRING=
 PACKAGE_BUGREPORT=
 
 ac_unique_file="version.h"
 PACKAGE_BUGREPORT=
 
 ac_unique_file="version.h"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS BUILD_DIR TRUEPRG FALSEPRG AWK VERSION DATE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA MV RM CP ECHO AR CDRECORD build build_cpu build_vendor build_os host host_cpu host_vendor host_os HAVE_SUN_OS_TRUE HAVE_SUN_OS_FALSE HAVE_OSF1_OS_TRUE HAVE_OSF1_OS_FALSE HAVE_AIX_OS_TRUE HAVE_AIX_OS_FALSE HAVE_HPUX_OS_TRUE HAVE_HPUX_OS_FALSE HAVE_LINUX_OS_TRUE HAVE_LINUX_OS_FALSE HAVE_FREEBSD_OS_TRUE HAVE_FREEBSD_OS_FALSE HAVE_NETBSD_OS_TRUE HAVE_NETBSD_OS_FALSE HAVE_OPENBSD_OS_TRUE HAVE_OPENBSD_OS_FALSE HAVE_BSDI_OS_TRUE HAVE_BSDI_OS_FALSE HAVE_SGI_OS_TRUE HAVE_SGI_OS_FALSE HAVE_IRIX_OS_TRUE HAVE_IRIX_OS_FALSE HAVE_DARWIN_OS_TRUE HAVE_DARWIN_OS_FALSE CDSTL iso where type KERNEL bacula STATIC_FD hostname DISTNAME DISTVER LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS BUILD_DIR TRUEPRG FALSEPRG AWK VERSION DATE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA MV RM CP ECHO AR CDRECORD build build_cpu build_vendor build_os host host_cpu host_vendor host_os HAVE_SUN_OS_TRUE HAVE_SUN_OS_FALSE HAVE_OSF1_OS_TRUE HAVE_OSF1_OS_FALSE HAVE_AIX_OS_TRUE HAVE_AIX_OS_FALSE HAVE_HPUX_OS_TRUE HAVE_HPUX_OS_FALSE HAVE_LINUX_OS_TRUE HAVE_LINUX_OS_FALSE HAVE_FREEBSD_OS_TRUE HAVE_FREEBSD_OS_FALSE HAVE_NETBSD_OS_TRUE HAVE_NETBSD_OS_FALSE HAVE_OPENBSD_OS_TRUE HAVE_OPENBSD_OS_FALSE HAVE_BSDI_OS_TRUE HAVE_BSDI_OS_FALSE HAVE_SGI_OS_TRUE HAVE_SGI_OS_FALSE HAVE_IRIX_OS_TRUE HAVE_IRIX_OS_FALSE HAVE_DARWIN_OS_TRUE HAVE_DARWIN_OS_FALSE DEV iso where type KERNEL bacula STATIC_FD BACULA_BIN BACULA_SCRIPTS hostname DISTNAME DISTVER LIBOBJS LTLIBOBJS'
 ac_subst_files='MCOMMON'
 
 # Initialize some variables set by options.
 ac_subst_files='MCOMMON'
 
 # Initialize some variables set by options.
@@ -787,11 +787,14 @@ if test -n "$ac_init_help"; then
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-dev=DEVICE     specify device (e.g. /dev/hdc)
   --with-iso=PATH       specify path to iso (not implemented)
   --with-cdrom=PATH    specify path to cdrom
   --with-kernel=version  specify complete kernel version (e.g. 2.6.14-2)
   --with-bacula=PATH    specify path to Bacula source
   --with-static-fd=PATH    specify path to static FD
   --with-iso=PATH       specify path to iso (not implemented)
   --with-cdrom=PATH    specify path to cdrom
   --with-kernel=version  specify complete kernel version (e.g. 2.6.14-2)
   --with-bacula=PATH    specify path to Bacula source
   --with-static-fd=PATH    specify path to static FD
+  --with-bacula-bin=PATH       specify path to bacula binaries (NOT IMPLEMENTED)
+  --with-bacula-scripts=PATH    specify path to bacula scripts
 
 _ACEOF
 fi
 
 _ACEOF
 fi
@@ -2247,19 +2250,38 @@ if test x${exec_prefix} = xNONE ; then
     exec_prefix=${prefix}
 fi
 
     exec_prefix=${prefix}
 fi
 
+# ------------------------------------------
+# What device to use
+# ------------------------------------------
+DEV=
+
+# Check whether --with-dev or --without-dev was given.
+if test "${with_dev+set}" = set; then
+  withval="$with_dev"
+
+       if test "x$withval" != "xno" ; then
+          DEV=$withval
+       fi
+
+
+fi;
+
 # -------------------------------------------
 # -------------------------------------------
-# check for cdrecord writer location
+# if no --with-dev given check for cdrecord writer location
 # get scsibus,target,lun
 # -------------------------------------------
 # get scsibus,target,lun
 # -------------------------------------------
-CDSTL="3,0,0"
-if test ! x$CDRECORD = x ; then
-   CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD-RW | ${AWK} '{print $1}'`
-   if test x${CDSTL} = x ; then
-      CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD+RW | ${AWK} '{print $1}'`
-   fi
-   if test x${CDSTL} = x ; then
-      CDSTL="3,0,0"
+if test x$DEV = x ; then
+   CDSTL="3,0,0"
+   if test ! x$CDRECORD = x ; then
+      CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD-RW | ${AWK} '{print $1}'`
+      if test x${CDSTL} = x ; then
+        CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD+RW | ${AWK} '{print $1}'`
+      fi
+      if test x${CDSTL} = x ; then
+        CDSTL="3,0,0"
+      fi
    fi
    fi
+   DEV="ATA:${CDSTL}"
 fi
 
 
 fi
 
 
@@ -2353,6 +2375,42 @@ if test "${with_static_fd+set}" = set; then
 fi;
 
 
 fi;
 
 
+BACULA_BIN=
+# ------------------------------------------
+# Where to get Bacula binaries
+# ------------------------------------------
+
+# Check whether --with-bacula-bin or --without-bacula-bin was given.
+if test "${with_bacula_bin+set}" = set; then
+  withval="$with_bacula_bin"
+
+       if test "x$withval" != "xno" ; then
+         BACULA_BIN=$withval
+       fi
+
+
+fi;
+
+
+BACULA_SCRIPTS=
+# ------------------------------------------
+# Where to get Bacula scripts
+# ------------------------------------------
+
+# Check whether --with-bacula-scripts or --without-bacula-scripts was given.
+if test "${with_bacula_scripts+set}" = set; then
+  withval="$with_bacula_scripts"
+
+       if test "x$withval" != "xno" ; then
+         BACULA_SCRIPTS=$withval
+       fi
+
+
+fi;
+
+
+
+
 if test x${bacula} = x -a x${STATIC_FD} = x ; then
    { { echo "$as_me:$LINENO: error: You must specify either --with-bacula=PATH or --with-static-fd=PATH" >&5
 echo "$as_me: error: You must specify either --with-bacula=PATH or --with-static-fd=PATH" >&2;}
 if test x${bacula} = x -a x${STATIC_FD} = x ; then
    { { echo "$as_me:$LINENO: error: You must specify either --with-bacula=PATH or --with-static-fd=PATH" >&5
 echo "$as_me: error: You must specify either --with-bacula=PATH or --with-static-fd=PATH" >&2;}
@@ -2456,6 +2514,7 @@ esac
 MCOMMON=./autoconf/Make.common
 
 
 MCOMMON=./autoconf/Make.common
 
 
+./build-depkgs
 
                                                                                                               ac_config_files="$ac_config_files autoconf/Make.common Makefile linux/Makefile linux/cdrom/Makefile linux/cdrom/bacula/Makefile linux/cdrom/cdtree/boot/isolinux/boot.msg knoppix/cdrom/Makefile knoppix/cdrom/bacula/Makefile freebsd/Makefile solaris/Makefile $PFILES"
           ac_config_commands="$ac_config_commands default"
 
                                                                                                               ac_config_files="$ac_config_files autoconf/Make.common Makefile linux/Makefile linux/cdrom/Makefile linux/cdrom/bacula/Makefile linux/cdrom/cdtree/boot/isolinux/boot.msg knoppix/cdrom/Makefile knoppix/cdrom/bacula/Makefile freebsd/Makefile solaris/Makefile $PFILES"
           ac_config_commands="$ac_config_commands default"
@@ -3156,13 +3215,15 @@ s,@HAVE_IRIX_OS_TRUE@,$HAVE_IRIX_OS_TRUE,;t t
 s,@HAVE_IRIX_OS_FALSE@,$HAVE_IRIX_OS_FALSE,;t t
 s,@HAVE_DARWIN_OS_TRUE@,$HAVE_DARWIN_OS_TRUE,;t t
 s,@HAVE_DARWIN_OS_FALSE@,$HAVE_DARWIN_OS_FALSE,;t t
 s,@HAVE_IRIX_OS_FALSE@,$HAVE_IRIX_OS_FALSE,;t t
 s,@HAVE_DARWIN_OS_TRUE@,$HAVE_DARWIN_OS_TRUE,;t t
 s,@HAVE_DARWIN_OS_FALSE@,$HAVE_DARWIN_OS_FALSE,;t t
-s,@CDSTL@,$CDSTL,;t t
+s,@DEV@,$DEV,;t t
 s,@iso@,$iso,;t t
 s,@where@,$where,;t t
 s,@type@,$type,;t t
 s,@KERNEL@,$KERNEL,;t t
 s,@bacula@,$bacula,;t t
 s,@STATIC_FD@,$STATIC_FD,;t t
 s,@iso@,$iso,;t t
 s,@where@,$where,;t t
 s,@type@,$type,;t t
 s,@KERNEL@,$KERNEL,;t t
 s,@bacula@,$bacula,;t t
 s,@STATIC_FD@,$STATIC_FD,;t t
+s,@BACULA_BIN@,$BACULA_BIN,;t t
+s,@BACULA_SCRIPTS@,$BACULA_SCRIPTS,;t t
 s,@hostname@,$hostname,;t t
 s,@DISTNAME@,$DISTNAME,;t t
 s,@DISTVER@,$DISTVER,;t t
 s,@hostname@,$hostname,;t t
 s,@DISTNAME@,$DISTNAME,;t t
 s,@DISTVER@,$DISTVER,;t t
@@ -3559,14 +3620,17 @@ fi
 
 
 
 
 
 
+
 echo "
 Configuration on `date`:
 
   Host:                      $host -- ${DISTNAME} ${DISTVER}
   Rescue version:            ${VERSION} (${DATE})
 echo "
 Configuration on `date`:
 
   Host:                      $host -- ${DISTNAME} ${DISTVER}
   Rescue version:            ${VERSION} (${DATE})
+  Bacula scripts location:    ${BACULA_SCRIPTS}
   Source code location:       ${bacula}
   Static FD location:        ${STATIC_FD}
   Specific kernel version:    ${KERNEL}
   Source code location:       ${bacula}
   Static FD location:        ${STATIC_FD}
   Specific kernel version:    ${KERNEL}
+  CDROM device:              ${DEV}
 
   " > config.out
 
 
   " > config.out
 
diff --git a/rescue/diffmkcdrec b/rescue/diffmkcdrec
new file mode 100755 (executable)
index 0000000..c0973fd
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+diff -ur mkcdrec ../mkcdrec >diff
index d9608aa58e3fc0a017c69b21adc791420e362d87..721d9c972d41c2b79200ec2378954d16b5e97ec3 100644 (file)
@@ -5,6 +5,8 @@
 
 .PATH:         .
 
 
 .PATH:         .
 
+MKCDREC=@BUILD_DIR@/mkcdrec
+CWD=@BUILD_DIR@/linux/cdrom
 
 first_rule: all
 dummy:
 
 first_rule: all
 dummy:
@@ -52,19 +54,52 @@ bacula: dummy
 copy-bacula:
        cp -a bacula/ cdimage/
 
 copy-bacula:
        cp -a bacula/ cdimage/
 
+pre-mkcdrec:
+       @echo "Patching mkcdrec Config.sh for Bacula"
+       @mkdir -p tmp
+       @rm -f tmp/1 tmp/2 tmp/1
+       @cp ${MKCDREC}/Config.sh tmp/2
+       @echo "s%^BACULA_DIR.*$$%BACULA_DIR=${CWD}/bacula%g" >tmp/1
+       @sed -f tmp/1 tmp/2 >tmp/3
+       @echo "s%^BACULA_RESTORE.*$$%BACULA_RESTORE=\"y\"%g" >tmp/1
+       @sed -f tmp/1 tmp/3 >tmp/4
+       @echo "s%^DVD_Drive.*$$%DVD_Drive=0%g" >tmp/1
+       @sed -f tmp/1 tmp/4 >tmp/5
+       @echo "s%^USECOLOR.*$$%USECOLOR=n%g" >tmp/1
+       @sed -f tmp/1 tmp/5 >${MKCDREC}/Config.sh
+       @rm -rf tmp
+       @cp -f @BACULA_BIN@/bacula-fd bacula/bin
+       @cp -f @BACULA_SCRIPTS@/bacula-fd.conf bacula/bin
+
+main-mkcdrec: dummy
+       @echo "Doing make in mkcdrec directory"
+       (cd ${MKCDREC}; make rescue)
+
+post-mkcdrec:
+       @echo "Cleaning up"
+       cp /tmp/CDrec.iso bootcd.iso
+       chmod 644 bootcd.iso
+       rm -f /tmp/CDrec.iso
+
+
+# This will build the old Bacula rescue
 all:   kernel binaries bacula initrd iso
 
 all:   kernel binaries bacula initrd iso
 
+mkcdrec: bacula pre-mkcdrec main-mkcdrec post-mkcdrec
+
 copy-static-fd: kernel binaries static-bacula initrd iso
 
 
 # This needs to be customized for your burner.
 copy-static-fd: kernel binaries static-bacula initrd iso
 
 
 # This needs to be customized for your burner.
+# Use either dev=ATA:x,y,z  (as reported by cdrecord -scanbus)
+#        or dev=/dev/<device> (e.g. hdc)
 burn:
 burn:
-       cdrecord dev=ATA:@CDSTL@ gracetime=2 fs=4096k driveropts=burnfree -v \
+       cdrecord dev=@DEV@ gracetime=2 fs=4096k driveropts=burnfree -v \
         -useinfo speed=48 -dao -eject -pad -data "bootcd.iso"
 
 # Blank the CDROM assuming it is +rw
 blank:
         -useinfo speed=48 -dao -eject -pad -data "bootcd.iso"
 
 # Blank the CDROM assuming it is +rw
 blank:
-       cdrecord dev=ATA:@CDSTL@ gracetime=2 -v blank=fast -useinfo speed=48
+       cdrecord dev=@DEV@ gracetime=2 -v blank=fast -useinfo speed=48
 
 scan:
        cdrecord -scanbus
 
 scan:
        cdrecord -scanbus
@@ -100,3 +135,5 @@ clean:
        @rm -f cdtree/boot/isolinux/vmlinuz
        @rm -f cdtree/boot/isolinux/map
        @(cd bacula; make distclean)
        @rm -f cdtree/boot/isolinux/vmlinuz
        @rm -f cdtree/boot/isolinux/map
        @(cd bacula; make distclean)
+       @(cd ${MKCDREC}; make clean)
+       @(cd ${MKCDREC}/busybox; make distclean)
index 72f2ab62ecc502d21dbe0b00d102309e8a7637dc..29ea4d647ac282cff4fcccff28e6cf025ce2e742 100644 (file)
@@ -1,5 +1,5 @@
 /* */
 #undef  VERSION
 /* */
 #undef  VERSION
-#define VERSION "1.8.6"
-#define BDATE   "01 July 2006"
-#define LSMDATE "01Jul06"
+#define VERSION "2.0.0"
+#define BDATE   "29 August 2006"
+#define LSMDATE "29Aug06"