Package Details: deepin-wine5-stable 5.0.0.26-1

Git Clone URL: https://aur.archlinux.org/deepin-wine5-stable.git (read-only, click to copy)
Package Base: deepin-wine5-stable
Description: Deepin Wine5 stable
Upstream URL: http://www.deepin.org
Licenses: proprietary
Submitter: huyz
Maintainer: huyz
Last Packager: huyz
Votes: 2
Popularity: 0.058646
First Submitted: 2020-11-30 03:46
Last Updated: 2021-06-12 14:55

Sources (1)

Pinned Comments

huyz commented on 2020-11-30 04:05

解释一下这个包:

  • 目前,deepin 那边分发新的 wine-apps 时,都会自带一份 wine 二进制,可能是 deepin-wine5,也可能是 deepin-wine5-stable,前者 deepin 有单独打包,后者没有,只有随着 wine-apps 自带。

  • deepin-wine-apps 里自带的 wine 二进制在 /opt/apps/<package name>/files/wine_archive.7z 里,版本号则存放在 /opt/apps/<package name>/files/wine_archive.md5sum 里。

  • 通过 run.sh 脚本可知,当执行这个脚本启动 wine-apps 里,脚本会尝试解压 wine_archive.7z,具体方式是,先看 $HOME/.deepinwine 里有没有解压好的,如果有,则看 $HOME/.deepinwine 的版本号(存放在 VERSION)和 wine_archive.md5sum 相比哪个高。如果没有解压好的或者解压好的版本低,则解压 wine_archive.7z,同时把版本号存放到 VERSION 里;否则不解压。从这个方式里看,deepin-wine5{,-stable} 是向下兼容的

  • wine-apps 也自带了 deepin-wine-helper,其解压方式也类似。

  • run.sh 里通过环境变量指定启动 apps 时调用的 helper 的目录,也是通过环境变量指定 helper 调用的 wine 的目录。

  • 因此,既然 deepin-wine5{,-stable} 是向下兼容的,那么在打包 apps 包的时候,就可以把 deepin-wine5-stable 拆开来打包,以 wine_archive.md5sum 的版本号作为 deepin-wine5-stable 包的版本。

  • 然后在打包 apps 时,先看下 apps 里自带的是 deepin-wine5 还是 deepin-wine5-stable。如果是前者,则依赖加上 deepin-wine5,后者则加上 deepin-wine5-stable,并指明最低版本号为wine_archive.md5sum 的版本号。最后修改 run.sh,去除解压的代码,并修改环境变量使用系统里的 deepin-wine5{,-stable} 运行即可。

Latest Comments

« First ‹ Previous 1 2

lancelot96 commented on 2020-12-23 01:27

似乎 source 404 了

huyz commented on 2020-12-22 06:11

Update:截至 2020-12-22,deepin wine5 apps 中有三个包打不出来:爱奇艺微云喜马拉雅

huyz commented on 2020-11-30 14:59

目前所有能正常使用的 deepin-wine5 apps 都已打包完毕。由我提交的包全部都是拆开打的。

目前只有爱奇艺微云这两个包暂时打不出来,前者启动应用后报错,后者启动应用后闪退。

钉钉QQ(企业)微信这些包目前是由其他 AUR 用户提交,这些包没有拆开打,还是自带 wine 二进制。如有人希望拆开打这些包,可参照我提交的包的 PKGBUILD 进行修改。

huyz commented on 2020-11-30 04:05

解释一下这个包:

  • 目前,deepin 那边分发新的 wine-apps 时,都会自带一份 wine 二进制,可能是 deepin-wine5,也可能是 deepin-wine5-stable,前者 deepin 有单独打包,后者没有,只有随着 wine-apps 自带。

  • deepin-wine-apps 里自带的 wine 二进制在 /opt/apps/<package name>/files/wine_archive.7z 里,版本号则存放在 /opt/apps/<package name>/files/wine_archive.md5sum 里。

  • 通过 run.sh 脚本可知,当执行这个脚本启动 wine-apps 里,脚本会尝试解压 wine_archive.7z,具体方式是,先看 $HOME/.deepinwine 里有没有解压好的,如果有,则看 $HOME/.deepinwine 的版本号(存放在 VERSION)和 wine_archive.md5sum 相比哪个高。如果没有解压好的或者解压好的版本低,则解压 wine_archive.7z,同时把版本号存放到 VERSION 里;否则不解压。从这个方式里看,deepin-wine5{,-stable} 是向下兼容的

  • wine-apps 也自带了 deepin-wine-helper,其解压方式也类似。

  • run.sh 里通过环境变量指定启动 apps 时调用的 helper 的目录,也是通过环境变量指定 helper 调用的 wine 的目录。

  • 因此,既然 deepin-wine5{,-stable} 是向下兼容的,那么在打包 apps 包的时候,就可以把 deepin-wine5-stable 拆开来打包,以 wine_archive.md5sum 的版本号作为 deepin-wine5-stable 包的版本。

  • 然后在打包 apps 时,先看下 apps 里自带的是 deepin-wine5 还是 deepin-wine5-stable。如果是前者,则依赖加上 deepin-wine5,后者则加上 deepin-wine5-stable,并指明最低版本号为wine_archive.md5sum 的版本号。最后修改 run.sh,去除解压的代码,并修改环境变量使用系统里的 deepin-wine5{,-stable} 运行即可。