jcs: Support fetch and directory creation

- Support installation of target directories
  - Add jcs fetch

Signed-off-by: Jan Lindemann <jan@jannet.de>
This commit is contained in:
Jan Lindemann 2013-04-08 15:54:19 +00:00 committed by Jan Lindemann
commit fc9ec238e0

View file

@ -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 --