Closed petronny closed 2 years ago
你觉得这些检验和在那里是干什么的啊……如果它变了,那就打包新版本啊。 你应当尽量从上游获取校验和,而不是自己生成它们(虽然很多上游都做不到)。
不是,情况是这样。比如原来的1.0-1的PKGBUILD是对v1.0.tar.gz算的hashsum,然后正常打包了。
之后上游偷偷换了v1.0.tar.gz,然后AUR上的PKGBUILD也发现并更新了1.0-2,此时应当重新打包1.0-2
然而此时本地有v1.0.tar.gz的缓存,不会下载新版本,就会报One or more files did not pass the validity check!
的错误,此时就必须手动运行 cleanup-package-files 把 v1.0.tar.gz 删了。
我是觉得最后这个手动运行 cleanup-package-files 可以自动化
如果你遇到这样的无良上游,解决办法就是在文件名里带上时间戳。
说起来,什么不靠谱的上游会经常这么干啊。我感觉这种包 drop 掉是更好的选择。
大家都是偶尔会这样。。。但是包多了这种情况就多了。。。
另外还有个例子是会下载一个eula.html当源码(license),然而这个网页老变
另外还有个例子是会下载一个eula.html当源码(license),然而这个网页老变
那就在 pre_build 里把它删掉啦。
那个删掉是没问题。。。
但是其他总会有出问题的,另外还有 vcs 上游变了的情况,还是会遇到一些的
vcs 上游变了是另一个问题。
要不你做一个函数,把对不上的删掉,但是别的文件别删。cleanup-package-files 是会把指定包的所有未跟踪文件都删掉的,而且它的设计目的就是给维护者手动调用。lilac 本来对文件有权限,不需要用它来删。
我目前打算把这个做成makepkg -od
的某种改进,如果有报错的就删了,然后在后面没有--holdver
的archbuild
运行时下载
如题, 虽然这么做不对但是有好多上游偷偷换了文件的情况。。。
感觉只要报错 log 中有 One or more files did not pass the validity check!
就可以自动运行 cleanup-package-files 了
(另一种 vcs 上游变了的情况也类似,不过报错信息忘了)