#!/bin/sh

if [ "$NO_RPM_CREATE_CHANGELOG" = "true" ]; then
    echo "NO_RPM_CREATE_CHANGELOG is set: skipping create changelog"
    rpm-build "$@"
    exit $?
fi

for SPECFILES in $(find "/home/abuild/rpmbuild/SOURCES" -type f -name "*.spec" 2>/dev/null); do
    rm -f "/home/abuild/rpmbuild/SOURCES/.build-changelog"
    echo "running changelog2spec --target rpm --file $SPECFILES"
    if ! /usr/lib/build/changelog2spec --target rpm --file "$SPECFILES" > "/home/abuild/rpmbuild/SOURCES/.build-changelog"; then 
        rm -f "/home/abuild/rpmbuild/SOURCES/.build-changelog"
    fi
    if [ -e "/home/abuild/rpmbuild/SOURCES/.build-changelog" ]; then
        sed -i -rz 's/(.*%changelog[^\n]*).*/\1\n/' "$SPECFILES"
        cat "/home/abuild/rpmbuild/SOURCES/.build-changelog" >> "$SPECFILES"
    fi
    rm -f "/home/abuild/rpmbuild/SOURCES/.build-changelog"
done

if [ -z "$SPECFILES" ]; then
    echo "No .spec files found."
    rpm-build "$@"
    exit $?
fi

rpm-build "$@"
exit $?
