安装软件时无法正常获取lua51-lsqlite3这一依赖

如题,我在下载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
我没有办法联系到维护者,故发帖求助

AUR页面的评论里不是有人提供了一个补丁吗?你打上试试?

这个该如何使用呢?我需要手动安装然后替换它的PKGBUILD吗

自己照着修改一下PKGBUILD就好了。

看不懂脚本……是在文档末添加还是替换呢

你可以找个LLM给你解释一下unified patch格式……

emm……这个是git里面用来描述文件变化的对吧(现场百度中…),能不能用git直接处理这个补丁文件呢?

可以直接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

不太清楚应该怎么处理

把它删掉试试?

shs256效验没通过

https://arch.alerque.com/x86_64/lua51-lsqlite3-0.9.6-5-x86_64.pkg.tar.zst

直接下载这个安装包 用sudo pacman -U安装

1 Like