自动化工具 使用 C 编写的跨平台的换源工具 chsrc

ccmywish · 2023年09月18日 · 最后由 墨妖 回复于 2023年09月21日 · 5099 次阅读

综述

太多软件需要换源,我以前一直用 shell 搞的,在 Windows 上得用 powershell,维护起来非常麻烦。

清华 Tuna 有一个用 Python 写的脚本,叫做 oh-my-tuna,但是不一定所有用户都会装 Python。JavaScript 同理。另外,它只能换到清华源。所以我想,能不能写一个比较通用一点的,大家都有机会使用。

  1. 目标是能够换各种编程语言,换操作系统,换各种软件(比如 brew, emacs, tex 等)

  2. 尽量支持各个镜像站。现在有 MirrorZ 项目,提供了充足的教育网镜像站信息,再加上商业公司提供的镜像站,用户可选择的还是挺多的

  3. 帮助用户测速,挑选最快的镜像站

  4. 我想要的是一个极其简单的 exe 文件。尤其是刚装机的时候,可能系统上还没有 python,还没有 js,所以更不能依赖于脚本语言

  5. 跨平台。所以不能使用 bash, sh, powershell 等

  6. 使用朴素简陋的 C 语言。避免 language war

无论是自己的机器,还是服务器,还是 CI,我觉得这个工具,都可以起到一定作用。有没有感兴趣的小伙伴试试看?

  1. https://gitee.com/RubyMetric/chsrc
  2. https://github.com/RubyMetric/chsrc


寻求帮助

这个项目主要的困难点在于,想要在多个平台尽可能地换各种软件源比较困难,就需要在各个平台上的程序员的帮助。比如 FreeBSD 的用户很少,只有他们自己有需求时才能正确地实现该功能,也只有他们自己能够测试,其他软件同理。这就是为什么我发帖的原因,希望大家有兴趣的可以参与开发维护测试。

另外,请教大家,如何对这个进行自动化测试?有一个大学团队也在实现类似的工具,跟我交流说,docker 可能并不完全和用户的场景一样,所以拿虚拟机测试是最稳妥的。另外,请问 docker 可以支持 windows 和 macos 作为 guest 吗?


共收到 4 条回复 时间 点赞

make 有编译错误咋回事呢,按照文档 git clone 然后直接 make 的,系统 Ubuntu

真厉害。。。。

墨妖 回复

Hi 你好,感谢你的试用。我们现在main分支是 stable 分支,GitHub Actions 编译用的就是 main 分支的代码,所以代码是可以正确编译的,没有啥问题。

您截图中出现的报错说: pl_ 不是常量,是因为我们连续用了两次宏。这样的话,可能版本比较老的 GCC 就会在这儿报错。

不过这是一个值得认真考虑的问题,我将试着调整代码,满足这些较低版本 GCC 的使用。您的 GCC 版本是多少?

另外在此之前,您可考虑直接使用 GitHub Actions 编译好的二进制直接使用。

ccmywish 回复

gcc version 7.5.0

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册