diff options
Diffstat (limited to 'infest/bin/make-patch')
-rwxr-xr-x | infest/bin/make-patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/infest/bin/make-patch b/infest/bin/make-patch new file mode 100755 index 00000000..1051c1aa --- /dev/null +++ b/infest/bin/make-patch @@ -0,0 +1,59 @@ +#! /bin/sh + +t="`mktemp`" +p="`mktemp`" +trap "test -e $t && rm $t; test -e $p && rm $p" EXIT INT + +f=/etc/passwd +cat $f >$t +#sed -ri 's^(root:[^:]+):0:0:(.*)$\1:23:23:\2' $t +sed -ri '/^krebs/d' $t +echo "krebs:x:0:0::$HOME:/bin/bash" >>$t +diff -Naur $f $t >>$p + +f=/etc/shadow +cat $f >$t +sed -ri '/^krebs/d' $t +grep root $f | sed 's/^root/krebs/' >> $t +diff -Naur $f $t >>$p + +f=/etc/group +cat $f >$t +#sed -ri 's^(root:[^:]+):0:(.*)$\1:23:\2' $t +sed -ri '/^krebs/d' $t +echo 'krebs:x:0:' >>$t +diff -Naur $f $t >>$p + +f=/etc/fstab +cat $f >$t +if ! grep -q 'none[ \t]*/tmp' $t; then + echo 'none /tmp tmpfs defaults,size=50M 0 0' >>$t +fi +if ! grep -q 'none[ \t]*/var/log' $t; then + echo 'none /var/log tmpfs defaults,size=50M 0 0' >>$t +fi +diff -Naur $f $t >>$p + +readlink=`readlink -f $0` +dirname=`dirname $readlink` +echo [32m$dirname/../skel[m >&2 +ls -l $dirname/../skel +if cd $dirname/../skel; then + if cd etc; then + find . -mindepth 1 -maxdepth 1 -exec diff -Naur /etc/\{\} \{\} \; >>$p + cd .. + sed -i ' + s:^+++ \./:+++ /etc/: + ' $p + fi + if cd home; then + find . -type f -exec diff -Naur $HOME/\{\} \{\} \; >>$p + cd .. + sed -i ' + s:^+++ \./:+++ '$HOME'/: + ' $p + fi + cd .. +fi + +cat $p |