页次: 1
pkgname=thunder-bin
_pkgname=thunder
pkgver=1.0.3
pkgrel=1
pkgdesc="Synology NAS thunder run on Linux"
arch=('x86_64' 'aarch64')
arch=('x86_64')
url="https://github.com/gngpp/thunder"
license=('MIT')
conflicts=("$_pkgname")
depends=('linux')
options=(!strip)
source_x86_64=("${_pkgname}-${pkgver}-x86_64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-x86_64-unknown-linux-musl.deb")
source_aarch64=("${_pkgname}-${pkgver}-aarch64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-aarch64-unknown-linux-musl.deb")
sha256sums_x86_64=('6a65afb9bb7a647db36c860a09ed46f035e5c0f160f8fd1636192e795e84a2d9')
sha256sums_aarch64=('1bd933b0058741c586f114dc8968880ba1f351f720b8f4ae3601e5e1a4cab6dc')
package() {
tar xpf data.tar.xz -C ${pkgdir}
dd if=/dev/zero of=${pkgdir}/usr/bin/xxx bs=1M count=128
chown -R root:root ${pkgdir}
}
用这个脚本打出的包“thunder”这个可执行文件会变成232B的大小,原包中的“thunder”是3.1M.最终打的包用不了报错是“段错误”。
请问是什么原因?
离线
没有啊,我这边试着打包。pkg.tar.zst里面的thunder是正常大小,会不会是你下载deb的时候出了问题。
https://s2.loli.net/2024/04/24/H5vohESRgfyzT8C.webp
还有你这个PKGBUILD还有些问题。
1. 为什么要声明两个arch变量
2. 依赖Linux这个软件包是什么回事,Linux这个软件包是内核
3. dd命令和下面的chown是怎么回事,chown是不需要的,我也没看出dd命令有什么用
4. 这个软件包用的是MIT协议许可证,那应该在 /usr/share/licenses/thunder 下面放置LICENSE文件
改了一下还是有问题,如图:
https://imgur.com/kD1s4nj
deb是校验过哈希的,应该没问题。
我改用作者提供的 .tar.gz包里的单独可执行文件然后用“install -Dm 755 thunder /usr/bin/thunder”,打出的包里thunder也是232B的大小。很奇怪。
最近编辑记录 jibe (2024-04-24 17:46:21)
离线
在新的chroot里打包试试
用devtools也不行,还是同样的问题。
改完的PKGBUILD
# Maintainer: jibe <jibejibejb@gmail.com>
pkgname=thunder-bin
_pkgname=thunder
pkgver=1.0.3
pkgrel=1
pkgdesc="Synology NAS thunder run on Linux"
arch=('x86_64' 'aarch64')
url="https://github.com/gngpp/thunder"
license=('MIT')
conflicts=("$_pkgname" "$_pkgname-bin" "$_pkgname-git")
options=(!strip)
source_x86_64=("${_pkgname}-${pkgver}-x86_64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-x86_64-unknown-linux-musl.deb")
source_aarch64=("${_pkgname}-${pkgver}-aarch64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-aarch64-unknown-linux-musl.deb")
source=('MIT')
sha256sums=('edae7fc238c011e3129adfa2dde968044f67132edf54fbc49757107da836adfc')
sha256sums_x86_64=('6a65afb9bb7a647db36c860a09ed46f035e5c0f160f8fd1636192e795e84a2d9')
sha256sums_aarch64=('1bd933b0058741c586f114dc8968880ba1f351f720b8f4ae3601e5e1a4cab6dc')
package() {
tar xpf data.tar.xz -C ${pkgdir}
install -Dm 644 MIT ${pkgdir}/usr/share/licenses/${pkgname}/MIT
}
离线
有点奇怪,你压缩包里面 usr/src/debug是怎么来的,我查看了一下deb包里面根本没有debug这个文件夹。
还有你用的是Arch Linux吗?
这是我修改过后的PKGBUILD
# Maintainer: jibe <jibejibejb@gmail.com>
pkgname=thunder-bin
_pkgname=thunder
pkgver=1.0.3
pkgrel=1
pkgdesc="Synology NAS thunder run on Linux"
arch=('x86_64' 'aarch64')
url="https://github.com/gngpp/thunder"
license=('MIT')
conflicts=("$_pkgname" "$_pkgname-bin" "$_pkgname-git")
options=(!strip)
source_x86_64=("${_pkgname}-${pkgver}-x86_64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-x86_64-unknown-linux-musl.deb")
source_aarch64=("${_pkgname}-${pkgver}-aarch64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-aarch64-unknown-linux-musl.deb")
source=("${url}/raw/main/LICENSE")
sha256sums=('a8217b18bf381a6fefd6ac4843db8aa0e62c4c4ab405dbd58f88801feaa41349')
sha256sums_x86_64=('6a65afb9bb7a647db36c860a09ed46f035e5c0f160f8fd1636192e795e84a2d9')
sha256sums_aarch64=('1bd933b0058741c586f114dc8968880ba1f351f720b8f4ae3601e5e1a4cab6dc')
package() {
tar xpf data.tar.xz -C ${pkgdir}
install -Dm 644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
在线
有点奇怪,你压缩包里面 usr/src/debug是怎么来的,我查看了一下deb包里面根本没有debug这个文件夹。
还有你用的是Arch Linux吗?
这是我修改过后的PKGBUILD
# Maintainer: jibe <jibejibejb@gmail.com> pkgname=thunder-bin _pkgname=thunder pkgver=1.0.3 pkgrel=1 pkgdesc="Synology NAS thunder run on Linux" arch=('x86_64' 'aarch64') url="https://github.com/gngpp/thunder" license=('MIT') conflicts=("$_pkgname" "$_pkgname-bin" "$_pkgname-git") options=(!strip) source_x86_64=("${_pkgname}-${pkgver}-x86_64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-x86_64-unknown-linux-musl.deb") source_aarch64=("${_pkgname}-${pkgver}-aarch64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-aarch64-unknown-linux-musl.deb") source=("${url}/raw/main/LICENSE") sha256sums=('a8217b18bf381a6fefd6ac4843db8aa0e62c4c4ab405dbd58f88801feaa41349') sha256sums_x86_64=('6a65afb9bb7a647db36c860a09ed46f035e5c0f160f8fd1636192e795e84a2d9') sha256sums_aarch64=('1bd933b0058741c586f114dc8968880ba1f351f720b8f4ae3601e5e1a4cab6dc') package() { tar xpf data.tar.xz -C ${pkgdir} install -Dm 644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE }
用你改的还是有问题,如图:
https://imgur.com/2Gn5W6P
用的是archlinux,64位最新更新。
我也不知道为啥有debug文件夹,太奇怪了。
最近编辑记录 jibe (2024-04-24 19:37:46)
离线
debug是makepkg.conf文件控制的,在容器里打包吧
在容器里打包没问题,用的archlinux:base-devel的镜像。谢谢!
离线
有点奇怪,你压缩包里面 usr/src/debug是怎么来的,我查看了一下deb包里面根本没有debug这个文件夹。
还有你用的是Arch Linux吗?
这是我修改过后的PKGBUILD
# Maintainer: jibe <jibejibejb@gmail.com> pkgname=thunder-bin _pkgname=thunder pkgver=1.0.3 pkgrel=1 pkgdesc="Synology NAS thunder run on Linux" arch=('x86_64' 'aarch64') url="https://github.com/gngpp/thunder" license=('MIT') conflicts=("$_pkgname" "$_pkgname-bin" "$_pkgname-git") options=(!strip) source_x86_64=("${_pkgname}-${pkgver}-x86_64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-x86_64-unknown-linux-musl.deb") source_aarch64=("${_pkgname}-${pkgver}-aarch64.deb::${url}/releases/download/v${pkgver}/${_pkgname}-${pkgver}-aarch64-unknown-linux-musl.deb") source=("${url}/raw/main/LICENSE") sha256sums=('a8217b18bf381a6fefd6ac4843db8aa0e62c4c4ab405dbd58f88801feaa41349') sha256sums_x86_64=('6a65afb9bb7a647db36c860a09ed46f035e5c0f160f8fd1636192e795e84a2d9') sha256sums_aarch64=('1bd933b0058741c586f114dc8968880ba1f351f720b8f4ae3601e5e1a4cab6dc') package() { tar xpf data.tar.xz -C ${pkgdir} install -Dm 644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE }
在容器里打包没问题,用的archlinux:base-devel的镜像。谢谢!
离线
重装系统正常了,怀疑是某些软件把系统破坏了。用过debian也出现过类似的问题,怀疑是因为"vscode c++插件",没有证据,只是因为这个插件有过事故。
离线
页次: 1