Merge "dist: do not install build dependencies on build script" from Takuya
" We do not want to install dependencies on package building time, we want to install it on dbuild container. So drop package installation from the scripts. scylladb/scylla#7219 " Closes #138. * 'dont_install_builddep' of https://github.com/syuu1228/scylla-jmx: reloc: simplified .deb build process reloc: simplified .rpm build process dist: do not install build dependencies on build script dist/debian: Remove conflict tag for Java 11
This commit is contained in:
commit
6795a22afe
95
dist/debian/build_deb.sh
vendored
95
dist/debian/build_deb.sh
vendored
@ -1,95 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
|
|
||||||
PRODUCT=$(cat scylla-jmx/SCYLLA-PRODUCT-FILE)
|
|
||||||
|
|
||||||
. /etc/os-release
|
|
||||||
print_usage() {
|
|
||||||
echo "build_deb.sh --reloc-pkg build/scylla-jmx-package.tar.gz"
|
|
||||||
echo " --reloc-pkg specify relocatable package path"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
TARGET=stable
|
|
||||||
RELOC_PKG=
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
case "$1" in
|
|
||||||
"--reloc-pkg")
|
|
||||||
RELOC_PKG=$2
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
print_usage
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
is_redhat_variant() {
|
|
||||||
[ -f /etc/redhat-release ]
|
|
||||||
}
|
|
||||||
is_debian_variant() {
|
|
||||||
[ -f /etc/debian_version ]
|
|
||||||
}
|
|
||||||
pkg_install() {
|
|
||||||
if is_redhat_variant; then
|
|
||||||
sudo yum install -y $1
|
|
||||||
elif is_debian_variant; then
|
|
||||||
sudo apt-get install -y $1
|
|
||||||
else
|
|
||||||
echo "Requires to install following command: $1"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ! -e scylla-jmx/SCYLLA-RELOCATABLE-FILE ]; then
|
|
||||||
echo "do not directly execute build_rpm.sh, use reloc/build_rpm.sh instead."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$RELOC_PKG" ]; then
|
|
||||||
print_usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ ! -f "$RELOC_PKG" ]; then
|
|
||||||
echo "$RELOC_PKG is not found."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if is_debian_variant; then
|
|
||||||
sudo apt-get -y update
|
|
||||||
fi
|
|
||||||
# this hack is needed since some environment installs 'git-core' package, it's
|
|
||||||
# subset of the git command and doesn't works for our git-archive-all script.
|
|
||||||
if is_redhat_variant && [ ! -f /usr/libexec/git-core/git-submodule ]; then
|
|
||||||
sudo yum install -y git
|
|
||||||
fi
|
|
||||||
if [ ! -f /usr/bin/git ]; then
|
|
||||||
pkg_install git
|
|
||||||
fi
|
|
||||||
if [ ! -f /usr/bin/python ]; then
|
|
||||||
pkg_install python
|
|
||||||
fi
|
|
||||||
if [ ! -f /usr/bin/debuild ]; then
|
|
||||||
pkg_install devscripts
|
|
||||||
fi
|
|
||||||
if [ ! -f /usr/bin/dh_testdir ]; then
|
|
||||||
pkg_install debhelper
|
|
||||||
fi
|
|
||||||
if [ ! -f /usr/bin/fakeroot ]; then
|
|
||||||
pkg_install fakeroot
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$ID" = "ubuntu" ] && [ ! -f /usr/share/keyrings/debian-archive-keyring.gpg ]; then
|
|
||||||
sudo apt-get install -y debian-archive-keyring
|
|
||||||
fi
|
|
||||||
if [ "$ID" = "debian" ] && [ ! -f /usr/share/keyrings/ubuntu-archive-keyring.gpg ]; then
|
|
||||||
sudo apt-get install -y ubuntu-archive-keyring
|
|
||||||
fi
|
|
||||||
|
|
||||||
RELOC_PKG=$(readlink -f $RELOC_PKG)
|
|
||||||
|
|
||||||
mv scylla-jmx/debian debian
|
|
||||||
PKG_NAME=$(dpkg-parsechangelog --show-field Source)
|
|
||||||
# XXX: Drop revision number from version string.
|
|
||||||
# Since it always '1', this should be okay for now.
|
|
||||||
PKG_VERSION=$(dpkg-parsechangelog --show-field Version |sed -e 's/-1$//')
|
|
||||||
ln -fv $RELOC_PKG ../"$PKG_NAME"_"$PKG_VERSION".orig.tar.gz
|
|
||||||
debuild -rfakeroot -us -uc
|
|
74
dist/redhat/build_rpm.sh
vendored
74
dist/redhat/build_rpm.sh
vendored
@ -1,74 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
|
|
||||||
PRODUCT=$(cat SCYLLA-PRODUCT-FILE)
|
|
||||||
|
|
||||||
. /etc/os-release
|
|
||||||
print_usage() {
|
|
||||||
echo "build_rpm.sh --reloc-pkg build/scylla-jmx-package.tar.gz"
|
|
||||||
echo " --reloc-pkg specify relocatable package path"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
RELOC_PKG=
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
case "$1" in
|
|
||||||
"--reloc-pkg")
|
|
||||||
RELOC_PKG=$2
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
print_usage
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
is_redhat_variant() {
|
|
||||||
[ -f /etc/redhat-release ]
|
|
||||||
}
|
|
||||||
pkg_install() {
|
|
||||||
if is_redhat_variant; then
|
|
||||||
sudo yum install -y $1
|
|
||||||
else
|
|
||||||
echo "Requires to install following command: $1"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ! -e SCYLLA-RELOCATABLE-FILE ]; then
|
|
||||||
echo "do not directly execute build_rpm.sh, use reloc/build_rpm.sh instead."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$RELOC_PKG" ]; then
|
|
||||||
print_usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ ! -f "$RELOC_PKG" ]; then
|
|
||||||
echo "$RELOC_PKG is not found."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f /usr/bin/rpmbuild ]; then
|
|
||||||
pkg_install rpm-build
|
|
||||||
fi
|
|
||||||
if [ ! -f /usr/bin/git ]; then
|
|
||||||
pkg_install git
|
|
||||||
fi
|
|
||||||
|
|
||||||
SCYLLA_VERSION=$(cat SCYLLA-VERSION-FILE)
|
|
||||||
SCYLLA_RELEASE=$(cat SCYLLA-RELEASE-FILE)
|
|
||||||
VERSION=$SCYLLA_VERSION-$SCYLLA_RELEASE
|
|
||||||
|
|
||||||
RPMBUILD=$(readlink -f ../)
|
|
||||||
mkdir -p $RPMBUILD/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
|
||||||
|
|
||||||
ln -fv $RELOC_PKG $RPMBUILD/SOURCES/
|
|
||||||
|
|
||||||
parameters=(
|
|
||||||
-D"version $SCYLLA_VERSION"
|
|
||||||
-D"release $SCYLLA_RELEASE"
|
|
||||||
-D"product $PRODUCT"
|
|
||||||
)
|
|
||||||
|
|
||||||
cp dist/redhat/scylla-jmx.spec $RPMBUILD/SPECS
|
|
||||||
# this rpm can be install on both fedora / centos7, so drop distribution name from the file name
|
|
||||||
rpmbuild -ba "${parameters[@]}" --define '_binary_payload w2.xzdio' --define "_topdir $RPMBUILD" --undefine "dist" $RPM_JOBS_OPTS $RPMBUILD/SPECS/scylla-jmx.spec
|
|
@ -1,6 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
. /etc/os-release
|
|
||||||
print_usage() {
|
print_usage() {
|
||||||
echo "build_deb.sh --reloc-pkg build/scylla-jmx-package.tar.gz"
|
echo "build_deb.sh --reloc-pkg build/scylla-jmx-package.tar.gz"
|
||||||
echo " --reloc-pkg specify relocatable package path"
|
echo " --reloc-pkg specify relocatable package path"
|
||||||
@ -8,13 +7,11 @@ print_usage() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
RELOC_PKG=$(readlink -f build/scylla-jmx-package.tar.gz)
|
RELOC_PKG=build/scylla-jmx-package.tar.gz
|
||||||
BUILDDIR=build/debian
|
BUILDDIR=build/debian
|
||||||
OPTS=""
|
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
"--reloc-pkg")
|
"--reloc-pkg")
|
||||||
OPTS="$OPTS $1 $(readlink -f $2)"
|
|
||||||
RELOC_PKG=$2
|
RELOC_PKG=$2
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
@ -28,11 +25,18 @@ while [ $# -gt 0 ]; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ ! $OPTS =~ --reloc-pkg ]]; then
|
RELOC_PKG=$(readlink -f $RELOC_PKG)
|
||||||
OPTS="$OPTS --reloc-pkg $RELOC_PKG"
|
|
||||||
fi
|
|
||||||
rm -rf "$BUILDDIR"
|
rm -rf "$BUILDDIR"
|
||||||
mkdir -p "$BUILDDIR"/scylla-package
|
mkdir -p "$BUILDDIR"/scylla-package
|
||||||
tar -C "$BUILDDIR"/scylla-package -xpf $RELOC_PKG
|
tar -C "$BUILDDIR"/scylla-package -xpf $RELOC_PKG
|
||||||
cd "$BUILDDIR"/scylla-package
|
cd "$BUILDDIR"/scylla-package
|
||||||
exec ./scylla-jmx/dist/debian/build_deb.sh $OPTS
|
|
||||||
|
RELOC_PKG=$(readlink -f $RELOC_PKG)
|
||||||
|
|
||||||
|
mv scylla-jmx/debian debian
|
||||||
|
PKG_NAME=$(dpkg-parsechangelog --show-field Source)
|
||||||
|
# XXX: Drop revision number from version string.
|
||||||
|
# Since it always '1', this should be okay for now.
|
||||||
|
PKG_VERSION=$(dpkg-parsechangelog --show-field Version |sed -e 's/-1$//')
|
||||||
|
ln -fv $RELOC_PKG ../"$PKG_NAME"_"$PKG_VERSION".orig.tar.gz
|
||||||
|
debuild -rfakeroot -us -uc
|
||||||
|
@ -1,19 +1,16 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
. /etc/os-release
|
|
||||||
print_usage() {
|
print_usage() {
|
||||||
echo "build_rpm.sh --reloc-pkg build/scylla-jmx-package.tar.gz"
|
echo "build_rpm.sh --reloc-pkg build/scylla-jmx-package.tar.gz"
|
||||||
echo " --reloc-pkg specify relocatable package path"
|
echo " --reloc-pkg specify relocatable package path"
|
||||||
echo " --builddir specify rpmbuild directory"
|
echo " --builddir specify rpmbuild directory"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
RELOC_PKG=$(readlink -f build/scylla-jmx-package.tar.gz)
|
RELOC_PKG=build/scylla-jmx-package.tar.gz
|
||||||
BUILDDIR=build/redhat
|
BUILDDIR=build/redhat
|
||||||
OPTS=""
|
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
"--reloc-pkg")
|
"--reloc-pkg")
|
||||||
OPTS="$OPTS $1 $(readlink -f $2)"
|
|
||||||
RELOC_PKG=$2
|
RELOC_PKG=$2
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
@ -27,10 +24,27 @@ while [ $# -gt 0 ]; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ ! $OPTS =~ --reloc-pkg ]]; then
|
RELOC_PKG=$(readlink -f $RELOC_PKG)
|
||||||
OPTS="$OPTS --reloc-pkg $RELOC_PKG"
|
RPMBUILD=$(readlink -f $BUILDDIR)
|
||||||
fi
|
|
||||||
mkdir -p "$BUILDDIR"
|
mkdir -p "$BUILDDIR"
|
||||||
tar -C "$BUILDDIR" -xpf $RELOC_PKG scylla-jmx/SCYLLA-RELEASE-FILE scylla-jmx/SCYLLA-RELOCATABLE-FILE scylla-jmx/SCYLLA-VERSION-FILE scylla-jmx/SCYLLA-PRODUCT-FILE scylla-jmx/dist/redhat
|
tar -C "$BUILDDIR" -xpf $RELOC_PKG scylla-jmx/SCYLLA-RELEASE-FILE scylla-jmx/SCYLLA-RELOCATABLE-FILE scylla-jmx/SCYLLA-VERSION-FILE scylla-jmx/SCYLLA-PRODUCT-FILE scylla-jmx/dist/redhat
|
||||||
cd "$BUILDDIR"/scylla-jmx
|
cd "$BUILDDIR"/scylla-jmx
|
||||||
exec ./dist/redhat/build_rpm.sh $OPTS
|
|
||||||
|
SCYLLA_VERSION=$(cat SCYLLA-VERSION-FILE)
|
||||||
|
SCYLLA_RELEASE=$(cat SCYLLA-RELEASE-FILE)
|
||||||
|
VERSION=$SCYLLA_VERSION-$SCYLLA_RELEASE
|
||||||
|
PRODUCT=$(cat SCYLLA-PRODUCT-FILE)
|
||||||
|
|
||||||
|
mkdir -p $RPMBUILD/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||||||
|
|
||||||
|
ln -fv $RELOC_PKG $RPMBUILD/SOURCES/
|
||||||
|
|
||||||
|
parameters=(
|
||||||
|
-D"version $SCYLLA_VERSION"
|
||||||
|
-D"release $SCYLLA_RELEASE"
|
||||||
|
-D"product $PRODUCT"
|
||||||
|
)
|
||||||
|
|
||||||
|
cp dist/redhat/scylla-jmx.spec $RPMBUILD/SPECS
|
||||||
|
# this rpm can be install on both fedora / centos7, so drop distribution name from the file name
|
||||||
|
rpmbuild -ba "${parameters[@]}" --define '_binary_payload w2.xzdio' --define "_topdir $RPMBUILD" --undefine "dist" $RPMBUILD/SPECS/scylla-jmx.spec
|
||||||
|
Loading…
Reference in New Issue
Block a user