deb-packs/wechat-devtools/package.sh

135 lines
4.2 KiB
Bash
Executable File

#!/bin/bash
app_name="wechat-devtools"
tmp_dir="/tmp/${app_name}_tmp"
version="1.06.2409140-2"
release="v${version}"
deb_url="https://github.com/msojocs/wechat-web-devtools-linux/releases/download/${release}/io.github.msojocs.wechat-devtools-linux_${version}_amd64.deb"
# 打包前, 要改启动脚本的变量声明
# root_dir="/usr/share/wechat-devtools"
# 创建临时目录, 用于下载官方包
if [ -d $tmp_dir ]; then
rm -rf $tmp_dir
fi
if [ "$1" == "" ]; then
if [ -d "./unpack" ]; then
sudo rm -rf ./unpack
fi
if [ -f "./${app_name}_${version}.deb" ]; then
rm "./${app_name}_${version}.deb"
fi
mkdir $tmp_dir
# 创建临时待打包目录
echo "创建待打包目录..."
mkdir -p "./unpack/DEBIAN"
mkdir -p "./unpack/usr/bin"
mkdir -p "./unpack/usr/share/${app_name}"
mkdir -p "./unpack/usr/share/applications"
source_dir="${tmp_dir}/${app_name}/opt/apps/io.github.msojocs.wechat-devtools-linux"
echo "下载官方原包..."
wget $deb_url -O "${tmp_dir}/${app_name}.deb"
echo "下载完成, 解包中..."
dpkg-deb -R "${tmp_dir}/${app_name}.deb" "${tmp_dir}/${app_name}"
echo "解包完成, 复制到待打包目录..."
mv "${source_dir}/files/bin/bin" "./unpack/usr"
mv "${source_dir}/files/bin/nwjs" "./unpack/usr/share/${app_name}"
mv "${source_dir}/files/bin/package.nw" "./unpack/usr/share/${app_name}"
mv "${source_dir}/entries/icons" "./unpack/usr/share"
for i in ./unpack/usr/share/icons/hicolor/*/*/*; do
mv $i ${i/io.github.msojocs.wechat-devtools-linux/wechat-devtools}
done
rm -rf "./unpack/usr/share/${app_name}/package.nw/node_modules/wcc/bin/mac"
rm -rf "./unpack/usr/share/${app_name}/package.nw/node_modules/wcc/bin/windows"
cp "./unpack/usr/share/${app_name}/nwjs/locales/en-US.pak" "$tmp_dir/en-US.pak"
cp "./unpack/usr/share/${app_name}/nwjs/locales/en-US.pak.info" "$tmp_dir/en-US.pak.info"
cp "./unpack/usr/share/${app_name}/nwjs/locales/zh-CN.pak" "$tmp_dir/zh-CN.pak"
cp "./unpack/usr/share/${app_name}/nwjs/locales/zh-CN.pak.info" "$tmp_dir/zh-CN.pak.info"
rm -rf ./unpack/usr/share/${app_name}/nwjs/locales/*
cp "$tmp_dir/en-US.pak" "./unpack/usr/share/${app_name}/nwjs/locales/"
cp "$tmp_dir/en-US.pak.info" "./unpack/usr/share/${app_name}/nwjs/locales/"
cp "$tmp_dir/zh-CN.pak" "./unpack/usr/share/${app_name}/nwjs/locales/"
cp "$tmp_dir/zh-CN.pak.info" "./unpack/usr/share/${app_name}/nwjs/locales/"
rm -rf $tmp_dir
echo "复制完成, 创建可执行文件及程序桌面入口文件..."
echo """
[Desktop Entry]
Name=WeChat Dev Tools
Name[zh_CN]=微信开发者工具
Comment=The development tools for wechat projects
Comment[zh_CN]=提供微信开发相关项目的开发IDE支持
Categories=Development;WebDevelopment;IDE;
Exec=wechat-devtools
Icon=wechat-devtools
Type=Application
Terminal=false
StartupWMClass=wechat-devtools
Actions=
MimeType=x-scheme-handler/wechatide
""" > ./unpack/usr/share/applications/wechat-devtools.desktop
echo "文件复制完成, 手动修改启动脚本的root_dir定义为以下内容..."
echo "root_dir=\"/usr/share/wechat-devtools\""
echo "修改好之后, 执行 \"./package.sh pack\" 完成打包"
elif [ "$1" == "pack" ]; then
echo '计算文件md5中...'
cd ./unpack
find usr/ -type f | xargs -I {} md5sum {} > DEBIAN/md5sums
IFS=$'\t' read -ra size <<< "$(du -d 0)"
echo """
Package: ${app_name}
Version: ${version}
Architecture: amd64
Maintainer: Yutent <yutent.io@gmail.com>
Breaks: io.github.msojocs.wechat-devtools-no-wine
Replaces: io.github.msojocs.wechat-devtools-no-wine
Installed-Size: ${size[0]}
Homepage: https://github.com/msojocs/wechat-web-devtools-linux
Section: non-free/development
Priority: optional
Description: WeChat Devtools For Linux.
To help developers develop and debug Weixin Mini Programs more simply and efficiently,
Tencent have launched the new Weixin DevTools based on the original Official Account
web debugging tools. Therefore, we now have two developer modes (Official Account web
debugging) and (Mini Program debugging). This version is unofficial.
""" > DEBIAN/control
echo '计算文件md5完成, 打包中...'
cd ../
sudo chown -R root:root unpack
dpkg-deb -b ./unpack "./${app_name}_${version}.deb"
sudo rm -rf ./unpack
echo "打包完成 :)"
fi
一些 开源&闭源 应用的重新打包
Shell 100%