Add a script to build REC images
[ta/build-tools.git] / create_manifest_rpm.sh
similarity index 50%
rename from prepare_manifest.sh
rename to create_manifest_rpm.sh
index e34536d..b7ac213 100755 (executable)
 # limitations under the License.
 
 set -x
+set -eu
 
 scriptdir="$(dirname $(readlink -f ${BASH_SOURCE[0]}))"
 source $scriptdir/lib.sh
-_read_manifest_vars
 
-pushd $MANIFEST_PATH
-sed -i -e "s/^Version: .*/Version: $PRODUCT_RELEASE_BUILD_ID/" rpmbuild.spec
-cat > product-release <<EOF
-release=$PRODUCT_RELEASE_LABEL
-build=$PRODUCT_RELEASE_BUILD_ID
-EOF
-popd
+work=${1:-$WORKTMP/manifest-work}
+work=$(readlink -f $work)
+rm -rf $work
+mkdir -p $work
+cp -f $MANIFEST_PATH/*.spec $work
+
+$scriptdir/create_mock_config.sh $MANIFEST_PATH/build_config.ini $work/mock_config
+
+rpm_macros=$work/rpmmacros
+$scriptdir/mock2rpmbuild_config.py --mock-config $work/mock_config/mock.cfg --output-file-path $rpm_macros
+
+docker run --rm \
+    -v $rpm_macros:/root/.rpmmacros \
+    -v $work:/work \
+    alpine:3.9.4 \
+    sh -c '\
+        apk add rpm && \
+        rpmbuild --build-in-place --rmspec -ba /work/*.spec && \
+        find /root/rpmbuild -name "*.rpm" | xargs -I "{}" mv {} /work'
+
+_add_rpms_to_localrepo $(find $work -name '*.rpm')