Skip to content

Commit ae4eb80

Browse files
Merge pull request #878 from surbhat1595/pt-arm
PKG-213 Create Percona Toolkit arm64 packages
2 parents e95f05b + 945fda1 commit ae4eb80

File tree

1 file changed

+38
-10
lines changed

1 file changed

+38
-10
lines changed

config/scripts/pt_builder.sh

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ check_workdir(){
8484
add_percona_yum_repo(){
8585
yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
8686
percona-release disable all
87-
percona-release enable ppg-11.19 testing
87+
percona-release enable ppg-12.20 testing
8888
return
8989
}
9090

@@ -166,7 +166,12 @@ install_go() {
166166
#mv go1.9 /usr/local/
167167
#ln -s /usr/local/go1.9 /usr/local/go
168168
GO_VERSION=1.22.4
169-
wget --progress=dot:giga https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz -O /tmp/golang.tar.gz
169+
if [ x"$ARCH" = "xx86_64" ]; then
170+
GO_ARCH="amd64"
171+
elif [ x"$ARCH" = "xaarch64" ]; then
172+
GO_ARCH="arm64"
173+
fi
174+
wget --progress=dot:giga https://dl.google.com/go/go${GO_VERSION}.linux-${GO_ARCH}.tar.gz -O /tmp/golang.tar.gz
170175
tar -C /usr/local -xzf /tmp/golang.tar.gz
171176
update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 0
172177
update-alternatives --set go /usr/local/go/bin/go
@@ -189,12 +194,17 @@ update_go() {
189194
cd ${PRODUCT}
190195
go get -u github.com/golang/dep/cmd/dep
191196
go install ./...
192-
wget https://github.com/Masterminds/glide/releases/download/v0.13.3/glide-v0.13.3-linux-amd64.tar.gz
193-
tar -xvzf glide-v0.13.3-linux-amd64.tar.gz
194-
cp -p linux-amd64/glide /usr/local/go/bin
197+
if [ x"$ARCH" = "xx86_64" ]; then
198+
GO_ARCH="amd64"
199+
elif [ x"$ARCH" = "xaarch64" ]; then
200+
GO_ARCH="arm64"
201+
fi
202+
wget https://github.com/Masterminds/glide/releases/download/v0.13.3/glide-v0.13.3-linux-${GO_ARCH}.tar.gz
203+
tar -xvzf glide-v0.13.3-linux-${GO_ARCH}.tar.gz
204+
cp -p linux-${GO_ARCH}/glide /usr/local/go/bin
195205
go get github.com/pkg/errors
196-
wget --no-check-certificate https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-amd64
197-
mv dep-linux-amd64 /usr/local/go/bin/dep
206+
wget --no-check-certificate https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-${GO_ARCH}
207+
mv dep-linux-${GO_ARCH} /usr/local/go/bin/dep
198208
go install github.com/pkg/errors
199209
}
200210

@@ -323,7 +333,12 @@ build_srpm(){
323333
cd ${WORKDIR}/rpmbuild/SPECS
324334
echo '%undefine _missing_build_ids_terminate_build' | cat - percona-toolkit.spec > pt.spec && mv pt.spec percona-toolkit.spec
325335
echo '%define debug_package %{nil}' | cat - percona-toolkit.spec > pt.spec && mv pt.spec percona-toolkit.spec
326-
sed -i "s/@@ARCHITECTURE@@/x86_64/" percona-toolkit.spec
336+
if [ x"$ARCH" = "xaarch64" ]; then
337+
sed -i "s/@@ARCHITECTURE@@/aarch64/" percona-toolkit.spec
338+
else
339+
sed -i "s/@@ARCHITECTURE@@/x86_64/" percona-toolkit.spec
340+
fi
341+
327342
cd ${WORKDIR}/${PRODUCT_FULL}
328343
rm -rf bin/govendor
329344
rm -rf bin/glide
@@ -417,7 +432,11 @@ build_source_deb(){
417432
mv ${TARFILE} ${PRODUCT}_${VERSION}.orig.tar.gz
418433
update_go
419434
cd ${WORKDIR}/${BUILDDIR}
420-
sed -i 's/@@ARCHITECTURE@@/amd64/' debian/control
435+
if [ x"$ARCH" = "xaarch64" ]; then
436+
sed -i 's/@@ARCHITECTURE@@/arm64/' debian/control
437+
else
438+
sed -i 's/@@ARCHITECTURE@@/amd64/' debian/control
439+
fi
421440
cd debian
422441
echo "${PRODUCT} (${VERSION}) unstable; urgency=low" > changelog
423442
echo " * Initial Release." >> changelog
@@ -510,14 +529,23 @@ build_deb(){
510529
#
511530
cd ${PRODUCT}-${VERSION}
512531
echo 9 > debian/compat
532+
if [ x"$ARCH" = "xaarch64" ]; then
533+
sed -i 's/@@ARCHITECTURE@@/arm64/' debian/control
534+
else
535+
sed -i 's/@@ARCHITECTURE@@/amd64/' debian/control
536+
fi
513537
export GOBINPATH="$(pwd)/go/bin"
514538
echo ${GOBINPATH}
515539
cp /usr/local/go/bin/dep ${GOBINPATH}/
516540
cp /usr/local/go/bin/glide ${GOBINPATH}/
517541
rm -rf bin/pt-mongo*
518542
cd src/go
519543
sed -i "s|dep ensure|${GOBINPATH}/dep ensure|g" Makefile
520-
VERSION=$VERSION make linux-amd64
544+
if [ x"$ARCH" = "xx86_64" ]; then
545+
VERSION=$VERSION make linux-amd64
546+
else
547+
VERSION=$VERSION make linux-arm64
548+
fi
521549
cd ../../
522550
dch -b -m -D "all" --force-distribution -v "${VERSION}-${DEB_RELEASE}.${DEBIAN_VERSION}" 'Update distribution'
523551
dpkg-buildpackage -rfakeroot -us -uc -b

0 commit comments

Comments
 (0)