【脱獄アプリ開発】WSLでTHEOS環境を構築し、make packageした際にpermission 777エラーが出るときの対策
THEOSをWSL上にインストールしたはいいけど、タイトルの通りエラーが出てしまいました。theosのwikiを参照してインストールしたものは、そのままだと以下のエラーが出てmake packageできません。
wsl theos control directory has bad permissions 777
WSLの仕様上、新規作成フォルダはすべてpermission 777で作成されるみたいですが、THEOSは755でしか動かないみたいでした。
1.解決策
fakeroot、WSLのパーミッション問題を解決する。
2.手順
2-1.WSL起動時に、作成するフォルダの権限を常時755に設定する
WSL上で以下のコマンドを実行する。
echo "umask 0022" >> ~/.bashrc
source ~/.bashrc
WSLのフォルダに対する権限は上述の通りなので、bashrcにumask 0022を指定して起き、WSL起動のたびに作成するTweak等のフォルダを755で作成するようにします。
2-2.fakerootの修正とtheosのディレクトリの所有者を変更する
WSL上で以下のコマンドを実行する。
sudo sed -i 's/\$(FAKEROOT) -r/fakeroot-tcp/g' $THEOS/makefiles/package/deb.mk
sudo chown -R $(id -u):$(id -g) $THEOS
上述のコマンドをすべて実行すれば、晴れてWSLでmake packageできるようになると思います。
わかりづらいところもあると思いますが、誰かのためになればよいと思いnoteに綴ってみました。