Add scripts to install proto3 from source

Change-Id: I75a161ba71f2f4f3e14dca0600c3b6fe5a723bdf
This commit is contained in:
Monty Taylor 2016-11-04 08:04:32 -05:00
parent 97e1650760
commit 2b5aa82b70
No known key found for this signature in database
GPG Key ID: 7BAE94BC7141A594
5 changed files with 53 additions and 5 deletions

View File

@ -26,7 +26,6 @@ DIST_SUBDIRS = ${SUBDIRS}
BUILT_SOURCES=
BUILT_MAINT_SRC=
EXTRA_DIST= \
ChangeLog \
config/pandora_vc_revinfo \
${top_srcdir}/m4/*m4
@ -35,7 +34,6 @@ DISTCLEANFILES= config/top.h
MAINTAINERCLEANFILES=
MAINTAINERCLEANFILES+= autom4te.cache
MAINTAINERCLEANFILES+= ChangeLog
maintainer-clean-local:
find . -type f -name '*~' -exec rm -f '{}' \;
@ -114,7 +112,7 @@ EXTRA_DIST += \
oaktreemodel/security_group.proto \
oaktreemodel/oaktree.proto
SUFFIXES += .proto .grpc.pb.cc .pb.cc .pb.h py .pb.go
SUFFIXES += .proto .grpc.pb.cc .grpc.pb.h .pb.cc .pb.h py .pb.go
PROTOS_PATH=${top_srcdir}/oaktreemodel
PROTO_OUTPUT=${top_builddir}/oaktreemodel
.proto.grpc.pb.cc:

View File

@ -1,7 +1,7 @@
libprotobuf-dev
protobuf-compiler
pkg-config
build-essential
autoconf
automake
libtool
golang-go
curl

View File

@ -14,4 +14,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
if ! protoc --version | grep -q 3\. ; then
echo "Protobuf v3 required - installing"
bash install_proto3.sh
fi
pip install pbr
autoreconf -fi

View File

@ -111,6 +111,8 @@ AS_IF([test "$lt_cv_prog_gnu_ld" = "yes"],[
LDFLAGS="${LDFLAGS} ${LD_VERSION_SCRIPT}"
])
AM_CXXFLAGS="-std=c++11 $AM_CXXFLAGS"
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

42
install_proto3.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/bash
# Copyright (c) 2016 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
if [ -z $GOPATH ]; then
echo "oaktreemodel requires a golang environment."
echo "Please set GOPATH and make sure GOPATH/bin is in your PATH."
exit 1
fi
GRPCDIR=$GOPATH/src/github.com/grpc/grpc
GRPCVER=$(curl -L http://grpc.io/release)
mkdir -p $(dirname $GRPCDIR)
git clone -b $GRPCVER https://github.com/grpc/grpc $GRPCDIR
pushd $GRPCDIR
git submodule update --init
make
if [ $(id -u) = '0' ] ; then
SUDO=
else
SUDO=sudo
fi
$SUDO make install
cd third_party/protobuf
$SUDO make install
popd
go get google.golang.org/grpc
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}