paradiseduo / ShadowsocksX-NG-R8

ShadowsocksX-NG-R for MacOS, ShadowsocksR

Home Page:https://github.com/paradiseduo/ShadowsocksX-NG-R8.git

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

建议:可否增加brew cask

owenzhao opened this issue · comments

System and Shadowsocksx-NG-R8 version:

  • macOS 10.15.4 (19E287)
  • Shadowsocksx-NG-R 1.6.2

Expected behavior:

今天升级完macOS之后,提示有新版。点击之后发现是需要手动下载安装。能否和ss一样,提供一个brew cask呢?这样就可以通过brew升级安装了。

brew cask上已经有重名的项目,因此这个项目无法再提交到brew cask。

那个是叫ssr吧?你可以叫ssr8之类的。

改名的话你用brew安装就会生成一个新的APP,不会把你手动安装的覆盖

明白了。虽然你的应用名字叫R8,但是你的可执行文件后面没有8。同名的那个软件已经停止开发了。不知道能不能申请撤销?brew cask这种是先占先得的吗?

我查看了一下,似乎应该只要是cask的名称不一样就可以了。比如brew建议使用“开发者+应用名的方式”。

https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

Naming
Unlike formulae, casks must have globally unique names to avoid clashes. This can be achieved by e.g. prepending the cask name with your github username: username-formula-name.

你可以叫paradiseduo-shadowsocksx-ng-r之类的。并且cask的名字,和最终的应用的名字也不必一致。比如官方举例的这个

https://github.com/Homebrew/homebrew-cask/blob/master/doc/cask_language_reference/readme.md

cask 'alfred' do
  version '2.7.1_387'
  sha256 'a3738d0513d736918a6d71535ef3d85dd184af267c05698e49ac4c6b48f38e17'

  url "https://cachefly.alfredapp.com/Alfred_#{version}.zip"
  name 'Alfred'
  homepage 'https://www.alfredapp.com/'

  app 'Alfred 2.app'
  app 'Alfred 2.app/Contents/Preferences/Alfred Preferences.app'
end

名字叫alfred,但是应用名叫Alfred 2.app。

对的,这就是我说的应用名要改变,没法覆盖的原因。
我尝试过只改cask的名字,但是结果是这样(电脑上手动安装过APP):
image
因此除非你是使用brew安装的APP,不然没法通过brew去升级他:
image

或许之后会考虑添加Sparkle库来实现自动升级安装,但是Sparkle库对签名要求十分严格,如果签名不对是无法覆盖的。
这样就会导致如果将来证书到期,要换证书的话,用Sparkle升级可能就会报错了。

就算是之前安装的不能直接覆盖,也比每次都重新下载并安装方便啊。你可以在ReadMe里提示用户这一点。这样新用户可以一开始就用brew cask安装,老用户的话,也可以选择删除掉应用再用brew cask装一次就好了。因为直接删应用,设置还在,不会对老用户造成什么影响。只需要切换一次。

合并请求被驳回。原因可以在上述链接中查看。