diff --git a/scripts/jcs b/scripts/jcs index 0a41ad95..a8484894 100644 --- a/scripts/jcs +++ b/scripts/jcs @@ -546,9 +546,16 @@ for NEXT_SECTION in $SECTIONS "$LAST_LINE_MARKER"; do if [ -z $TEST ] ; then echo " + saving old file $TARGETFILE to $BACKUP_DIR/$SOURCEFILE" mv -f $TARGET_DIR/$TARGETFILE $BACKUP_DIR/$SOURCEFILE - chown $BACKUP_OWNER.$BACKUP_GROUP $BACKUP_DIR/$SOURCEFILE 2>/dev/null - chmod $BACKUP_MODE $BACKUP_DIR/$SOURCEFILE 2>/dev/null - gzip -f $BACKUP_DIR/$SOURCEFILE + chown $BACKUP_OWNER.$BACKUP_GROUP $BACKUP_DIR/$SOURCEFILE 2>/dev/null + if [ -d $BACKUP_DIR/$SOURCEFILE ]; then + tar -cjf $BACKUP_DIR/$SOURCEFILE.tar.bz2 $BACKUP_DIR/$SOURCEFILE + # FIXME: make sure this doesn't delete root + rm -rf $BACKUP_DIR/$SOURCEFILE + chmod $BACKUP_MODE $BACKUP_DIR/$SOURCEFILE.tar.bz2 2>/dev/null + else + gzip -f $BACKUP_DIR/$SOURCEFILE + chmod $BACKUP_MODE $BACKUP_DIR/$SOURCEFILE.gz 2>/dev/null + fi else echo " + would save old file $TARGETFILE to $BACKUP_DIR/$SOURCEFILE" fi @@ -557,7 +564,7 @@ for NEXT_SECTION in $SECTIONS "$LAST_LINE_MARKER"; do if [ -z "$TEST" ] ; then echo " + copying file $SOURCEFILE to $TARGET_DIR/$TARGETFILE" test -L $TARGET_DIR/$TARGETFILE && rm -f $TARGET_DIR/$TARGETFILE # better kill links - cp -f $SOURCE_DIR/$SOURCEFILE $TARGET_DIR/$TARGETFILE + cp -rf $SOURCE_DIR/$SOURCEFILE $TARGET_DIR/$TARGETFILE mkdir -p $cfg_jcs_log_dir echo $TARGET_DIR/$TARGETFILE >> $cfg_jcs_log_dir/changed_files.log chown $TARGET_OWNER.$TARGET_GROUP $TARGET_DIR/$TARGETFILE @@ -1612,7 +1619,7 @@ jcs_touch() { chgrp $cfg_jcs_group $1 } -jcs_setup() { +jcs_fetch() { local cvs_dir=`echo $cfg_jcs_dir | sed 's%/conf/.*%%'` local cvs_mod=`echo $cfg_jcs_dir | sed 's%.*/conf/%conf/%'` if [ "$cvs_dir" -a "$cvs_mod" ]; then @@ -1621,11 +1628,19 @@ jcs_setup() { cd $cvs_dir cvs checkout -P $cvs_mod || return 1 cd $cvs_mod - make setup ) fi } +jcs_setup() { + test -d "$cfg_jcs_dir" && { + ( + cd $cfg_jcs_dir + make setup + ) + } +} + # ===================== This is jcs SCRIPTNAME=$0 @@ -1689,6 +1704,7 @@ exit 0 useradd touch setup + fetch --<<<-- commands -- -->>>-- global usage --