#!/bin/bash app_name="dingtalk" tmp_dir="/tmp/${app_name}_tmp" curr_dir="$(pwd)" version="7.5.0.40221" release="7.5.0-Release.40221" 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 Depends: libgtk2.0-0, libglu1-mesa, libpulse-mainloop-glib0 Installed-Size: ${size[0]} Section: non-free/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 "打包完成 :)"