Adds rpm specs to migration repo
This commit is contained in:
1 parent
acee7b8766
commit
7f035543e2
145 files changed
+13982
No files matched your search
+92
@@ -0,0 +1,92 @@
|
||||
#! /bin/bash
|
||||
|
||||
#
|
||||
# Dieses Skript soll sowohl lokal in einer Working Copy als auch über Jenkins ausführbar sein.
|
||||
# Unter Jenkins soll nur dieser Ordner ausgecheckt werden.
|
||||
# Die gebauten RPMs werden von rpmbuild unter ~/rpmbuild/RPMS abgelegt.
|
||||
# Wenn sie für Jenkins zugreifbar sein sollen (für die Artefacts), müssen sie jedoch
|
||||
# irgendwo im Workspace liegen. Daher ist für die Verwendung über Jenkins ein optionaler
|
||||
# Kopier- bzw. Move-Schritt am Ende notwendig.
|
||||
#
|
||||
|
||||
|
||||
copy_rpms()
|
||||
{
|
||||
if [[ ! -d $outdir ]]; then
|
||||
mkdir -p "$outdir"
|
||||
fi
|
||||
|
||||
rpms=($(find $rpm_builddir/RPMS -name "${project}_avs_conf-*-${version}-${revision}.*.rpm"))
|
||||
mv "${rpms[@]}" "$outdir"
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: $0 [-p <project>] [-v <version>] [-o <outdir>]"
|
||||
}
|
||||
|
||||
LANG=en_US
|
||||
|
||||
project=guez
|
||||
version=1.0
|
||||
outdir=
|
||||
while getopts p:v:o:h opt_name
|
||||
do
|
||||
case $opt_name in
|
||||
p) project="$OPTARG";;
|
||||
v) version="$OPTARG";;
|
||||
o) outdir="$OPTARG";;
|
||||
h) usage; exit 0;;
|
||||
?) usage; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ! -d "$project" ]]; then
|
||||
echo "Missing folder for project $project!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
revision="$BUILD_NUMBER"
|
||||
spec_file=avs_conf.spec
|
||||
spec_file_legacy=avs_conf-legacy-ws.spec
|
||||
spec_file_if=avs_conf-if.spec
|
||||
|
||||
echo "Project: ${project}, Version: ${version}.${revision}"
|
||||
|
||||
rpm_builddir=$HOME/rpmbuild
|
||||
src_dir=$rpm_builddir/SOURCES
|
||||
|
||||
[ ! -d "$src_dir" ] && mkdir -p "$src_dir"
|
||||
|
||||
# We use the same project tarball for both packages
|
||||
tar czf "$src_dir/avs_conf.tgz" $project
|
||||
cp "$src_dir/avs_conf.tgz" "$src_dir/avs_conf-if.tgz"
|
||||
|
||||
# Some projects don't need/have an AVS interface workstation and thus don't need avs_conf-if.
|
||||
spec_files_to_build=("$spec_file")
|
||||
if [[ $project != qatar ]]; then
|
||||
spec_files_to_build+=("$spec_file_if")
|
||||
fi
|
||||
if [[ $project == ahtc ]]; then
|
||||
spec_files_to_build+=("$spec_file_legacy")
|
||||
fi
|
||||
|
||||
for f in "${spec_files_to_build[@]}"; do
|
||||
sed -e s,@PROJECT@,${project},g \
|
||||
-e s,@VERSION@,${version},g \
|
||||
-e s,@RELEASE@,${revision},g \
|
||||
${f}.in > $f
|
||||
|
||||
rpmbuild -bb $f
|
||||
if [ $? -ne 0 ]; then
|
||||
exit $?;
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -n $outdir ]]; then
|
||||
copy_rpms
|
||||
fi
|
||||
|
||||
for f in "${spec_files_to_build[@]}"; do
|
||||
rm $f;
|
||||
done
|
||||
Reference in new issue
Block a user