如题,我在下载olympus来玩celeste mods的时候发现lua51-lsqlite3这个AUR包无法正常被安装,而AUR仓库中提供的三个包olympus olympus-bin olympus-git 均依赖这个包,安装时的提示如下:
~ ❯
paru -S olympus 12:08
:: 正在解析依赖关系……
:: 软件包 olympus 有 2 个提供者:
:: 软件库 AUR:
1) olympus 2) olympus-git
输入一个数字(默认=1):
:: 正在计算冲突……
:: 正在计算内部冲突……
Aur (2) 旧版本 新版本 仅生成
aur/lua51-lsqlite3 0.9.6-6 否
aur/olympus 25.06.14.02-1 否
:: 继续以审阅? [Y/n]:
:: 正在下载 PKGBUILD……
PKGBUILD 都已是最新版本
没有可供审阅的新更改
正在获取开发版信息……
==> 正在创建软件包:lua-lsqlite3 0.9.6-6 (2025年12月31日 星期三 12时08分41秒)
==> 获取源代码...
-> 找到 lsqlite3_v096-6.zip
==> 正在验证 source 文件,使用sha256sums...
lsqlite3_v096-6.zip ... 失败
==> 错误: 一个或多个文件没有通过有效性检查!
错误: 未能下载 'lua-lsqlite3-0.9.6-6 (lua51-lsqlite3)' 的源:
错误: 无法构建 olympus-25.06.14.02-1,未满足以下依赖关系:lua51-lsqlite3
错误: 未能构建的软件包:lua-lsqlite3-0.9.6-6 (lua51-lsqlite3) olympus-25.06.14.02-1
在它的AUR页面里也有人提及这一点→lua51-lsqlite3
我没有办法联系到维护者,故发帖求助
依云
(lilydjwg)
December 31, 2025, 12:24pm
2
AUR页面的评论里不是有人提供了一个补丁吗?你打上试试?
这个该如何使用呢?我需要手动安装然后替换它的PKGBUILD吗
依云
(lilydjwg)
December 31, 2025, 12:43pm
6
你可以找个LLM给你解释一下unified patch格式……
emm……这个是git里面用来描述文件变化的对吧(现场百度中…),能不能用git直接处理这个补丁文件呢?
依云
(lilydjwg)
December 31, 2025, 12:56pm
8
可以直接git apply,或者用patch命令也行。
运行命令
git apply patch
其中patch就是提及的补丁文件,内容是
diff --git i/PKGBUILD w/PKGBUILD
index 50353c6..d9aeac1 100644
--- i/PKGBUILD
+++ w/PKGBUILD
@@ -15,10 +15,11 @@ makedepends=(lua
lua51
lua52
lua53
- luarocks)
+ luarocks
+ fossil)
_archive="${_rockname}_$_fossilver-$pkgrel"
-source=("$_archive.zip::http://lua.sqlite.org/home/zip/$_archive.zip?uuid=v$pkgver")
-sha256sums=('981c95e0ed1c45805abf309de48d40c8bdb6b63131331f484f9eae2a0502440c')
+source=("$_archive::fossil+http://lua.sqlite.org/home/zip/$_archive.zip?uuid=v$pkgver")
+sha256sums=('SKIP')
_package_helper() {
cd "$_archive"
得到的PKGBUILD文件
# Maintainer: Caleb Maclennan <caleb@alerque.com>
_rockname=lsqlite3
pkgname=("lua-$_rockname" "lua53-$_rockname" "lua52-$_rockname" "lua51-$_rockname")
pkgver=0.9.6
_fossilver=v${pkgver//./}
_rockrel=1
pkgrel=6
pkgdesc='A binding for Lua to the SQLite3 database library'
arch=(x86_64 i686)
url='http://lua.sqlite.org'
license=(MIT)
depends=(sqlite)
makedepends=(lua
lua51
lua52
lua53
luarocks
fossil)
_archive="${_rockname}_$_fossilver-$pkgrel"
source=("$_archive::fossil+http://lua.sqlite.org/home/zip/$_archive.zip?uuid=v$pkgver")
sha256sums=('SKIP')
_package_helper() {
cd "$_archive"
luarocks --lua-version "$1" --tree "$pkgdir/usr/" \
make --deps-mode none --no-manifest "$_rockname-$pkgver-$_rockrel.rockspec"
}
package_lua-lsqlite3() {
depends+=(lua)
_package_helper 5.4
}
package_lua53-lsqlite3() {
depends+=(lua53)
_package_helper 5.3
}
package_lua52-lsqlite3() {
depends+=(lua52)
_package_helper 5.2
}
package_lua51-lsqlite3() {
depends+=(lua51)
_package_helper 5.1
}
是这样对吗
makepkg报错
~/Clone/lua-lsqlite3 master !? ❯
makepkg 13:27
==> 正在创建软件包:lua-lsqlite3 0.9.6-6 (2025年12月31日 星期三 13时27分51秒)
==> 正在检查运行时依赖关系...
==> 正在检查编译时依赖关系
==> 获取源代码...
incorrect repository schema version: current repository schema version is "" but need versions between "2011-04-25 19:50" and "2015-01-24".
run "fossil rebuild" to fix this problem
==> 错误: /home/BreadCat/Clone/lua-lsqlite3/lsqlite3_v096-6 不是 http://lua.sqlite.org/home/zip/lsqlite3_v096-6.zip 的克隆
正在放弃...
运行提示中的fossil rebuild
~/Clone/lua-lsqlite3 master !? ❯
fossil rebuild 13:29
use --repository or -R to specify the repository database
不太清楚应该怎么处理
mtians
January 2, 2026, 8:42am
14
1 Like