Skip to content

megh-test-vmtool

megh-test-vmtool #10

Workflow file for this run

name: Build virt-v2v RPM 2.7.17
on:
push:
workflow_dispatch:
jobs:
build-rpm:
runs-on: ubuntu-latest
container:
image: fedora:42
steps:
- name: Install git first
run: dnf install -y git
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install build dependencies
run: |
dnf install -y rpm-build rpmdevtools git sqlite perl-hivex \
autoconf automake libtool curl cpio
- name: Download & extract 2.7.17 SRPM for builddep
run: |
cd /root
curl -L -o virt-v2v-2.7.17-1.fc42.src.rpm \
"https://kojipkgs.fedoraproject.org/packages/virt-v2v/2.7.17/1.fc42/src/virt-v2v-2.7.17-1.fc42.src.rpm"
mkdir -p /tmp/srpm-extract
cd /tmp/srpm-extract
rpm2cpio /root/virt-v2v-*.src.rpm | cpio -idmv
- name: Install build dependencies from spec
run: |
dnf builddep -y /tmp/srpm-extract/virt-v2v.spec
- name: Setup rpmbuild tree under /root
run: |
rpmdev-setuptree
mkdir -p /root/rpmbuild/{SPECS,SOURCES,BUILD,BUILDROOT,RPMS,SRPMS}
- name: Build patched tarball (autoreconf + make dist)
working-directory: ${{ github.workspace }}
run: |
autoreconf -fiv
./configure
make dist
- name: Verify tarball name
working-directory: ${{ github.workspace }}
run: |
ls -lh virt-v2v-2.7.17.tar.gz
- name: Move spec and sources to build tree
run: |
cd /tmp/srpm-extract
mv virt-v2v.spec /root/rpmbuild/SPECS/
cp *.keyring /root/rpmbuild/SOURCES/ 2>/dev/null || true
cp *.sig /root/rpmbuild/SOURCES/ 2>/dev/null || true
- name: Copy patched tarball to SOURCES
run: |
cp /__w/virt-v2v/virt-v2v/virt-v2v-2.7.17.tar.gz /root/rpmbuild/SOURCES/
- name: Patch spec file
run: |
SPEC_FILE="/root/rpmbuild/SPECS/virt-v2v.spec"
# 1. Disable GPG checks
sed -i 's/^\([[:space:]]*\)%{gpgverify}/#\1%{gpgverify}/' $SPEC_FILE
sed -i 's/%global verify_tarball_signature 1/%global verify_tarball_signature 0/' $SPEC_FILE || true
# 2. Force Version to 2.7.17
sed -i 's/^Version:.*/Version: 2.7.17/' $SPEC_FILE
sed -i 's/^Release:.*/Release: 1.fc42/' $SPEC_FILE
# 3. Remove files that are missing in our build (oVirt support)
sed -i '/virt-v2v-open/d' $SPEC_FILE
sed -i '/virt-v2v-output-ovirt/d' $SPEC_FILE
- name: Build RPM (With Ignore Unpackaged Files)
run: |
cd /root/rpmbuild/SPECS
# Added _unpackaged_files_terminate_build 0 to ignore the extra RHV man page
rpmbuild -bb \
--define "_topdir /root/rpmbuild" \
--define "_unpackaged_files_terminate_build 0" \
--nocheck \
virt-v2v.spec
- name: Upload built RPMs
uses: actions/upload-artifact@v4
with:
name: virt-v2v-2.7.17-rpm
path: /root/rpmbuild/RPMS/x86_64/*.rpm