mirror of
https://github.com/ben-grande/qusal.git
synced 2024-10-01 02:35:49 -04:00
68 lines
1.6 KiB
Bash
68 lines
1.6 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
## SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. <ben.grande.b@gmail.com>
|
||
|
##
|
||
|
## 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
|