diff --git a/common.sh b/common.sh index 5be9ddb..c6cb57f 100644 --- a/common.sh +++ b/common.sh @@ -49,6 +49,7 @@ f5m_install() { f5m_make_tarball() { cd $DESTDIR$INSTALL_PREFIX + python $ROOT/generate-descriptor.py tar cjvf ../../../$name-$ARCH.tar.bz2 * } diff --git a/fix-cross-build.sh b/fix-cross-build.sh index 68101ff..059512e 100755 --- a/fix-cross-build.sh +++ b/fix-cross-build.sh @@ -15,7 +15,9 @@ for package in "${broken_packages[@]}"; do cross_pkg=$package-arm64.tar.bz2 mkdir $tmp_dir tar xjvf $native_pkg -C $tmp_dir + mv $tmp_dir/plugin/$package.json{,.bak} tar xjvf $cross_pkg -C $tmp_dir + mv $tmp_dir/plugin/$package.json{.bak,} cd $tmp_dir tar cjvf $ROOT/$cross_pkg * cd $ROOT diff --git a/generate-descriptor.py b/generate-descriptor.py new file mode 100644 index 0000000..2eaaed5 --- /dev/null +++ b/generate-descriptor.py @@ -0,0 +1,16 @@ +import json +import os + +cwd = os.getcwd() +plugin = cwd.split("/")[-3] # /path/to/rime/tmp/fcitx5 +files: list[str] = [] + +for dirpath, _, filenames in os.walk(os.getcwd()): + for filename in filenames: + files.append(f"{dirpath[len(cwd) + 1:]}/{filename}") + +os.makedirs("plugin", exist_ok=True) +with open(f"plugin/{plugin}.json", "w") as f: + json.dump({ + "files": files + }, f)