您尚未登录。

#1 2024-04-24 14:25:58

jibe
会员
注册时间: 2024-04-24
帖子: 6

PKGBUILD打包问题

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.最终打的包用不了报错是“段错误”。
请问是什么原因?

离线

#2 2024-04-24 15:22:56

Bryan2333
会员
注册时间: 2023-01-19
帖子: 104

Re: PKGBUILD打包问题

没有啊,我这边试着打包。pkg.tar.zst里面的thunder是正常大小,会不会是你下载deb的时候出了问题。

H5vohESRgfyzT8C.webp

还有你这个PKGBUILD还有些问题。

1. 为什么要声明两个arch变量
2. 依赖Linux这个软件包是什么回事,Linux这个软件包是内核
3. dd命令和下面的chown是怎么回事,chown是不需要的,我也没看出dd命令有什么用
4. 这个软件包用的是MIT协议许可证,那应该在 /usr/share/licenses/thunder 下面放置LICENSE文件

离线

#3 2024-04-24 17:37:14

jibe
会员
注册时间: 2024-04-24
帖子: 6

Re: PKGBUILD打包问题

Bryan2333 说:

没有啊,我这边试着打包。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)

离线

#4 2024-04-24 17:50:32

鸭子的菊花
会员
注册时间: 2023-01-06
帖子: 21

Re: PKGBUILD打包问题

在新的chroot里打包试试

离线

#5 2024-04-24 18:58:25

jibe
会员
注册时间: 2024-04-24
帖子: 6

Re: PKGBUILD打包问题

鸭子的菊花 说:

在新的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
}

离线

#6 2024-04-24 19:07:44

Bryan2333
会员
注册时间: 2023-01-19
帖子: 104

Re: PKGBUILD打包问题

有点奇怪,你压缩包里面 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
}

离线

#7 2024-04-24 19:35:53

jibe
会员
注册时间: 2024-04-24
帖子: 6

Re: PKGBUILD打包问题

Bryan2333 说:

有点奇怪,你压缩包里面 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)

离线

#8 2024-04-24 20:57:54

鸭子的菊花
会员
注册时间: 2023-01-06
帖子: 21

Re: PKGBUILD打包问题

debug是makepkg.conf文件控制的,在容器里打包吧

离线

#9 2024-04-24 21:34:14

jibe
会员
注册时间: 2024-04-24
帖子: 6

Re: PKGBUILD打包问题

鸭子的菊花 说:

debug是makepkg.conf文件控制的,在容器里打包吧

在容器里打包没问题,用的archlinux:base-devel的镜像。谢谢!

离线

#10 2024-04-24 21:34:53

jibe
会员
注册时间: 2024-04-24
帖子: 6

Re: PKGBUILD打包问题

Bryan2333 说:

有点奇怪,你压缩包里面 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的镜像。谢谢!

离线

页脚