feel so dumb i did not save changes on disk, sorry :( On 08/05/19 07:55, Allan McRae wrote:
> On 8/5/19 5:15 pm, [email protected] wrote: >> From: ekardnam <[email protected]> >> >> Reference bug in the bug tracker is at #FS17752 >> >> Signed-off-by: Luca Bertozzi <[email protected]> >> --- >> scripts/repo-add.sh.in | 19 ++++++++++++++++--- >> 1 file changed, 16 insertions(+), 3 deletions(-) >> >> diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in >> index 57413df5..f8748f08 100644 >> --- a/scripts/repo-add.sh.in >> +++ b/scripts/repo-add.sh.in >> @@ -42,6 +42,7 @@ REPO_DB_SUFFIX= >> LOCKFILE= >> CLEAN_LOCK=0 >> USE_COLOR='y' >> +DONT_DOWNGRADE=0 >> > Everything is still --dont-downgrade. Not --prevent-downgrade. > >> # Import libmakepkg >> source "$LIBRARY"/util/message.sh >> @@ -63,6 +64,7 @@ Multiple packages to add can be specified on the command >> line.\n")" >> printf -- "$(gettext "Options:\n")" >> printf -- "$(gettext " -n, --new only add packages >> that are not already in the database\n")" >> printf -- "$(gettext " -R, --remove remove old package >> file from disk after updating database\n")" >> + printf -- "$(gettext " --dont-downgrade do not add package to >> database if a newer version is already present\n")" >> elif [[ $cmd == "repo-remove" ]] ; then >> printf -- "$(gettext "Usage: repo-remove [options] <path-to-db> >> <packagename> ...\n")" >> printf -- "\n" >> @@ -248,9 +250,17 @@ db_write_entry() { >> return 0 >> fi >> else >> - if (( RMEXISTING )); then >> - pkgentry=$(find_pkgentry "$pkgname") >> - if [[ -n $pkgentry ]]; then >> + pkgentry=$(find_pkgentry "$pkgname") >> + if [[ -n $pkgentry ]]; then >> + >> + local version=$(sed -n '/^%VERSION%$/ {n;p;q}' >> "$pkgentry/desc") >> + if (( "$(vercmp $version $pkgver)" > "0" )); then >> + warning "$(gettext "A newer version for '%s' is >> already present in database")" "$pkgname" >> + if (( DONT_DOWNGRADE )); then >> + return 0 >> + fi >> + fi >> + if (( RMEXISTING )); then >> local oldfilename="$(sed -n '/^%FILENAME%$/ >> {n;p;q;}' "$pkgentry/desc")" >> local oldfile="$(dirname "$1")/$oldfilename" >> fi >> @@ -618,6 +628,9 @@ while (( $# )); do >> -v|--verify) >> VERIFY=1 >> ;; >> + --dont-downgrade) >> + DONT_DOWNGRADE=1 >> + ;; >> *) >> args+=("$1") >> ;; >>
