基于deepin-wine的windows软件打包deb安装包教程(本實例安裝qq)

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新建的容器,运行打包的安装包测试一下吧,没问题就说明成功了。有问题就是前面修改的信息没有修改好。

參考:https://pjep.cn/jiaocheng/186.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值