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