deb-packs/dingtalk/package.sh

156 lines
3.6 KiB
Bash
Raw Normal View History

2023-05-04 13:31:40 +08:00
#!/bin/bash
app_name="dingtalk"
2023-08-02 18:02:08 +08:00
tmp_dir="/tmp/${app_name}_tmp"
curr_dir="$(pwd)"
2024-12-10 13:49:05 +08:00
version="7.6.25.4112601"
release="7.6.25-Release.4112601"
2023-05-04 13:31:40 +08:00
deb_url="https://dtapp-pub.dingtalk.com/dingtalk-desktop/xc_dingtalk_update/linux_deb/Release/com.alibabainc.dingtalk_${version}_amd64.deb"
# 创建临时目录, 用于下载官方包
2023-05-10 16:10:57 +08:00
if [ -d $tmp_dir ]; then
rm -rf $tmp_dir
fi
if [ -d "./unpack" ]; then
sudo rm -rf ./unpack
fi
if [ -f "./${app_name}_${version}.deb" ]; then
rm "./${app_name}_${version}.deb"
fi
2023-05-04 13:31:40 +08:00
mkdir $tmp_dir
2023-05-04 13:31:40 +08:00
# 创建临时待打包目录
echo "创建待打包目录..."
mkdir -p "./unpack/DEBIAN"
mkdir -p "./unpack/usr/bin"
2024-11-05 15:54:18 +08:00
mkdir -p "./unpack/usr/share/dingtalk"
2023-05-04 13:31:40 +08:00
mkdir -p "./unpack/usr/share/applications"
2023-05-10 16:10:57 +08:00
source_dir="${tmp_dir}/dingtalk/opt/apps/com.alibabainc.dingtalk/files"
2024-11-05 15:54:18 +08:00
dtalk_dir="./unpack/usr/share/dingtalk"
2023-05-04 13:31:40 +08:00
files_dir="${dtalk_dir}/files"
echo "下载官方原包..."
2023-05-10 16:10:57 +08:00
wget $deb_url -O "${tmp_dir}/dingtalk.deb"
2023-05-04 13:31:40 +08:00
echo "下载完成, 解包中..."
2023-05-10 16:10:57 +08:00
dpkg-deb -R "${tmp_dir}/dingtalk.deb" "${tmp_dir}/dingtalk"
2023-05-04 13:31:40 +08:00
echo "解包完成, 复制到待打包目录..."
2023-05-10 16:10:57 +08:00
mv "${source_dir}/${release}" $files_dir
mv "${source_dir}/logo.ico" "${dtalk_dir}/"
mv "${source_dir}/version" "${dtalk_dir}/"
2023-05-04 13:31:40 +08:00
2023-05-10 16:10:57 +08:00
rm -rf $tmp_dir
2023-05-04 13:38:10 +08:00
2023-05-04 13:31:40 +08:00
echo "复制完成, 创建可执行文件及程序桌面入口文件..."
echo """
[Desktop Entry]
Categories=Chat;
Comment=钉钉
Exec=dingtalk %u
GenericName=dingtalk
2024-11-05 15:54:18 +08:00
Icon=/usr/share/dingtalk/logo.ico
2023-05-04 13:31:40 +08:00
Keywords=dingtalk;
MimeType=x-scheme-handler/dingtalk;
Name=钉钉
Type=Application
""" > ./unpack/usr/share/applications/dingtalk.desktop
echo """
#!/bin/bash
2024-11-05 15:54:18 +08:00
cd /usr/share/dingtalk/files
2023-05-04 13:31:40 +08:00
./dingtalk_run $1
""" > ./unpack/usr/bin/dingtalk
chmod +x ./unpack/usr/bin/dingtalk
echo "创建完成, 修正包文件中..."
2023-05-10 16:10:57 +08:00
rm ${files_dir}/dingtalk_updater
2023-05-04 13:31:40 +08:00
2023-05-10 16:10:57 +08:00
mv ${files_dir}/com.alibabainc.dingtalk ${files_dir}/dingtalk_run
2023-05-04 13:31:40 +08:00
echo """
#!/bin/bash
echo "你在想屁吃~~"
exit 1
""" > ${files_dir}/dingtalk_updater
chmod +x ${files_dir}/dingtalk_updater
cp -rfv ${files_dir}/dingtalk_updater ${files_dir}/dingtalk_crash_report
2024-11-05 15:54:18 +08:00
cp -rfv ${files_dir}/dingtalk_updater ${files_dir}/doctor
rm -rfv ${files_dir}/doctor_config
2023-05-04 13:31:40 +08:00
rm -rfv ${files_dir}/libgtk-x11-2.0.so.*
2024-11-05 15:54:18 +08:00
rm -rfv ${files_dir}/libm.so.6
2023-05-04 13:31:40 +08:00
rm -rfv ${files_dir}/i18n/[!iez]*.json
rm -rfv ${files_dir}/i18n/id_ID.json
rm -rfv ${files_dir}/i18n/[!ez]*.txt
rm -rfv ${files_dir}/locales/[!ez]*.pak
rm -rfv ${files_dir}/locales/es*.pak
rm -rfv ${files_dir}/locales/el.pak
rm -rfv ${files_dir}/locales/et.pak
rm -rfv ${files_dir}/plugins/tblive/data/locale/[!ez]*.ini
rm -rfv ${files_dir}/Resources/i18n/tool
rm -rfv ${files_dir}/Resources/i18n/[!ez]*.json
rm -rfv ${files_dir}/Resources/image/ja_JP
cd ${files_dir}/Resources/sound/callcenter
ln -sf calling_en.wav calling.wav
cd ..
ln -sf ./callcenter/calling_en.wav calling_pre.wav
ln -sf ./callcenter/calling_en.wav calling_suf.wav
ln -sf videoInvite.wav voipInvite.wav
cd $curr_dir
2023-05-04 13:31:40 +08:00
rm -rfv ${files_dir}/Resources/qss/mac
rm -rfv ${files_dir}/Resources/web_content/NativeWebContent_*.zip
rm -rfv ${files_dir}/libstdc*
echo "修正完成, 计算文件md5..."
cd ./unpack
find usr/ -type f | xargs md5sum > DEBIAN/md5sums
2023-05-22 14:10:49 +08:00
IFS=$'\t' read -ra size <<< "$(du -d 0)"
2023-05-04 13:31:40 +08:00
2023-05-10 16:10:57 +08:00
echo """
2023-08-02 18:02:08 +08:00
Package: ${app_name}
2023-05-10 16:10:57 +08:00
Version: ${version}
Architecture: amd64
Maintainer: Yutent <yutent.io@gmail.com>
2023-11-01 09:43:48 +08:00
Depends: libgtk2.0-0, libglu1-mesa, libpulse-mainloop-glib0
2023-05-22 14:10:49 +08:00
Installed-Size: ${size[0]}
Section: non-free/chat
2023-05-10 16:10:57 +08:00
Priority: optional
Homepage: https://gov.dingtalk.com
Description: 钉钉
""" > DEBIAN/control
2023-05-04 13:31:40 +08:00
echo '计算文件md5完成, 打包中...'
cd ..
2023-05-10 16:10:57 +08:00
sudo chown -R root:root unpack
2023-05-04 13:31:40 +08:00
dpkg-deb -b ./unpack "./${app_name}_${version}.deb"
2023-09-14 15:01:31 +08:00
sudo rm -rf ./unpack
2023-07-26 09:17:40 +08:00
echo "打包完成 :)"