#!/bin/sh ## SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later set -eu usage(){ printf '%s\n' "Usage: ${0##*/} PROJECT [release]" >&2 exit 1 } case "${1-}" in ""|-*) usage;; esac release="" case "${2-}" in release) release="1";; "") ;; *) usage;; esac command -v dnf >/dev/null || { printf "Missing program: dnf\n" >&2; exit 1; } command -v rpmlint >/dev/null || { printf "Missing program: rpmlint\n" >&2; exit 1; } ## command -v rpmdev-setuptree >/dev/null || ## { printf "Missing program: rpmdev-setuptree\n" >&2; exit 1; } command -v rpmbuild >/dev/null || { printf "Missing program: rpmbuild\n" >&2; exit 1; } command -v git >/dev/null || { printf "Missing program: git\n" >&2; exit 1; } cd "$(git rev-parse --show-toplevel)" || exit 1 project="${1}" spec_gen="./scripts/spec-gen.sh" spec_get="./scripts/spec-get.sh" group="$(${spec_get} "${project}" group)" spec="rpm_spec/${group}-${project}.spec" "${spec_gen}" "${project}" rpmlint "${spec}" if grep -q "^BuildRequires: " "${spec}"; then sudo dnf build-dep "${spec}" fi if command -v rpmdev-setuptree >/dev/null; then rpmdev-setuptree else mkdir -p ~/rpmbuild/BUILD ~/rpmbuild/BUILDROOT ~/rpmbuild/RPMS mkdir -p ~/rpmbuild/SOURCES ~/rpmbuild/SPECS ~/rpmbuild/SRPMS fi mkdir ~/rpmbuild/BUILD/"${group}-${project}" mkdir ~/rpmbuild/SOURCES/"${group}-${project}" cp -r "salt/${project}"/* ~/rpmbuild/BUILD/"${group}-${project}"/ cp -r "salt/${project}"/* ~/rpmbuild/SOURCES/"${group}-${project}"/ if test -n "${release}"; then rpmbuild -ba --sign "${spec}" else rpmbuild -ba "${spec}" fi