Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Challenge] 编写统一安装的 shell 和 PowerShell 脚本 #98

Open
8 of 10 tasks
ccmywish opened this issue Oct 9, 2024 · 12 comments · Fixed by #104
Open
8 of 10 tasks

[Challenge] 编写统一安装的 shell 和 PowerShell 脚本 #98

ccmywish opened this issue Oct 9, 2024 · 12 comments · Fixed by #104
Assignees
Labels
Challenge Challenge Release Release
Milestone

Comments

@ccmywish
Copy link
Contributor

ccmywish commented Oct 9, 2024

现有的安装方式比较麻烦,用户需要手动根据操作系统和CPU类型来区分下载链接。该 challenge 邀请贡献者参与编写 :

  1. shell 脚本
  2. PowerShell 脚本

chsrc 项目支持一定程度的AI编写,但如果主要内容均由AI完成,需要将文件头作者填写为AI产品名。欢迎 shell 脚本初学者 和 PowerShell 初学者优先贡献


Shell 脚本 TODO

  • 基本框架
  • 支持 macOS 用户 和 Linux 用户
  • 使用标准默认安装目录
  • 支持自定义安装目录
  • 支持英语输出
  • BSD 用户也可使用该脚本,但并不是下载,而是调用 clang/gcc/gmake 自己编译
  • 其它POSIX平台,调用 clang/gcc/make 自己编译

PowerShell 脚本 TODO

  • 基本框架
  • 确定一个标准的可以执行exe的安装目录 → 不能执行,但标准:~/Downloads
  • 支持自定义安装目录

@ccmywish ccmywish added the Release Release label Oct 9, 2024
@ccmywish ccmywish added this to the v0.2.0 milestone Oct 9, 2024
@ccmywish ccmywish added the Challenge Challenge label Oct 9, 2024
@ccmywish
Copy link
Contributor Author

ccmywish commented Oct 9, 2024

@Efterklang
Copy link
Contributor

写了一个linux/macos的安装脚本
curl <path_to_install.sh>默认下载位置为/usr/local/bin
image
可以通过-d传入下载路径的参数
image
在wsl arch和ubuntu上测试了,macos未测试

@ccmywish
Copy link
Contributor Author

@Efterklang 👍👍👍

可以开一个PULL REQUEST,直接在 chsrc 仓库维护就行了,不需要单独到 Gist 维护了。

ccmywish added a commit that referenced this issue Oct 25, 2024
ccmywish added a commit that referenced this issue Oct 25, 2024
@ccmywish
Copy link
Contributor Author

已在 README 中添加使用 @Efterklang 编写的安装脚本。若后续有用户反馈, @Efterklang 你可按需修订代码 🤝

另外一个问题:
https://github.com/RubyMetric/chsrc/blob/main/tool/install.sh#L103-L104

这里有一个 -v 选项,是为了让用户指定 chsrc 的版本来安装吗?这个是暂时没有实现吗?还是说 -v 想要输出的是这个安装脚本自身的版本?

@ccmywish
Copy link
Contributor Author

@Jerry-Terrasse

Hi,有没有什么建议和补充?

@Efterklang
Copy link
Contributor

已在 README 中添加使用 @Efterklang 编写的安装脚本。若后续有用户反馈, @Efterklang 你可按需修订代码 🤝

另外一个问题: https://github.com/RubyMetric/chsrc/blob/main/tool/install.sh#L103-L104

这里有一个 -v 选项,是为了让用户指定 chsrc 的版本来安装吗?这个是暂时没有实现吗?还是说 -v 想要输出的是这个安装脚本自身的版本?

是为了让用户指定 chsrc 的版本来安装;但我中午测试的时候,curl返回404;没定位到哪出了问题,就把功能去了。现在发现是版本号输成-v 1.0.x了;已经重新提交了一个pr;可以指定并输出安装的版本

bab50a26e25aff4c9a7043324da0d03e

@Jerry-Terrasse
Copy link
Contributor

@Jerry-Terrasse

Hi,有没有什么建议和补充?

我觉得非常好 👍 👍 目前想到两点建议:

  1. 非root用户执行时便捷选择安装到$HOME/.local/bin
  2. 支持使用短链

如果能有上面两点就更好了 ❤️

@ccmywish
Copy link
Contributor Author

@Efterklang @1328032567

你们俩认识吗?

请分别在:

  1. https://github.com/RubyMetric/chsrc/blob/main/tool/install.sh#L4
  2. https://github.com/RubyMetric/chsrc/blob/main/src/chsrc-main.c#L16

两个位置填写你们的贡献信息。由于 @1328032567 改动比较多,所以和 @Efterklang 同为 install.sh 的 Author,所以也填在 File Authors 的位置。

你们俩的代码太漂亮和细致,以至于我认为可能有AI辅助生成,chsrc 使用了GPL协议,所以对贡献信息希望有明确的了解。如果AI生成超过20%的话,请附带填写AI产品名作为 Contributor,如果超过80%,请把AI产品名作为 Author 🤝 如果代码均由二位自己编写完成,能力确实很强,向你们表示尊重和佩服。👍

当然即使使用 AI,chsrc 项目也是认可的,并对你们做出的贡献和额外努力表示感谢和欢迎。

@Efterklang
Copy link
Contributor

@Efterklang @1328032567

你们俩认识吗?

请分别在:

  1. https://github.com/RubyMetric/chsrc/blob/main/tool/install.sh#L4
  2. https://github.com/RubyMetric/chsrc/blob/main/src/chsrc-main.c#L16

两个位置填写你们的贡献信息。由于 @1328032567 改动比较多,所以和 @Efterklang 同为 install.sh 的 Author,所以也填在 File Authors 的位置。

你们俩的代码太漂亮和细致,以至于我认为可能有AI辅助生成,chsrc 使用了GPL协议,所以对贡献信息希望有明确的了解。如果AI生成超过20%的话,请附带填写AI产品名作为 Contributor,如果超过80%,请把AI产品名作为 Author 🤝 如果代码均由二位自己编写完成,能力确实很强,向你们表示尊重和佩服。👍

当然即使使用 AI,chsrc 项目也是认可的,并对你们做出的贡献和额外努力表示感谢和欢迎。

认识。个人未添加AI生成的代码,以前读过Jan De Dobbeleer [email protected]ohmyposh(MIT License)项目中编写的shell脚本,写得十分优秀,代码组织上主要学习了Dobbeleer的实现😊

image

ccmywish added a commit that referenced this issue Oct 25, 2024
@wickdynex
Copy link
Contributor

@Efterklang @1328032567

你们俩认识吗?

请分别在:

  1. https://github.com/RubyMetric/chsrc/blob/main/tool/install.sh#L4
  2. https://github.com/RubyMetric/chsrc/blob/main/src/chsrc-main.c#L16

两个位置填写你们的贡献信息。由于 @1328032567 改动比较多,所以和 @Efterklang 同为 install.sh 的 Author,所以也填在 File Authors 的位置。

你们俩的代码太漂亮和细致,以至于我认为可能有AI辅助生成,chsrc 使用了GPL协议,所以对贡献信息希望有明确的了解。如果AI生成超过20%的话,请附带填写AI产品名作为 Contributor,如果超过80%,请把AI产品名作为 Author 🤝 如果代码均由二位自己编写完成,能力确实很强,向你们表示尊重和佩服。👍

当然即使使用 AI,chsrc 项目也是认可的,并对你们做出的贡献和额外努力表示感谢和欢迎。

Yeah, we are in the same university also same grade. And, I use AI to translate the zh output into en output. I have to say that AI is very good at translation. But, these bugs and -l feature are both implemented by myself. That's all.
One last question, if ChatGPT 4o mini is the contributor, how to add its email address?

@ccmywish
Copy link
Contributor Author

ccmywish commented Oct 25, 2024

@1328032567

Just add a website of it.

https://github.com/RubyMetric/chsrc/blob/main/tool/install.ps1#L4

In the PowerShell version, I asked ChatGPT for the API to get OS architecture, this info is very important to this script, so I add it as another author instead of contributor.

@ccmywish
Copy link
Contributor Author

@Efterklang @1328032567

Great work! 🥰 Your code quality standards are very high. 👍

Please add your contribution infos Proudly at https://github.com/RubyMetric/chsrc/blob/main/src/chsrc-main.c#L16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Challenge Challenge Release Release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants