#!/bin/bash

if [ -z "$2" ]; then
  echo "Usage: $0 old_dir new_dir [tgt_dir]"
  exit
fi

if [ "$3" ]; then
  TGTDIR=$3
else
  TGTDIR=/tmp/salpack-migrate/etc
  mkdir -p $TGTDIR
fi
OLDDIR=$1
NEWDIR=$2

GREP_ARGS="`awk -F: '
  (500<=$3&&$3<=65500) { printf " -e ^%s:", $1 }
' $OLDDIR/passwd`"

for fn in passwd shadow group gshadow; do
  cat $NEWDIR/$fn > $TGTDIR/$fn
  grep $GREP_ARGS $OLDDIR/$fn >> $TGTDIR/$fn
done

diff -ur $OLDDIR $TGTDIR | grep -v "^Only in " | less
