/usr/share/bootcd/bootcdflopcp is in bootcd 5.12.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | #!/bin/sh
# bootcdflopcp
# History
# 28.07.2000 - Recognize empty files too.
# - Do not depend on diff flag -N any longer.
# - Ignore symbolic links to same target.
set -e
LANG=C
VERBOSE=""
FLOPPY=/dev/fd0
err()
{
echo "ERROR: $1" >&2
exit 1
}
while [ "$*" ]; do
if [ "$1" = "-v" ]; then
VERBOSE="-v"
shift
elif [ "$1" = "-d" ]; then
FLOPPY=$2
shift 2
elif [ "$*" ]; then
echo "Usage: bootcdflopcp [-v] [-d <device>]"
echo " use man bootcdflopcp to get help" >&2
echo " device can be another device instead of /dev/floppy" >&2
exit 1
fi
done
TMP=/tmp/flopcp$$
MNTP=/mnt/floppy
mkdir -p $MNTP || exit 1
mount $FLOPPY $MNTP || exit 1
trap "umount $MNTP; rmdir $MNTP; rm -f $TMP" 0
touch $MNTP/remove $MNTP/change $MNTP/ignore $MNTP/execute
chmod 755 $MNTP/execute
IGNORE=""
CHANGE=""
REMOVE=""
mkdir -p /mnt/bootcd.root
[ "$(mount | grep "on /mnt/bootcd.root\>")" ] || mount --bind / /mnt/bootcd.root
[ "$(mount | grep "on /mnt/bootcd.ro\>")" ] || err "/mnt/bootcd.ro is not mounted"
# Search all Files that differ
find /mnt/bootcd.aufs -type f|grep -v "/\.wh\.\.wh\."|sed "s|/\.wh\.|/|" >$TMP
for f in `cat $TMP`; do
if [ "`grep ^$f$ $MNTP/ignore`" ]; then
IGNORE="$f $IGNORE"
continue
fi
if [ -e "$f" ]; then
if [ "`grep ^$f$ $MNTP/change`" ]; then
CHANGE="$f $CHANGE"
continue
fi
while :
do
echo -n "change $f (y/n) "
read a
# Next line handles EOF from a pipe as "n"
[ $? -ne 0 ] && a="n"
if [ "$a" = "y" ]; then
echo $f >> $MNTP/change
CHANGE="$f $CHANGE"
break
elif [ "$a" = "n" ]; then
echo $f >> $MNTP/ignore
IGNORE="$f $IGNORE"
break
fi
done
else
if [ "`grep ^$f$ $MNTP/remove`" ]; then
REMOVE="$f $REMOVE"
continue
fi
while :
do
echo -n "remove $f (y/n) "
read a
# Next line handles EOF from a pipe as "n"
[ $? -ne 0 ] && a="n"
if [ "$a" = "y" ]; then
echo $f >> $MNTP/remove
REMOVE="$f $REMOVE"
break
elif [ "$a" = "n" ]; then
echo $f >> $MNTP/ignore
IGNORE="$f $IGNORE"
break
fi
done
fi
done
if [ "$VERBOSE" ]; then
echo "Changing $CHANGE." >&2
echo "Removing $REMOVE." >&2
echo "Ignoring $IGNORE." >&2
fi
(cd /; tar cz -T $MNTP/change -f $MNTP/change.tgz)
exit 0
|