#!/system/bin/sh

set_perm() {
  chown $1.$2 $4
  chmod $3 $4
  if [ ! -z "$5" ]; then
    chcon -h $5 $4
    chcon $5 $4
  else
    chcon -h u:object_r:system_file:s0 $4
    chcon u:object_r:system_file:s0 $4
  fi
}

cp_perm() {
  rm $5
  if [ -f "$4" ]; then
    cat $4 > $5
    set_perm $1 $2 $3 $5 $6
  fi
}

if [ ! -d "/su" ]; then
  SUFILES=/data/adb/su
else
  SUFILES=/su
fi

chcon u:object_r:system_file:s0 $SUFILES

mkdir $SUFILES/bin
mkdir $SUFILES/xbin
mkdir $SUFILES/lib
mkdir $SUFILES/etc
mkdir $SUFILES/su.d

set_perm 0 0 0751 $SUFILES/bin
set_perm 0 0 0755 $SUFILES/xbin
set_perm 0 0 0755 $SUFILES/lib
set_perm 0 0 0755 $SUFILES/etc
set_perm 0 0 0700 $SUFILES/su.d

cp_perm 0 0 0755 /.sufrp/su $SUFILES/bin/su
cp_perm 0 0 0755 /.sufrp/su $SUFILES/bin/daemonsu
ln -s su $SUFILES/bin/supolicy
cp_perm 0 0 0755 /.sufrp/supolicy $SUFILES/bin/supolicy_wrapped
cp_perm 0 0 0644 /.sufrp/libsupol.so $SUFILES/lib/libsupol.so
cp_perm 0 0 0755 /.sufrp/sukernel $SUFILES/bin/sukernel
cp_perm 0 0 0644 /.sufrp/frp_date $SUFILES/frp_date
cp_perm 0 0 0644 /.sufrp/file_contexts $SUFILES/file_contexts
cp_perm 0 0 0644 /.sufrp/supersu_is_here $SUFILES/supersu_is_here
