153 lines
3.5 KiB
Bash
Executable File
153 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
app_name="dingtalk"
|
|
tmp_dir="/tmp/${app_name}_tmp"
|
|
curr_dir="$(pwd)"
|
|
version="7.1.0.31218"
|
|
release="7.1.0-Release.31218"
|
|
|
|
deb_url="https://dtapp-pub.dingtalk.com/dingtalk-desktop/xc_dingtalk_update/linux_deb/Release/com.alibabainc.dingtalk_${version}_amd64.deb"
|
|
|
|
# 创建临时目录, 用于下载官方包
|
|
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
|
|
|
|
mkdir $tmp_dir
|
|
|
|
# 创建临时待打包目录
|
|
echo "创建待打包目录..."
|
|
mkdir -p "./unpack/DEBIAN"
|
|
mkdir -p "./unpack/usr/bin"
|
|
mkdir -p "./unpack/usr/lib/dingtalk"
|
|
mkdir -p "./unpack/usr/share/applications"
|
|
|
|
source_dir="${tmp_dir}/dingtalk/opt/apps/com.alibabainc.dingtalk/files"
|
|
dtalk_dir="./unpack/usr/lib/dingtalk"
|
|
files_dir="${dtalk_dir}/files"
|
|
|
|
echo "下载官方原包..."
|
|
wget $deb_url -O "${tmp_dir}/dingtalk.deb"
|
|
|
|
echo "下载完成, 解包中..."
|
|
dpkg-deb -R "${tmp_dir}/dingtalk.deb" "${tmp_dir}/dingtalk"
|
|
|
|
echo "解包完成, 复制到待打包目录..."
|
|
mv "${source_dir}/${release}" $files_dir
|
|
mv "${source_dir}/logo.ico" "${dtalk_dir}/"
|
|
mv "${source_dir}/version" "${dtalk_dir}/"
|
|
|
|
rm -rf $tmp_dir
|
|
|
|
echo "复制完成, 创建可执行文件及程序桌面入口文件..."
|
|
|
|
echo """
|
|
[Desktop Entry]
|
|
Categories=Chat;
|
|
Comment=钉钉
|
|
Exec=dingtalk %u
|
|
GenericName=dingtalk
|
|
Icon=/usr/lib/dingtalk/logo.ico
|
|
Keywords=dingtalk;
|
|
MimeType=x-scheme-handler/dingtalk;
|
|
Name=钉钉
|
|
Type=Application
|
|
""" > ./unpack/usr/share/applications/dingtalk.desktop
|
|
|
|
|
|
echo """
|
|
#!/bin/bash
|
|
|
|
cd /usr/lib/dingtalk/files
|
|
./dingtalk_run $1
|
|
""" > ./unpack/usr/bin/dingtalk
|
|
|
|
chmod +x ./unpack/usr/bin/dingtalk
|
|
|
|
echo "创建完成, 修正包文件中..."
|
|
|
|
rm ${files_dir}/dingtalk_updater
|
|
|
|
mv ${files_dir}/com.alibabainc.dingtalk ${files_dir}/dingtalk_run
|
|
|
|
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
|
|
|
|
rm -rfv ${files_dir}/libgtk-x11-2.0.so.*
|
|
|
|
rm -rfv ${files_dir}/libm.so.6
|
|
|
|
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
|
|
|
|
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
|
|
IFS=$'\t' read -ra size <<< "$(du -d 0)"
|
|
|
|
echo """
|
|
Package: ${app_name}
|
|
Version: ${version}
|
|
Architecture: amd64
|
|
Maintainer: Yutent <yutent.io@gmail.com>
|
|
Depends: libgtk2.0-0, libglu1-mesa, libpulse-mainloop-glib0
|
|
Installed-Size: ${size[0]}
|
|
Section: chat
|
|
Priority: optional
|
|
Homepage: https://gov.dingtalk.com
|
|
Description: 钉钉
|
|
""" > DEBIAN/control
|
|
|
|
echo '计算文件md5完成, 打包中...'
|
|
|
|
cd ..
|
|
sudo chown -R root:root unpack
|
|
|
|
dpkg-deb -b ./unpack "./${app_name}_${version}.deb"
|
|
|
|
sudo rm -rf ./unpack
|
|
echo "打包完成 :)"
|