Building iSync on MacOS
Thu 25 January 2024လွန်ခဲ့တဲ့ ၁ နှစ်လောက်က Google Workspace Refugee ဖြစ်သွားတဲ့နောက်ပိုင်း ဘယ် Service ကိုမှ မှီခိုမနေအောင်လို့ အတော်လေးဂရုစိုက်တယ်။ Email တွေနဲ့ပတ်သက်ပြီး ကိုယ်သုံးနေတဲ့ Email မှန်တယ်ဆိုရင် Web based တွေလည်း သုံးနေတယ်ဆိုပေမယ့် Offline သုံးလို့ရအောင်ရယ် ကိုယ့်လက်ထဲမှာလည်း Backup ရှိအောင်ရယ် ကိုယ်သုံးလေ့ရှိတဲ့ စက်တွေထဲကို iSync သုံးပြီး Sync လုပ်ထားလေ့ရှိတယ်။
iSync က ကိုယ့်ရဲ့ Linux တွေမှာ အရာအားလုံး အဆင်ပြေပါတယ်။ Mac ပေါ်မှာတော့ အစပိုင်းက အဆင်ပြေပေမယ့် နောက်ပိုင်းမှာ OpenSSL Library ကြောင့် Sync လုပ်ပြီးတိုင်း Error တခုပေါ်နေတယ် Error ကလည်း Google ပဲဖြစ်တာ တခြားဟာတွေတော့ မဖြစ်ပြန်ဘူး။ Functionality အရက ဘာမှမဖြစ်ဘူး ဒါပေမယ့် Sync တခါလုပ်ပြီးတိုင်း Error Message မြင်နေရတာ ကိုယ့်အတွက်က စိတ်ထဲမှာအဆင်မပြေဘူး။
Socket error: secure read from imap.gmail.com (74.125.200.108:993): error:0A000126:SSL routines::unexpected eof while reading
iSync ရဲ့ Repo ထဲမှာလိုက်ကြည့်တော့ Report လုပ်ထားတဲ့လူလည်းရှိသလို master branch မှာလည်း ပြင်ပြီးသားလို့ ပြောတဲ့လူကလည်း ပြောပြီးနေပါပြီ။ ဒါပေမယ့် Release လုပ်ထားတဲ့ Version 1.4 ထဲမှာမပါတော့ Mac အတွက် လုပ်ပေးထားတဲ့ Homebrew Formula က Release မလုပ်ထားတဲ့ Patch ကိုမပါလာသေးတာ။ အားနေရင် တခုမဟုတ်တခု လုပ်စရာရှာနေတဲ့လူဆိုတော့ ကိုယ့်ဟာကိုယ်ပဲ ပြင်ပြီးသားကို Build လုပ်မယ်ဆိုပြီး Build လုပ်လိုက်တယ်။
Repo Clone
git clone git://git.code.sf.net/p/isync/isync
Patch
git checkout -b 1.4 origin/1.4
git cherry-pick b6c36624
Build
./autogen.sh
./configure --prefix=$HOME/.local
make
make install
Build လုပ်ဖို့ Configure လုပ်တဲ့အခါမှာတော့ ကြုံရာနေရာတွေမှာ ရှုပ်မကုန်အောင်လို့ prefix
ကို $HOME/.local
လို့ပေးထားတော့ Install လုပ်တဲ့အခါ Home directory အောက်က ~/.local
အောက်မှာ Install လုပ်သွားပါလိမ့်မယ်။ Binary file က ~/.local/bin/mbsync
ဆိုပြီးတွေ့ပါလိမ့်မယ်။ ကိုယ်အတွက်က ~/.local/bin
ထဲမှာ ကိုယ်တိုင် Build လုပ်တာတွေ ထည့်ထားလေ့ရှိတော့ PATH
Env var ထဲမှာ ထည့်ပြီးသားဖြစ်နေတော့ ဘာမှထပ်လုပ်စရာမလိုတော့ဘူး။ အဲလိုမဟုတ်ဘူးဆိုရင်တော့ PATH
ထဲမှာ ထည့်ပေးဖို့လိုပါလိမ့်မယ်။ Build လုပ် Install လုပ်တာပြီးသွားပြီဆိုရင်တော့ mbsync -a
လို့ Run ကြည့်လိုက်ရင် Error မမြင်ရတော့ပါဘူး။