#!/bin/bash
. /etc/kona/soundsystem.inc
touch /etc/kona/initdesktop
trace initdesktop-in
#sleep 5
if [ ! -z "$(grep $kv/ /etc/kona/os-release)" ]; then
  if [ -z "$(pgrep syndaemon)" ]; then
    if [ -f /etc/kona/waitime ]; then
      if [ "$(cat /etc/kona/waitime)" != "0" ]; then
        syndaemon -i $(cat /etc/kona/waitime) -K -R &
      fi
    fi
  fi
fi

if [ -d /cdrom/casper ]; then
  [ -z "$(pgrep light-locker)" ] || killall light-locker
  [ -z "$(pgrep xscreensaver)" ] || killall xscreensaver
  [ -z "$(pgrep -f  mate-screensaver)" ] || killall mate-screensaver
  [ -z "$(pgrep -f cinnamon-screensaver)" ] || killall cinnamon-screensaver

  cp /etc/skel/Desktop/install-debian.desktop ~/Desktop
  /etc/kona/autoupdatecheck.sh
  rm -f /etc/kona/initdesktop
  trace initdesktop-exit
  exit
else
  rm -f ~/Desktop/install-debian.desktop
  rm -f ~/.local/share/plasma_icons/install-debian.desktop
  if [ -z "$(gpg --list-keys|grep $uid)" ]; then
    gpg --import /usr/share/keyrings/package_pubkey-keyring.gpg
  fi
fi

#sleep 20

trace initdesktop-1

notify-send "システムの状態をチェックします" -i system-software-update

if [ "$(whoami)" = "root" ]; then
  zenity --warning --text="Rootでログインは禁止しています" --no-wrap
  rm -f /etc/kona/initdesktop
  systemctl reboot
fi

trace initdesktop-2
/etc/kona/checksystem.sh

trace initdesktop-3
/etc/kona/wmcheck.sh

# autoupdatecheck
trace "autoupdatechek call"
/etc/kona/autoupdatecheck.sh
/etc/kona/checkaudio.sh

trace initdesktop-4
#cd ~
if [ ! -z "$(ip route)" ] && [ ! -f connecting ]; then
  wget -q --timeout=30 "https://simosnet.com/debian/packages/connecting"
fi
if [ ! -f connecting ]; then
  trace initdesktop-4-1
  if [ -f /etc/kona/verbose ]; then
  if [ -z "$(ip route)" ]; then
    notify-send "ネットワークに接続できません" -i system-software-update
    trace initdesktop-4-2
    zenity --warning --title="ネットワーク未接続" --text="ネットワークに接続していないようですが\nこのままでは重要なエディションの更新(注)やシステムのアップデートができません。\nネットワークには常に接続できる状態にしてください。\nまたシステムのアップデートを保留したり手動で行うのは修正が遅れるので感心しません。\nオフラインで使うことには賛成できません。\nイレギュラーな使い方はできるだけ避けシステムに準備されている機能にまかせてください。\n(注)バグの修正、音質改善など" --no-wrap
  else
    notify-send "サーバー(simosnet.com)に接続できません" -i system-software-update
    zenity --warning --title="サーバー接続不可" --text="Kona Linuxのサーバー(simosnet.com)に接続できません\nシステムは使用できますが自動更新はかからないことに注意してください。\nサーバーの接続は少し時間をおいてから再試行してください" --no-wrap
  fi
  fi
  trace initdesktop-4-4
  rm -f /etc/kona/initdesktop
  exit
#else  
#  notify-send "ネットワークに接続しました" -i system-software-update
fi 
rm connecting

trace "get update file"
version="$(cat /etc/kona/version)"
updfile="update-$version.tgz"
rm -f "$updfile"
wget -q --timeout=30 https://simosnet.com/debian/packages/Konalinux/$kd/update/$kv/"$updfile"
trace "update file is getted and verify start"
/etc/kona/verifyupdate.sh $updfile
if [ "$?" = "0" ]; then
  trace "verify OK"
  if [ -f /etc/kona/update/update.tgz ]; then
    if [ ! -z "$(diff "$updfile" /etc/kona/update/update.tgz)" ]; then
      cp "$updfile" /etc/kona/update
      if [ "$(ls /etc/kona/update/backup|wc -l)" -gt 30 ]; then
	rm -f /etc/kona/update/backup/*
        trace "clear backup-2"
      fi
      mv "$updfile" /etc/kona/update/backup/$(date +%Y%m%d-%H:%M:%S)_"$updfile"
      if [ ! -f /etc/kona/update/update-desktop.sh ]; then
	if [ -f /etc/kona/verbose ]; then
          notify-send "自動更新の準備ができました。" -i system-software-update
        fi
      fi
    else
      rm -f "$updfile"
      if [ -f /etc/kona/autoupdated ] && [ ! -x /etc/kona/update/update-desktop.sh ]; then
#	rm -f /etc/kona/autoupdated
	if [ -f /etc/kona/verbose ]; then
          notify-send "自動更新をかけました。" -i system-software-update
        fi
      fi
    fi
  else
    cp "$updfile" /etc/kona/update
    if [ "$(ls /etc/kona/update/backup|wc -l)" -gt 30 ]; then
      rm -f /etc/kona/update/backup/*
      trace "clear backup-1"
    fi
    mv "$updfile" /etc/kona/update/backup/$(date +%Y%m%d-%H:%M:%S)_"$updfile"
    if [ ! -f /etc/kona/update/update-desktop.sh ]; then
      if [ -f /etc/kona/verbose ]; then
        notify-send "自動更新の準備ができました。" -i system-software-update
      fi
    fi
  fi
fi
rm -f "$updfile"
trace "upate file get end"

if [ -f /etc/kona/pkgadd ] && [ ! -f /etc/kona/update/update-* ] && ! dpkg -l|grep -q klue-$kv ; then
  if [ ! -z "$(apt-cache search klue-$kv)" ]; then
    gksudo "apt-get -y --force-yes install klue-$kv"
  fi
fi

if [ -x /etc/kona/update/update-desktop.sh ]; then
  notify-send "インストールの準備をしています" "インストールが終わるまでシステムを落とさないてください" -i system-software-update
  gksudo /etc/kona/update/update-desktop.sh
  notify-send "インストールが終わりました" "システムを再起動してください" -i system-software-update
  if [ -f /etc/kona/autoupdated ] && [ ! -f /etc/kona/update/update-* ]; then
#     rm -f /etc/kona/autoupdated
     if [ -f /etc/kona/verbose ]; then
       notify-send "自動更新をかけました。" -i system-software-update
     fi
  fi
fi

if grep -q x86_64 /etc/kona/os-release ; then
  arc="64"
else
  arc="32"
fi
trace "check system status"
if [ ! -f /etc/kona/update/update-* ]; then
  if [ -f /etc/kona/pkgadd ]; then
#    notify-send "システムの状態をチェックします" -i system-software-update
    rm -f /etc/kona/latestsystem
    if [ -z "$(ps xa|grep -v grep|grep update-notifier.sh)" ]; then
      trace "call update-notifier.sh"
      /etc/kona/update-notifier.sh
    fi
    if [ -f /etc/kona/latestsystem ]; then
      if [ ! -f /etc/kona/autoupdated ] || [ ! -f /etc/kona/update/update-$version.tgz ]; then
        notify-send "システムは最新状態です" -i system-software-update
      fi
    fi
    rm -f /etc/kona/autoupdated
  fi
fi

rm -f /etc/kona/update/update-desktop.sh
trace "call dfc1"
dfc1
if [ -f /etc/kona/pkgadd ]; then
  /etc/kona/check-autoupdate.sh
#  trace "autoupdatechek call"
#  /etc/kona/autoupdatecheck.sh
#  /etc/kona/checkaudio.sh
  rm -f /etc/kona/initdesktop
  trace initdesktop-out-1
  exit
fi

if [ "$LANG" = "ja_JP.UTF-8" ] || [ "$LANG" = "ja_JP.utf8" ]; then
zenity --title="パッケージ追加" --question --text="パッケージ追加" --question --text="有用なパッケージ(*)を追加します\nこれが終わるまではインストールは完了しません\nまたシステムのアップデートはこれが終わってからにしてください\n続けますか?\n\n(*)ビデオコーデック, vlc, clementine, chrome-browser,...など" --no-wrap
else
zenity --title="Additional packages" --question --text="I will add a useful packages.\nSome time it may take.\nDo yo want to continue?"
fi
case $? in
 0) ;;
 1) rm -f /etc/kona/initdesktop 
    exit;;
 255) rm -f /ec/kona/initdesktop
      exit;;
esac
echo "get https://simosnet.com/debian/packages/Konalinux/$kd/$kv/pkgadd${arc}.sh"
wget -q https://simosnet.com/debian/packages/Konalinux/$kd/$kv/pkgadd${arc}.sh
mv pkgadd${arc}.sh /etc/kona/pkgadd.sh
chmod +x /etc/kona/pkgadd.sh
ls -l /etc/kona/pkgadd.sh
gksudo "xterm -e /etc/kona/pkgadd.sh"

if [ -f /etc/kona/pkgadd ]; then
  /etc/kona/docky.sh
  if [ "$LANG" = "ja_JP.UTF-8" ] || [ "$LANG" = "ja_JP.utf8" ]; then
    zenity --title="パッケージ追加" --warning --text="おめでとうございます\nインストールが終了しました\nシステムを再起動して完了してください\n\n【Kona Linux ファミリーのご紹介】\nKona Linuxにはデスクトップが\nMate, Xfce, Cinnamon, GNOME, KDEの\n各デスクトップ版があります\nぜひ一度お試しください" --no-wrap
  else
    zenity --title="Packges is added" --warning --text="Congratulations!\nInstallation is completely finished"
  fi
fi
rm -f /etc/kona/initdesktop

trace initdesktop-out

