]> git.donarmstrong.com Git - wannabuild.git/commitdiff
Fixes: Export format, forcibly clearing BD-Uninstallable
authorJoachim Breitner <nomeata@debian.org>
Thu, 30 Jul 2009 10:02:25 +0000 (12:02 +0200)
committerJoachim Breitner <nomeata@debian.org>
Thu, 30 Jul 2009 10:02:25 +0000 (12:02 +0200)
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.

bin/wanna-build
tests/tests.sh

index c1c0a3191632abf5e8785056c35a134d2ef80fd6..00ca7c46b30dabc73b6a2795f18d1914185b7020 100755 (executable)
@@ -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";
index 4ea28da0c8edbc3a7d303c4551cb4ef64ba71003..76597eb6d621ab0215d2d21ef5e5c53b6a449cf7 100755 (executable)
@@ -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"