aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/packages/fedora/build_rpm.sh
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-01-03 17:04:12 +0000
committerGravatar John Cater <jcater@google.com>2017-01-03 20:47:25 +0000
commit352c72d3d61e48695818898424c638317f9073b6 (patch)
tree37e74844d776ba7074115c4591477f6c3dd45eb4 /scripts/packages/fedora/build_rpm.sh
parent59d2a6a8cdfcae1935a9e91ec329a6ff68fa7d5b (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-xscripts/packages/fedora/build_rpm.sh56
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"
+