Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quickfix for #1632 #1633

Merged
merged 2 commits into from
Feb 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
* text=auto

# Declare files that will always have LF line endings on checkout.
**/publishPackages text eol=lf
**/publishPackages text eol=lf
*.sh text eol=LF
2 changes: 2 additions & 0 deletions build-scripts/ubuntu-2004/build-3rd-parties.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ function build_rocksdb_deb {
VERSION_TAG="rocksdb-$VERSION"

git clone https://github.com/evernym/rocksdb.git /tmp/rocksdb
scriptpath="$(dirname "$(realpath "$0")")"/make_rocksdb.sh
cd /tmp/rocksdb
git checkout $VERSION_TAG
cp $scriptpath /tmp/rocksdb/build_tools/make_package.sh
sed -i 's/-m [email protected]/-m "Hyperledger <[email protected]>"/g' \
./build_tools/make_package.sh
PORTABLE=1 EXTRA_CFLAGS="-fPIC" EXTRA_CXXFLAGS="-fPIC" ./build_tools/make_package.sh $VERSION
Expand Down
138 changes: 138 additions & 0 deletions build-scripts/ubuntu-2004/make_rocksdb.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
# shellcheck disable=SC1113
#/usr/bin/env bash

set -e

function log() {
echo "[+] $1"
}

function fatal() {
echo "[!] $1"
exit 1
}

function platform() {
local __resultvar=$1
if [[ -f "/etc/yum.conf" ]]; then
eval $__resultvar="centos"
elif [[ -f "/etc/dpkg/dpkg.cfg" ]]; then
eval $__resultvar="ubuntu"
else
fatal "Unknwon operating system"
fi
}
platform OS

function package() {
if [[ $OS = "ubuntu" ]]; then
if dpkg --get-selections | grep --quiet $1; then
log "$1 is already installed. skipping."
else
# shellcheck disable=SC2068
apt-get install $@ -y
fi
elif [[ $OS = "centos" ]]; then
if rpm -qa | grep --quiet $1; then
log "$1 is already installed. skipping."
else
# shellcheck disable=SC2068
yum install $@ -y
fi
fi
}

function detect_fpm_output() {
if [[ $OS = "ubuntu" ]]; then
export FPM_OUTPUT=deb
elif [[ $OS = "centos" ]]; then
export FPM_OUTPUT=rpm
fi
}
detect_fpm_output

function gem_install() {
if gem list | grep --quiet $1; then
log "$1 is already installed. skipping."
else
# shellcheck disable=SC2068
gem install $@
fi
}

function main() {
if [[ $# -ne 1 ]]; then
fatal "Usage: $0 <rocksdb_version>"
else
log "using rocksdb version: $1"
fi

if [[ -d /vagrant ]]; then
if [[ $OS = "ubuntu" ]]; then
package g++-4.8
export CXX=g++-4.8

# the deb would depend on libgflags2, but the static lib is the only thing
# installed by make install
package libgflags-dev

package ruby-all-dev
elif [[ $OS = "centos" ]]; then
pushd /etc/yum.repos.d
if [[ ! -f /etc/yum.repos.d/devtools-1.1.repo ]]; then
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo
fi
package devtoolset-1.1-gcc --enablerepo=testing-1.1-devtools-6
package devtoolset-1.1-gcc-c++ --enablerepo=testing-1.1-devtools-6
export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++
export PATH=$PATH:/opt/centos/devtoolset-1.1/root/usr/bin
popd
if ! rpm -qa | grep --quiet gflags; then
rpm -i https://github.com/schuhschuh/gflags/releases/download/v2.1.0/gflags-devel-2.1.0-1.amd64.rpm
fi

package ruby
package ruby-devel
package rubygems
package rpm-build
fi
fi
gem_install fpm

make static_lib
make install INSTALL_PATH=package

cd package

LIB_DIR=lib
if [[ -z "$ARCH" ]]; then
ARCH=$(getconf LONG_BIT)
fi
if [[ ("$FPM_OUTPUT" = "rpm") && ($ARCH -eq 64) ]]; then
mv lib lib64
LIB_DIR=lib64
fi

fpm \
-s dir \
-t $FPM_OUTPUT \
-n rocksdb \
-v $1 \
--prefix /usr \
--url http://rocksdb.org/ \
-m [email protected] \
--license BSD \
--vendor Facebook \
--depends "libgflags-dev" \
--depends "libsnappy-dev" \
--depends "zlib1g-dev" \
--depends "libbz2-dev" \
--depends "liblz4-dev" \
--description "RocksDB is an embeddable persistent key-value store for fast storage." \
include $LIB_DIR
}

# shellcheck disable=SC2068
main $@