Skip to content

Commit

Permalink
update el9 make build
Browse files Browse the repository at this point in the history
  • Loading branch information
jw3 committed Oct 1, 2024
1 parent 20780cf commit 3d789cc
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 45 deletions.
22 changes: 18 additions & 4 deletions Containerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
ARG image=registry.fedoraproject.org/fedora:latest
FROM $image AS build-stage
FROM $image AS fedorabuild
ARG version
ARG spec=fapolicy-analyzer.spec

RUN dnf install -y mock
# rpmbuild tools could be installed in the el stage
# but caching them here ends up saving time on rebuilds
RUN dnf install -y mock rpm-build rpmdevtools

RUN useradd -u 10001 -g 0 -d /home/default default

USER 10001
RUN mkdir -p /tmp/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
WORKDIR /tmp/rpmbuild

COPY --chown=10001:0 fapolicy-analyzer.spec SPECS/
COPY --chown=10001:0 $spec SPECS/fapolicy-analyzer.spec

USER root
RUN dnf -y builddep SPECS/fapolicy-analyzer.spec
Expand All @@ -19,8 +22,19 @@ USER 10001

COPY --chown=10001:0 fapolicy-analyzer-$version.tar.gz SOURCES/
COPY --chown=10001:0 vendor-docs-$version.tar.gz SOURCES/
COPY --chown=10001:0 scripts/srpm/build.sh ./build.sh
COPY --chown=10001:0 scripts/srpm/build.sh .

USER root

ENTRYPOINT ["/tmp/rpmbuild/build.sh"]

FROM fedorabuild as elbuild
ARG version

USER 10001

RUN spectool --list-files SPECS/fapolicy-analyzer.spec | grep pythonhosted | cut -d' ' -f2 | xargs -I{} curl -sLO --output-dir SOURCES {}

COPY --chown=10001:0 vendor-rs-$version.tar.gz SOURCES/

USER root
14 changes: 7 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ clippy:
@echo -e "${GRN}- |--- Rust linting...${NC}"
pipenv run cargo clippy --all

# Perform pre- git push unit-testing, formating, and linting
# Perform pre- git push unit-testinrg, formating, and linting
check: header-check format lint test
@echo -e "${GRN}--- Pre-Push checks complete${NC}"
git status
Expand All @@ -143,15 +143,15 @@ build-info:
fc-rpm:
@echo -e "${GRN}--- Fedora RPM generation v${VERSION}...${NC}"
make -f .copr/Makefile vendor OS_ID=fedora VERSION=${VERSION}
podman build -t fapolicy-analyzer --build-arg version=${VERSION} -f Containerfile .
podman run --privileged --rm -it -v /tmp:/v fapolicy-analyzer /v
podman build -t fapolicy-analyzer:build --target fedorabuild --build-arg version=${VERSION} -f Containerfile .
podman run --privileged --rm -it -v /tmp:/v fapolicy-analyzer:build fedora-39-x86_64 /v

# Generate RHEL 9 rpms
el9-rpm:
@echo -e "${GRN}--- el9 RPM generation...${NC}"
make -f .copr/Makefile vendor OS_ID=rhel DIST=.el9 spec=scripts/srpm/fapolicy-analyzer.el9.spec
podman build -t fapolicy-analyzer:el9 -f scripts/srpm/Containerfile.el9 .
podman run --rm -it --network=none -v /tmp:/v fapolicy-analyzer:el9 /v
@echo -e "${GRN}--- el9 RPM generation v${VERSION}...${NC}"
make -f .copr/Makefile vendor vendor-rs OS_ID=rhel VERSION=${VERSION} DIST=.el9 spec=scripts/srpm/fapolicy-analyzer.el9.spec
podman build -t fapolicy-analyzer:build --target elbuild --build-arg version=${VERSION} --build-arg spec=scripts/srpm/fapolicy-analyzer.el9.spec -f Containerfile .
podman run --privileged --rm -it -v /tmp:/v fapolicy-analyzer:build rocky+epel-9-x86_64 /v

# Update embedded help documentation
help-docs:
Expand Down
27 changes: 0 additions & 27 deletions scripts/srpm/Containerfile.el9

This file was deleted.

15 changes: 8 additions & 7 deletions scripts/srpm/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@
spec_file="fapolicy-analyzer.spec"
rpmbuild_dir=/tmp/rpmbuild

mock -r fedora-39-x86_64 --init
mock -r fedora-39-x86_64 --resultdir ${rpmbuild_dir} --buildsrpm --sources ${rpmbuild_dir}/SOURCES/ --spec ${rpmbuild_dir}/SPECS/${spec_file}
mock -r fedora-39-x86_64 --resultdir ${rpmbuild_dir} --rebuild ${rpmbuild_dir}/*.src.rpm
echo "[build.sh] mock $1"
mock -r "$1" --init
mock -r "$1" --resultdir ${rpmbuild_dir} --buildsrpm --sources ${rpmbuild_dir}/SOURCES/ --spec ${rpmbuild_dir}/SPECS/${spec_file}
mock -r "$1" --resultdir ${rpmbuild_dir} --rebuild ${rpmbuild_dir}/*.src.rpm

if [[ ! -z "$1" ]]; then
echo "[build.sh] exporting rpms to ${1}"
cp -v ${rpmbuild_dir}/*.rpm ${1}
cp -v ${rpmbuild_dir}/*.rpm ${1}
if [[ -n "$2" ]]; then
echo "[build.sh] exporting rpms to ${2}"
cp -v ${rpmbuild_dir}/*.rpm ${2}
cp -v ${rpmbuild_dir}/*.rpm ${2}
fi

0 comments on commit 3d789cc

Please sign in to comment.