2021年3月21日日曜日

Lichee Pi Zeroのソフト開発環境構築6

ようやくバージョンアップの手段を準備できたので、「ソフト開発環境」の準備の入り口を作りたい。

プログラム作成→実行までを考える

簡単なものとして、シェルスクリプトを作成して、LicheePi側で実行したい場合

VScode

とりあえずこれがPC側に
あとは拡張機能をいくつか

SFTP
SSH FS

LicheePi側

sshサーバー

これが無いと始まらないかな。
軽微な修正時に、シリアルコンソールの出番を減らせるし!

BR2_PACKAGE_DROPBEAR

sftpサーバー

これも、入れておくと、VSCodeから更新が簡単にできる!

BR2_PACKAGE_GESFTPSERVER

これで、プログラム作成からファイル転送、実行までVSCode内で完結できる!素敵!


 

ちょっとしたGUIインターフェースにTck/Tk

なつかしー

BR2_PACKAGE_TK
BR2_PACKAGE_TCL

ちょっとしたGUIが簡単に?できるのは素晴らしいと思う。


 

今は、環境構築すすめているので、詳細は別途まとめる

これで、シェルスクリプトの環境がなんとなく整った。
あとは、必要に応じて入れていこうかな、pythonやc/c++が候補。

Python

Lichee Piのスペックで動くか知らないけど、とりあえず入れてみる。

BR2_PACKAGE_PYTHON3

TKINTERは・・・?
https://sourceforge.net/p/armadeus/code/ci/master/tree/patches/buildroot/2017.02/012-armadeus-add-tkinter-support-to-python.patch
を参考に、書き換えてみた。

patch ../../../package/python3/Config.in < 0001-add-tkinter-support-to-python3_Config.in.patch 
patch ../../../package/python3/python3.mk < 0002-add-tkinter-support-to-python3_python3.mk.patch 
--- Config.in	2020-10-12 21:55:06.000000000 +0900
+++ Config.in	2020-12-28 19:28:44.925240000 +0900
@@ -82,6 +82,18 @@
 	help
 	  _ssl module for Python3 (required for https in urllib etc).
 
+config BR2_PACKAGE_PYTHON3_TKINTER
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_TCL
+	select BR2_PACKAGE_TK
+	bool "tkinter"
+	help
+	  Tkinter module for Python3.
+
+comment "tkinter needs a X server and tcl"
+	depends on !BR2_PACKAGE_XORG7
+	depends on !BR2_PACKAGE_TCL
+
 config BR2_PACKAGE_PYTHON3_UNICODEDATA
 	bool "unicodedata module"
 	default y
--- python3.mk	2020-12-28 19:29:41.261031000 +0900
+++ python3.mk	2020-12-28 19:30:25.632867000 +0900
@@ -124,6 +124,12 @@
 PYTHON3_CONF_OPTS += --disable-ossaudiodev
 endif
 
+ifeq ($(BR2_PACKAGE_PYTHON3_TKINTER),y)
+PYTHON_DEPENDENCIES += tk
+else
+PYTHON_CONF_OPTS += --disable-tk
+endif
+
 # Make python believe we don't have 'hg', so that it doesn't try to
 # communicate over the network during the build.
 PYTHON3_CONF_ENV += \
@@ -157,7 +163,6 @@
 	--disable-pydoc \
 	--disable-test-modules \
 	--disable-lib2to3 \
-	--disable-tk \
 	--disable-nis \
 	--disable-idle3 \
 	--disable-pyc-build

これで、menuconfigに

BR2_PACKAGE_PYTHON3_TKINTER
が表示される

buildrootのconfig.inやmkファイルにパッチをあてる方法がよくわからない。
なので、手動でパッチをあてた。

#!/bin/bash


apply(){
    patch ../../../package/python3/Config.in < 0001-add-tkinter-support-to-python3_Config.in.patch 
    patch ../../../package/python3/python3.mk < 0002-add-tkinter-support-to-python3_python3.mk.patch
}

redo(){
    patch -R ../../../package/python3/Config.in < 0001-add-tkinter-support-to-python3_Config.in.patch 
    patch -R ../../../package/python3/python3.mk < 0002-add-tkinter-support-to-python3_python3.mk.patch
}

echo "----------------------------------------"
echo " add tkinter support to python3."
echo "----------------------------------------"
case "$1" in
    apply|redo)
		"$1";;
    *)
		echo "Usage: $0 {apply|redo}"
		exit 1
esac

0 件のコメント:

コメントを投稿