From: Joachim Breitner Date: Thu, 30 Jul 2009 10:02:25 +0000 (+0200) Subject: Fixes: Export format, forcibly clearing BD-Uninstallable X-Git-Url: https://git.donarmstrong.com/?p=wannabuild.git;a=commitdiff_plain;h=ef8f225313b320f298618c1e582e85cc2e3e4ee4 Fixes: Export format, forcibly clearing BD-Uninstallable The export routine does not handle the case of lines with only spaces correctly (by writing " ."), and forcibly switching from BD-Uninstallable to Needs-Build did not work. --- diff --git a/bin/wanna-build b/bin/wanna-build index c1c0a31..00ca7c4 100755 --- a/bin/wanna-build +++ b/bin/wanna-build @@ -978,6 +978,7 @@ sub add_one_needsbuild { log_ta( $pkg, "--give-back" ); $db{$name} = $pkg; print "$name: given back\n" if $verbose; + return; } else { print "$name: has uninstallable build-dependencies. Skipping\n", @@ -2223,7 +2224,7 @@ sub write_db { my $val = $ui->{$key}; $val =~ s/\n*$//; $val =~ s/^/ /mg; - $val =~ s/^ $/ ./mg; + $val =~ s/^ +$/ ./mg; print F "$key: $val\n"; } print F "\n"; @@ -2234,7 +2235,7 @@ sub write_db { my $val = $pkg->{$key}; $val =~ s/\n*$//; $val =~ s/^/ /mg; - $val =~ s/^ $/ ./mg; + $val =~ s/^ +$/ ./mg; print F "$key: $val\n"; } print F "\n"; diff --git a/tests/tests.sh b/tests/tests.sh index 4ea28da..76597eb 100755 --- a/tests/tests.sh +++ b/tests/tests.sh @@ -250,6 +250,31 @@ then exit 1 fi +echo "Marking package as failed, with newlines in the argument" +wanna-build -A amd64 -b amd64/build-db -m "$(echo -e "Package failed\nTo Build\n\nBadly\n \nOuch")" --failed src-b_1 +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep " State.*:.*Failed" + +echo "Exporting database" +wanna-build -A amd64 -b amd64/build-db --export $testdir/export1 + +echo "Importing database" +wanna-build -A amd64 -b amd64/build-db --import $testdir/export1 + +echo "Exporting database again" +wanna-build -A amd64 -b amd64/build-db --export $testdir/export2 + +if ! diff -q $testdir/export1 $testdir/export2 +then + echo "Exporting and importing is not idempotent!" + exit 1 +fi + +echo "Giving back failed package" +wanna-build -A amd64 -b amd64/build-db -o --give-back src-b_1 + +echo "Giving back package agian to clear BD-Uninstallable" +wanna-build -A amd64 -b amd64/build-db -o --give-back src-b_1 + echo "Taking the build" wanna-build -A amd64 -b amd64/build-db --take src-b_1 wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep " State.*:.*Building"