diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 221abdc0..78195de1 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -44,6 +44,8 @@ USE_COLOR='y' PREVENT_DOWNGRADE=0 INCLUDE_SIGS=0 +ENTRIES_CHANGED=0 + # Import libmakepkg source "$LIBRARY"/util/compress.sh source "$LIBRARY"/util/message.sh @@ -343,6 +345,8 @@ db_write_entry() { rm -f ${oldfile} ${oldfile}.sig fi + (( ++ENTRIES_CHANGED )) + return 0 } # end db_write_entry @@ -365,6 +369,9 @@ db_remove_entry() { pkgentry=$(find_pkgentry "$pkgname") done + if [[ $notfound == 0 ]]; then + (( ++ENTRIES_CHANGED )) + fi return $notfound } # end db_remove_entry @@ -684,13 +691,13 @@ for arg in "${args[@]:1}"; do done # if the whole operation was a success, re-zip and rotate databases -if (( !fail )); then +if (( !fail )) && (( ENTRIES_CHANGED > 0 )); then msg "$(gettext "Creating updated database file '%s'")" "$REPO_DB_FILE" create_db rotate_db else msg "$(gettext "No packages modified, nothing to do.")" - exit 1 + exit $(( fail != 0 )) fi exit 0