1、安装7z、wine
sudo apt install p7zip deepin-wine5 -y
2、用deepin-wine新建一个纯净的32位容器,安装相应的软件
WINEARCH=win32 WINEPREFIX=~/.deepinwine/qq deepin-wine5 winecfg
添加字体(解决中文显示成方块的问题),字體已經上傳在當前目錄
cp ./simsun.ttc ~/.deepinwine/qq/dosdevices/c:/windows/Fonts/
cp ./simsun.ttc ~/.deepinwine/qq/dosdevices/c:/windows/Fonts/Tahoma.ttc
安装软件,QQ在官網下載,當前版本9.4.8
wget https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2021.exe
WINEPREFIX=~/.deepinwine/qq deepin-wine5 PCQQ2021.exe
安裝完桌面圖標目錄
ls ~/.local/share/icons/hicolor/
快捷方式目錄
ls ~/.local/share/applications/
3、打包过程
创建目录/home/uos/Desktop/package
mkdir -p package/extract/DEBIAN
cd package/
apt search com.qq.im.deepin
apt download com.qq.im.deepin
dpkg -x com.qq.im.deepin_9.3.2deepin20_i386.deb extract/
dpkg -e com.qq.im.deepin_9.3.2deepin20_i386.deb extract/DEBIAN/
cd extract/opt/apps
修改info
cd com.qq.im.deepin/
替換版本號
sed -i 's@9.3.2@9.4.8@g' info
查看info,版本號一定要數字開頭
{
"appid": "com.qq.im.deepin",
"name": "QQ",
"version": "9.4.8deepin20",
"arch": ["i386"],
"permissions": {
"autostart": false,
"notification": false,
"trayicon": true,
"clipboard": true,
"account": false,
"bluetooth": false,
"camera": true,
"audio_record": true,
"installed_apps": false
}
}
進入應用文件夾/files,将容器内的所有文件打包为files.7z
目錄是:~/Desktop/package/extract/opt/apps/com.qq.im.deepin/files
rm files.7z
7z a files.7z ~/.deepinwine/qq/*
用编辑器改run.sh里面的内容,主要是改下版本號
sed -i 's@9.3.2@9.4.8@g' run.sh
用编辑器修改entries/applications里面文件
cd ~/Desktop/package/extract/opt/apps/com.qq.im.deepin/entries/applications/
只是看一下,應用相同所以沒有要改的內容。
cat com.qq.im.deepin.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Type=Application
X-Created-By=Deepin WINE Team
Categories=chat;
Icon=com.qq.im.deepin
Exec="/opt/apps/com.qq.im.deepin/files/run.sh" -u %u
Name=QQ
Name[zh_CN]=QQ
Comment=Tencent QQ Client on Deepin Wine
StartupWMClass=QQ.exe
MimeType=
圖標不用換
用编辑器修改extract/DEBIAN/中的control,只改版本號
cd ~/Desktop/package
sed -i 's@9.3.2@9.4.8@g' extract/DEBIAN/control
查看下
cat extract/DEBIAN/control
Package: com.qq.im.deepin
Version: 9.4.8deepin20
Architecture: i386
Maintainer: Deepin WINE Team
Installed-Size: 155409
Depends: deepin-elf-verify:amd64 (>= 0.0.16.7-1), libasound2 (>= 1.0.16), libc6 (>= 2.28), libglib2.0-0 (>= 2.12.0), libgphoto2-6 (>= 2.5.10), libgphoto2-port12 (>= 2.5.10), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0), liblcms2-2 (>= 2.2+git20110628), libldap-2.4-2 (>= 2.4.7), libmpg123-0 (>= 1.13.7), libopenal1 (>= 1.14), libpcap0.8 (>= 0.9.8), libpulse0 (>= 0.99.1), libudev1 (>= 183), libvkd3d1 (>= 1.0), libx11-6, libxext6, libxml2 (>= 2.9.0), ocl-icd-libopencl1 | libopencl1, udis86, zlib1g (>= 1:1.1.4), libasound2-plugins, libncurses6 | libncurses5 | libncurses, deepin-wine-plugin, deepin-wine-plugin-virtual
Recommends: libcapi20-3, libcups2, libdbus-1-3, libfontconfig1, libfreetype6, libglu1-mesa | libglu1, libgnutls30 | libgnutls28 | libgnutls26, libgsm1, libgssapi-krb5-2, libjpeg62-turbo | libjpeg8, libkrb5-3, libodbc1, libosmesa6, libpng16-16 | libpng12-0, libsane | libsane1, libsdl2-2.0-0, libtiff5, libv4l-0, libxcomposite1, libxcursor1, libxfixes3, libxi6, libxinerama1, libxrandr2, libxrender1, libxslt1.1, libxxf86vm1
Conflicts: apps.com.qq.im, deepin.com.qq.im
Replaces: apps.com.qq.im, deepin.com.qq.im
Provides: apps.com.qq.im, deepin.com.qq.im
Section: non-free/otherosfs
Priority: optional
Multi-Arch: foreign
Description: Tencent QQ Client on Deepin Wine
终端进入package目录,生成md5sum
cd ~/Desktop/package
find extract/opt -type f -print0 |xargs -0 md5sum >md5sums
mv md5sums extract/DEBIAN/md5sums
终端进入package目录,新建build目录,命令:mkdir build
mkdir build
生成deb安装包,命令:dpkg-deb -b extract/ build/
dpkg-deb -b extract/ build/
ls build/
com.qq.im.deepin_9.4.8deepin20_i386.deb
命令完成后大功告成了,安装包就在build文件夹中,删除deepinwine新建的容器,运行打包的安装包测试一下吧,没问题就说明成功了。有问题就是前面修改的信息没有修改好。