1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
pkgname=zot
pkgver=2.0.4
_zui_commit=c78b303ee88555b39b9f21f136e702724b1725b0
pkgrel=2
pkgdesc="Vendor-neutral OCI-native container image registry"
url="https://zotregistry.dev/"
# 32-bit, s390x, riscv64: tests fail to build
arch="all !armv7 !armhf !x86 !s390x !riscv64"
license="Apache-2.0"
makedepends="go linux-headers npm nodejs"
subpackages="
$pkgname-doc
$pkgname-openrc
$pkgname-cli:_cli
$pkgname-exporter:_exporter
$pkgname-cli-bash-completion:_bashcomp:noarch
$pkgname-cli-fish-completion:_fishcomp:noarch
$pkgname-cli-zsh-completion:_zshcomp:noarch
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/project-zot/zot/archive/refs/tags/v$pkgver.tar.gz
zui-$_zui_commit.tar.gz::https://github.com/project-zot/zui/archive/$_zui_commit.tar.gz
zot.initd
zot.confd
basename_patch
"
options="net" # download Go modules
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
prepare() {
default_prepare
go mod vendor -v
patch -p1 -i "$srcdir"/basename_patch
cd "$srcdir"/zui-$_zui_commit
npm install --no-progress
}
build() {
cd "$srcdir"/zui-$_zui_commit
npm run build
cp -r build "$builddir"/pkg/extensions/
cd "$builddir"
local _extensions="sync,search,scrub,metrics,lint,ui,mgmt,profile,userprefs,imagetrust"
local _goldflags="
-X zotregistry.io/zot/pkg/api/config.ReleaseTag=v$pkgver
-X zotregistry.io/zot/pkg/api/config.Commit=AlpineLinux
-X zotregistry.io/zot/pkg/api/config.BinaryType=${_extensions//,/-}
-X zotregistry.io/zot/pkg/api/config.GoVersion=$(go env GOVERSION)
"
for binary in zot zb zli; do
go build -v \
-ldflags "$_goldflags" \
-tags "$_extensions,containers_image_openpgp" \
./cmd/$binary
done
go build -v -tags containers_image_openpgp ./cmd/zxp
# Only generate shell completions for the CLI client
for shell in bash fish zsh; do
./zli completion $shell > zli.$shell
done
}
check() {
# Skip tests requiring static container image tarballs (pulled via skopeo) in ./test/data/
# and oras binary in ./hack/tools/
# shellcheck disable=2046
go test -tags containers_image_openpgp \
-skip TestHTTPClient \
$(go list ./... | grep -v \
-e 'pkg/test/image-utils$' \
-e 'pkg/test/common$' \
-e 'pkg/storage/local$')
}
package() {
install -Dm755 zot -t "$pkgdir"/usr/bin/
install -Dm644 examples/config-*.json -t "$pkgdir"/usr/share/doc/zot/examples/
install -Dm755 "$srcdir"/zot.initd -t "$pkgdir"/etc/init.d/zot
install -Dm644 "$srcdir"/zot.confd -t "$pkgdir"/etc/conf.d/zot
}
_cli() {
pkgdesc="$pkgdesc - CLI tools"
install -Dm755 "$builddir"/zli "$builddir"/zb -t "$subpkgdir"/usr/bin/
}
_exporter() {
pkgdesc="$pkgdesc - metrics exporter"
install -Dm755 "$builddir"/zxp -t "$subpkgdir"/usr/bin/
}
_bashcomp() {
pkgdesc="Bash completions for $pkgname-cli"
install_if="bash-completion $pkgname-cli=$pkgver-r$pkgrel"
install -Dm644 "$builddir"/zli.bash \
"$subpkgdir"/usr/share/bash-completion/completions/zli
}
_fishcomp() {
pkgdesc="Fish completions for $pkgname-cli"
install_if="fish $pkgname-cli=$pkgver-r$pkgrel"
install -Dm644 "$builddir"/zli.fish \
"$subpkgdir"/usr/share/fish/vendor_completions.d/zli.fish
}
_zshcomp() {
pkgdesc="Zsh completions for $pkgname-cli"
install_if="zsh $pkgname-cli=$pkgver-r$pkgrel"
install -Dm644 "$builddir"/zli.zsh \
"$subpkgdir"/usr/share/zsh/site-functions/_zli
}
sha512sums="
18f54b091082fd2cb7f5aecdf2a961c1ae2131258e060071c73c42a7eb0f8effecb0e688c30fed4234129bf73e805aefa72f4ee92f5d8f3140cf302b69c8637d zot-2.0.4.tar.gz
5f71e5162e52ce0b2bb524d74b577fee56e026c880b353b0bd5f0ba82e9eb74ed56dfffd0f8e38a318dcd3740aab8b3485534b2d2d3e77277a4666f6c70d355d zui-c78b303ee88555b39b9f21f136e702724b1725b0.tar.gz
86dfa273e97110b703fbc368757520ef6169dead185ff54b5b8ba45e764949bc3a21a51d53a1605d7163faef8c83c066e688577f5315b8c0afb09f69a2bbe3bb zot.initd
b128ecaf3e35cfdab8069da9a8267a9faed50b892ae07b6a4a22a4108236d6cdbc10cc4cf0105c728e9e6da6ac773f56d1dd84de1ba4463110058b6c2f190b30 zot.confd
640526de31a5eb21112c3d3fd30ce78331e5f5998166c9af9405ebad919a9a895ee82e3eed7067c2ce7e3e558e31907398fec1ad895be708e9f8ada696076216 basename_patch
"
|