-
Notifications
You must be signed in to change notification settings - Fork 38
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
pkgbuild.check_srcinfo对多arch的支持不好 #155
Comments
头疼……这部分并不支持官方 Arch 之外的发行版。做起来也挺麻烦,还不一定能成功。倒是可以对其它发行版的包,把这部分跳过。 |
那我跳过吧。。。 |
啊,我的鍋...當初沒有想到不同arch版本可能不同的問題,因為Arch還支援i686的時候,x86_64和i686通常是同時更新的
嗯都不是,是看包在 Line 95 in d039393
或許可以改成 (not tested) arch = build_prefix.split('-')[-1]
if arch == 'multilib':
arch = 'x86_64'
_repo_package_versions = {p.name: p.version for p in db.pkgcache if p.arch == arch}
跳過會有問題。這段code是用來防止打出舊版本的包。如果x86_64是1.0.0-10,aarch64要是從1.0.0-8升級到1.0.0-9會失敗。 |
对。。。就是这个情况。。。 我试试改改 |
|
发行版这个问题就更大了,我今天还想来着。 archlinux和alarm好在是架构不重叠,我认为放到同一个lilac repo里没事。 但还有架构重叠的,比如如果要做 不光 总之我觉得archlinux, alarm, Arch linux 32放在同一个arch repo里面,靠架构区分没事。 但archlinux, alarm, Arch linux 32, manjaro, manjaro-arm这些要不要放同一个lilac repo我觉得有待讨论。 |
然后还有一个地方也有多arch repo输出的需求。 我记得原先有个dropbox的例子 |
总之总结一下是, |
多repo我覺得不一定需要。當初討論[archlinuxcn-testing]的時候 [1] 我有考慮過這點。看了code之後,覺得跑多個lilac,用不同的config.ini比較容易做。 |
多个发行版 / repo,你跑多只 lilac 就好了呀。(所以其实 alarm 应该单开一只 lilac。) 只打包不输出这个要做也不难,只要添加一个配置项,出包之后不调用 |
多只不如一只。。。 这种情况下我站多arch repo输出 不过现在是多arch就够用。。。 |
多session是指 #145 ? 那的確多隻不容易做... |
这个在 |
我现在的解决方案是先对老 PKGBUILD 求一次版本号,然后拖 PKGBUILD,再 makepkg -od --noprepare ,然后再求一次版本号,然后比较新旧。。 |
如题。
_repo_package_versions永远是x86_64的那个。(还是不同arch的同名包只取最新的那个?)
非x86_64的不应该读这个的。
建议把build_prefix传给check_srcinfo,然后取最后一段当做arch再做判断吧
multilib特判成x86_64
PS. 我目前用到的各种奇怪的build_prefix有:
例如 skip-aarch64-build
这个是跳过archbuild,通过pre_build直接下载其他地方打好的包,例如
https://github.com/arch4edu/arch4edu/blob/master/linux-raspberrypi4-aarch64/lilac.py
The text was updated successfully, but these errors were encountered: