You are not logged in.
I have this PKGBUILD almost working:
# Maintainer: Ícar N. S. <icar.nin@protonmail.com>
_name=crawley
pkgname=$_name-bin
pkgver=1.1.4
pkgrel=1
pkgdesc="The unix-way web crawler"
arch=(x86_64 aarch64)
url="https://github.com/s0rg/crawley"
license=('MIT')
#depends=()
#makedepends=()
provides=($_name)
conflicts=($_name $_name-git)
source_x86_64=("$pkgname-$pkgver-x86_64.tar.gz::$url/releases/download/v${pkgver}/crawley_${pkgver}_linux_x86_64.tar.gz")
source_aarch64=("$pkgname-$pkgver-aarch64.tar.gz::$url/releases/download/v${pkgver}/crawley_${pkgver}_linux_arm64.tar.gz")
sha256sums_x86_64=('a6f468289141a63060d1fb08c6784f50514c1d804b79f283e320afc7ba87ace0')
sha256sums_aarch64=('be0b71d656971d12140010a262de6b7b7ff9568e3921658bbb77f1936e3b84f6')
package_x86_64() {
cd "$pkgname-$pkgver-x86_64"
install -Dm551 $_name "$pkgdir"/usr/bin/$_name
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_aarch64() {
cd "$pkgname-$pkgver-aarch64"
install -Dm551 $_name "$pkgdir"/usr/bin/$_name
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
The issue I'm facing is that the generated pkg doesn't contain the binary that should be installed with the "install -Dm551 ..." command.
Any help would be appreciated.
Last edited by icar (2021-11-11 00:45:37)
Offline
package_x86_64()
Will never be called, hence the empty package. What if you replace $pkgname-$pkgver-x86_64 with $pkgname-$pkgver-$CARCH ?
Edit:
Minor niggles
conflicts=($_name $_name-git $_name-bin)
Conflicting with itself and missing license file.
Edit2:
The archive does not contain any directories so crawley is extracted to $srcdir no need to cd or use any path
install -Dm551 $_name "$pkgdir"/usr/bin/$_name
Edit3:
Why is the mode not 755?
Last edited by loqs (2021-11-11 00:44:33)
Offline
- Updated with license included
- Updated conflicts
- $CARCH change produced same output
EDIT: Oops, missed the edits!
Why is the mode not 755?
I don't know, this seemed alright: no need for writing to a binary. Is it needed? Is there any convention?
Thanks for pointing out the directory issue - I'd expect that makepkg would complain! Unfortunately, it still is producing an empty pkg.
Last edited by icar (2021-11-11 00:51:44)
Offline
You changed to using package() instead of package_x86_64() ?
package() {
install -Dm551 $_name "$pkgdir"/usr/bin/$_name
}
Last edited by loqs (2021-11-11 00:47:00)
Offline
Alright, final PKGBUILD that works! (I haven't tested it in a aarch64 computer)
# Maintainer: Ícar N. S. <icar.nin@protonmail.com>
_name=crawley
pkgname=$_name-bin
pkgver=1.1.4
pkgrel=1
pkgdesc="The unix-way web crawler"
arch=(x86_64 aarch64)
url="https://github.com/s0rg/crawley"
license=('MIT')
provides=($_name)
conflicts=($_name $_name-git)
source_x86_64=("$pkgname-$pkgver-x86_64.tar.gz::$url/releases/download/v${pkgver}/crawley_${pkgver}_linux_x86_64.tar.gz")
source_aarch64=("$pkgname-$pkgver-aarch64.tar.gz::$url/releases/download/v${pkgver}/crawley_${pkgver}_linux_arm64.tar.gz")
sha256sums_x86_64=('a6f468289141a63060d1fb08c6784f50514c1d804b79f283e320afc7ba87ace0')
sha256sums_aarch64=('be0b71d656971d12140010a262de6b7b7ff9568e3921658bbb77f1936e3b84f6')
package() {
install -Dm775 $_name "$pkgdir"/usr/bin/$_name
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
https://aur.archlinux.org/packages/crawley-bin/
Thanks loqs, much appreciated!
Last edited by icar (2021-11-11 01:30:13)
Offline
In case you wanted to build it from source
pkgname=crawley
pkgver=1.1.4
pkgrel=1
pkgdesc="The unix-way web crawler"
arch=(x86_64 aarch64)
url="https://github.com/s0rg/crawley"
license=('MIT')
depends=('glibc')
makedepends=('go')
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('008d240fa3ee4bac11aac3dade8af8df5c57f6d2d68abfb82802306167f6d9c1')
prepare(){
cd "$pkgname-$pkgver"
mkdir -p build/
}
build() {
cd "$pkgname-$pkgver"
go build \
-trimpath \
-buildmode=pie \
-mod=readonly \
-modcacherw \
-ldflags "-X main.gitVersion=$pkgver -linkmode external -extldflags \"${LDFLAGS}\"" \
-o build ./cmd/...
}
package() {
cd "$pkgname-$pkgver"
install -Dm755 build/$pkgname -t "$pkgdir"/usr/bin
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
}
Last edited by loqs (2021-11-11 01:34:24)
Offline
Maybe you are interested in maintaining that crawley pkgbuild
I'm fine with the -bin one, thanks for your effort! I'll save it just in case.
Offline