diff options
author | 2017-01-03 17:04:12 +0000 | |
---|---|---|
committer | 2017-01-03 20:47:25 +0000 | |
commit | 352c72d3d61e48695818898424c638317f9073b6 (patch) | |
tree | 37e74844d776ba7074115c4591477f6c3dd45eb4 /scripts/packages/fedora/build_rpm.sh | |
parent | 59d2a6a8cdfcae1935a9e91ec329a6ff68fa7d5b (diff) |
Add script and genrule to build RPM package.
This only builds a development package, further work (and probably a full pkg_rpm rule) will be needed to make a releasable RPM.
Closes #2276.
--
Change-Id: If307c6143334957a127c7c2fe897009a08e88d5c
Reviewed-on: https://github.com/bazelbuild/bazel/pull/2276
PiperOrigin-RevId: 143450212
MOS_MIGRATED_REVID=143450212
Diffstat (limited to 'scripts/packages/fedora/build_rpm.sh')
-rwxr-xr-x | scripts/packages/fedora/build_rpm.sh | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/scripts/packages/fedora/build_rpm.sh b/scripts/packages/fedora/build_rpm.sh new file mode 100755 index 0000000000..525c858b13 --- /dev/null +++ b/scripts/packages/fedora/build_rpm.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +# Copyright 2016 The Bazel Authors. All rights reserved. +# +# 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. + +set -eu + +# Build a RPM archive from the Bazel sources. + +# Usage: build_rpm.sh spec_file dest_file [other files] + +spec_file=$1 +shift +dest_file=$1 +shift + +echo "Building ${dest_file} from ${spec_file}." +WORK_DIR="${PWD}/bazel-fedora" + +# Copy needed sources. +rm -rf ${WORK_DIR} +mkdir -p ${WORK_DIR}/SOURCES +mkdir -p ${WORK_DIR}/BUILD +cp $spec_file ${WORK_DIR} +for i in "$@"; do + cp $i $WORK_DIR/BUILD +done + +# Build the RPM. +rpmbuild \ + --define "_topdir ${WORK_DIR}" \ + --define "_tmppath /tmp" \ + -bb ${spec_file} > rpmbuild.log 2>&1 +if [ $? -ne 0 ]; then + err=$? + echo "Error in rpmbuild:" + cat rpmbuild.log + exit $err +fi +out_file=$(grep '^Wrote:' rpmbuild.log | cut -d ' ' -f 2) + +# Copy output back to the destination. +cp $out_file $dest_file +echo "Created $dest_file" + |