mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-02 02:34:19 +00:00
Merge pull request #855 from lucidsoftware/linux-arm64
Add linux-arm64 support
This commit is contained in:
@@ -10,7 +10,7 @@ Vcs-Browser: https://github.com/percona/percona-toolkit
|
||||
Vcs-Git: git://github.com/percona/percona-toolkit.git
|
||||
|
||||
Package: percona-toolkit
|
||||
Architecture: amd64
|
||||
Architecture: @@ARCHITECTURE@@
|
||||
Depends: ${perl:Depends}, libdbi-perl (>= 1.13), libdbd-mysql-perl | libdbd-mysql-5.1-perl, libterm-readkey-perl (>=2.10),
|
||||
libio-socket-ssl-perl
|
||||
Description: Advanced MySQL and system command-line tools
|
||||
|
@@ -11,7 +11,7 @@ Vendor: Percona
|
||||
URL: http://www.percona.com/software/percona-toolkit/
|
||||
Source: percona-toolkit-%{version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
BuildArch: x86_64
|
||||
BuildArch: @@ARCHITECTURE@@
|
||||
|
||||
BuildRequires: perl(ExtUtils::MakeMaker) make
|
||||
Requires: perl(DBI) >= 1.13, perl(DBD::mysql) >= 1.0, perl(Time::HiRes), perl(IO::Socket::SSL), perl(Digest::MD5), perl(Term::ReadKey)
|
||||
|
@@ -323,7 +323,7 @@ build_srpm(){
|
||||
cd ${WORKDIR}/rpmbuild/SPECS
|
||||
echo '%undefine _missing_build_ids_terminate_build' | cat - percona-toolkit.spec > pt.spec && mv pt.spec percona-toolkit.spec
|
||||
echo '%define debug_package %{nil}' | cat - percona-toolkit.spec > pt.spec && mv pt.spec percona-toolkit.spec
|
||||
sed -i "s/@@ARHITECTURE@@/x86_64/" percona-toolkit.spec
|
||||
sed -i "s/@@ARCHITECTURE@@/x86_64/" percona-toolkit.spec
|
||||
cd ${WORKDIR}/${PRODUCT_FULL}
|
||||
rm -rf bin/govendor
|
||||
rm -rf bin/glide
|
||||
@@ -417,7 +417,7 @@ build_source_deb(){
|
||||
mv ${TARFILE} ${PRODUCT}_${VERSION}.orig.tar.gz
|
||||
update_go
|
||||
cd ${WORKDIR}/${BUILDDIR}
|
||||
sed -i 's/@@ARHITECTURE@@/amd64/' debian/control
|
||||
sed -i 's/@@ARCHITECTURE@@/amd64/' debian/control
|
||||
cd debian
|
||||
echo "${PRODUCT} (${VERSION}) unstable; urgency=low" > changelog
|
||||
echo " * Initial Release." >> changelog
|
||||
|
@@ -133,6 +133,12 @@ linux-amd64: ## Build Go tools for linux-amd64.
|
||||
@$(foreach pkg,$(pkgs),rm -f ${BIN_DIR}/$(pkg) 2> /dev/null;)
|
||||
@$(foreach pkg,$(pkgs),GOOS=linux GOARCH=amd64 go build -ldflags ${LDFLAGS} -o ${BIN_DIR}/$(pkg) ./$(pkg);)
|
||||
|
||||
linux-arm64: ## Build Go tools for linux-arm64.
|
||||
@echo "Building linux/arm64 binaries in ${BIN_DIR} as version ${VERSION}"
|
||||
@cd ${TOP_DIR} && go get ./...
|
||||
@$(foreach pkg,$(pkgs),rm -f ${BIN_DIR}/$(pkg) 2> /dev/null;)
|
||||
@$(foreach pkg,$(pkgs),GOOS=linux GOARCH=arm64 go build -ldflags ${LDFLAGS} -o ${BIN_DIR}/$(pkg) ./$(pkg);)
|
||||
|
||||
linux-386: ## Build Go tools for linux-386
|
||||
@echo "Building linux/386 binaries in ${BIN_DIR} as version ${VERSION}"
|
||||
@cd ${TOP_DIR} && go get ./...
|
||||
|
@@ -223,7 +223,7 @@ update_manifest() {
|
||||
echo -n "Updating MANIFEST... "
|
||||
cd $BRANCH
|
||||
echo -n > MANIFEST
|
||||
for file in * bin/* docs/*.pod; do
|
||||
for file in * bin/* docs/*.pod $(find src/go); do
|
||||
if [ -f $file ]; then
|
||||
echo $file >> MANIFEST
|
||||
fi
|
||||
@@ -343,12 +343,9 @@ prep_release_dir() {
|
||||
elif [ -d $RELEASE_DIR/$PKG ]; then
|
||||
rm -rf $RELEASE_DIR/$PKG
|
||||
fi
|
||||
(
|
||||
cd $RELEASE_DIR
|
||||
mkdir -p $PKG $PKG/bin $PKG/docs $PKG/lib
|
||||
)
|
||||
update_manifest
|
||||
for file in `cat MANIFEST`; do
|
||||
mkdir -p $RELEASE_DIR/$PKG/$(dirname $file)
|
||||
cp $file $RELEASE_DIR/$PKG/$file
|
||||
done
|
||||
echo "OK"
|
||||
@@ -364,6 +361,7 @@ build_tar() {
|
||||
build_rpm() {
|
||||
echo -n "Building $PKG-1.$ARCH.rpm... "
|
||||
cd $RELEASE_DIR
|
||||
sed -e "s/@@ARCHITECTURE@@/$ARCH/" $RPM_CONFIG_DIR/percona-toolkit.spec > $RELEASE_DIR/percona-toolkit.spec
|
||||
if [ ! -f "$PKG.tar.gz" ]; then
|
||||
die "Cannot build RPM because $PKG.tar.gz does not exist"
|
||||
fi
|
||||
@@ -373,7 +371,7 @@ build_rpm() {
|
||||
cd rpm
|
||||
local topdir=`pwd`
|
||||
# Build RPM package from the tarball.
|
||||
rpmbuild -bb --clean $RPM_CONFIG_DIR/percona-toolkit.spec \
|
||||
rpmbuild -bb --clean $RELEASE_DIR/percona-toolkit.spec \
|
||||
--quiet \
|
||||
--define "_topdir $PWD" \
|
||||
--define "_sourcedir $RELEASE_DIR" \
|
||||
@@ -409,6 +407,7 @@ build_deb() {
|
||||
rm -rf * $RELEASE_DIR/$PKG/debian
|
||||
fi
|
||||
cp $BRANCH/config/deb/* $RELEASE_DIR/$PKG/debian/
|
||||
sed -e "s/@@ARCHITECTURE@@/$DEB_ARCH/" $DEB_CONFIG_DIR/control > $RELEASE_DIR/$PKG/debian/control
|
||||
|
||||
# Build Debian binary and source packages.
|
||||
cd $RELEASE_DIR/$PKG
|
||||
@@ -485,13 +484,16 @@ OS_ARCH=${3:-linux-amd64}
|
||||
ONLY_UPDATE_VERSION=${ONLY_UPDATE_VERSION:-0}
|
||||
ONLY_UPDATE_COPYRIGHT_YEAR=${ONLY_UPDATE_COPYRIGHT_YEAR:-0}
|
||||
|
||||
if [ $OS_ARCH != "linux-amd64" ] && [ $OS_ARCH != "linux-386" ] && [ $OS_ARCH != "darwin-amd64" ]; then
|
||||
die "Valid OS-ARCH combinations are: linux-amd64, linux-386, darwin-amd64"
|
||||
if [ $OS_ARCH != "linux-amd64" ] && [ $OS_ARCH != "linux-arm64" ] && [ $OS_ARCH != "linux-386" ] && [ $OS_ARCH != "darwin-amd64" ]; then
|
||||
die "Valid OS-ARCH combinations are: linux-amd64, linux-arm64, linux-386, darwin-amd64"
|
||||
fi
|
||||
|
||||
if [ $OS_ARCH == "linux-amd64" ]; then
|
||||
ARCH="x86_64"
|
||||
DEB_ARCH="amd64"
|
||||
elif [ $OS_ARCH == "linux-arm64" ]; then
|
||||
ARCH="aarch64"
|
||||
DEB_ARCH="arm64"
|
||||
elif [ $OS_ARCH == "linux-386" ]; then
|
||||
ARCH="i386"
|
||||
DEB_ARCH="i386"
|
||||
@@ -500,9 +502,6 @@ else
|
||||
DEB_ARCH="all"
|
||||
fi
|
||||
|
||||
sed -i'.bak' -e "s/@@ARHITECTURE@@/$ARCH/" $RPM_CONFIG_DIR/percona-toolkit.spec
|
||||
sed -i'.bak' -e "s/@@ARHITECTURE@@/$DEB_ARCH/" $DEB_CONFIG_DIR/control
|
||||
|
||||
if [ ! -f $REL_NOTES ]; then
|
||||
die "$REL_NOTES does not exist"
|
||||
fi
|
||||
|
Reference in New Issue
Block a user