Hello, I'm 7Ji, maintainer of wechat-universal-bwrap[a] (wrongly typed as wechat-universal in Kimiblock's original mail), and co-maintainer of wechat-beta-bwrap[b]. leaeasy[c], the maintainer of -beta, is my friend. I think it's necessary for me to clear up some misunderstanding and introduce the current situation of wechat builds from Tencent that's released on the Uniontech OS (an officially backed variant of Deepin Linux) appstore front that all these `wechat` packages are trying to "borrow" from.

For a long time, WeChat never had a native Linux build. Linux users in China that had to use WeChat for different reasons had to use Wine, even on the officially backed UOS.


On ~ late 2020, a "native" client that's built using Electron was released onto the UOS appstore, and into their Deb library. This package was named `com.tencent.weixin` in the deb library, and named `WeiXin` on their appstore. This is the binray release which wechat-uos[e] re-packs from.


On March 5th, 2024, another native client that's still in Beta testing was leaked to public, it was built using native Qt tech stack. This package was named `com.tencent.wechat` in the deb library for UOS, and named `Weixin (Universal)` on their appstore after it was officially relased on March 14th and announced on the UOS tech blog[f]


Please note that these two builds, while both released onto the UOS appstore and their deb library, have different deb names (`com.tencent.weixin` vs `com.tencent.wechat`) and different store front names (`Weixin` vs `Weixin (Universal)`), they're treated as different packages both in the deb library and in the appstore front. They're therefore two distinct packages, that shall be re-distributed as two distinct packages.


On to `wechat-universal-bwrap`,  it bears the name `wechat-universal` because it re-packs `com.tencent.wechat` / `Weixin (Universal)`, and that's the right name for the package. It has the whole commit history of `-beta` and was properly renamed from `wechat-beta-bwrap` in a commit[g]. In fact, the whole package was `-beta` renamed, and leaeasy agreed to me on this privately. This was re-submitted as a new package due to the AUR limitation that packages can't be simply renamed. But there's a merge request PRQ#57762[d] filed by myself immediately after it was submitted, and no new commits was pushed to `-beta` after the rename.


On to `wechat-uos`, it re-packs `com.tencent.weixin` / `Weixin` from day 1. And as `com.tencent.weixin` / `Weixin` is still maintained in the UOS deb library and appstore front and would be maintained as a distince package from `Universal` for a long time, it should still re-pack that. Switching the source to `com.tencent.wechat` is irresponsible and a bad idea for existing users as they use completely different tech stack and the data is not possible to switch around losslessly between the two builds.


On to `wechat-uos-bwrap`, it should do whatever `wechat-uos` does and provide additional bubblewrap sandboxing, judging from the name. However, in reality it diverged from `wechat-uos` and switched to the `.wechat`/ `Universal` source, essentially being a completely different package not only with sandboxing differences, breaking the assumption that is was a tweaked `wechat-uos`. Additionally, the maintainer is both packing non-Arch distro detection logic[h] stuff for their moeOS, and being unfriendly to both tencent and WeChat, phrasing them as "trash" in the startup script[i], and packs broken URLs currently. This PKGBUILD never worked on my KDE plasama + Wayland setup, and the unfriendliness is clearly a violation to the Arch Linux Code of Conduct[l]


On to `wechat-beta-bwrap`, it borrowed from `-uos-bwrap` heavily for the first commit as leaeasy was a new beginner to write PKGBUILDs. But it worked from day 1 and never packed non-Arch logics, and huge rewrites had landed in the PKGBUILD after the initial commit. It also had a right name at the time it was submitted: `-beta` as it re-packs a leaked Beta build different from `uos`. leaeasy, the maintainer of this package, invited me to become the co-maintainer after I requested to add aarch64 support, which eventually landed as commit 99160c, and I have since actively maintain the package. I knew there was an ongoing merge request from it into `-uos-bwrap` and I already replied to PRQ#57379[k] to explain why `-beta` should be its own package, not overtaking the `-uos-bwrap` name. Those reasons still apply, to why `-universal` should be its own package, not overtaking the `-uos` name, and `-uos` should not use `com.tencent.wechat` source.


So if this mess really needs to be solved, these packages should be handled as follows:

 - `wechat-beta-bwrap` shall be merged into `wechat-universal-bwrap`, completing PRQ#57762[d], effectively renaming the package. I'm the co-maintainer of `-beta-bwrap`, and submitter & maintainer of `-universal-bwrap`. The submitter and maintainer for `-beta` leaeasy has agreed to me on this privately. It would track `com.tencent.wechat` / `Weixin (Universal)` release from UOS as it alwasy has been doing.

- `wechat-beta-bwrap` shall not be merged into `wechat-uos-bwrap`, rejecting PRQ#57379[k], as explained above.

- `wechat-uos` shall be orphaned and adopted by another active maintainer, who could be Kimiblock, or kukanka, or any one. And it should still track `com.tencent.weixin` / `Weixin` release from UOS. It also shall not be modified to contain bubblewrap sandboxing, just like why `linuxqq` does not contain that: to stick to upstream.

- `wechat-uos-bwrap` shall be fixed to track the proper non-universal upstream, and non-Arch detection logic and unfriendly codes to Tencent and Wechat shall be fixed / removed. Otherwise this should be deleted as it both provides the wrong upstream release and violates the Arch Code of Conduct.



[a]: https://aur.archlinux.org/packages/wechat-universal-bwrap

[b]: https://aur.archlinux.org/packages/wechat-beta-bwrap

[c]: https://aur.archlinux.org/account/leaeasy

[d]: https://lists.archlinux.org/hyperkitty/list/aur-reque...@lists.archlinux.org/thread/7MDFYGKQA64JJ5QDH7T6XL56ODPNKIJR/

[e]: https://aur.archlinux.org/packages/wechat-uos

[f]: https://bbs.chinauos.com/zh/post/17786

[g]: https://aur.archlinux.org/cgit/aur.git/commit/?h=wechat-universal-bwrap&id=99160cf5326675e6f02ec7b2892d798b68939940

[h]: https://aur.archlinux.org/cgit/aur.git/tree/wechat.sh?h=wechat-uos-bwrap&id=d2e8787adae09a9b029ff9398efc9d72ba8d895d#n7

[i]: https://aur.archlinux.org/cgit/aur.git/tree/wechat.sh?h=wechat-uos-bwrap&id=d2e8787adae09a9b029ff9398efc9d72ba8d895d#n4

[j]: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=wechat-uos-bwrap&id=d2e8787adae09a9b029ff9398efc9d72ba8d895d#n84

[k]: https://lists.archlinux.org/hyperkitty/list/aur-reque...@lists.archlinux.org/thread/WW3N5GWU2KRID4PF42OX7Y7DA37O3M5Y/#WW3N5GWU2KRID4PF42OX7Y7DA37O3M5Y

[l]: https://terms.archlinux.org/docs/code-of-conduct/


Yours kindly,

Guoxin "7Ji" Pu

Reply via email to