Как исправить сборку при попытке исправить исходный файл?
Я пытаюсь создать пакет Bugzilla 4 в Launchpad PPA. Продолжайте получать искаженный патч и переделывать патч с нуля много раз без какого-либо успеха. Здесь можно увидеть один из журналов (он очень длинный, поэтому просто нажмите Ctrl + F для слова fail / ed). Ошибка относится к следующим строкам в моем коде:
diff -Naur bugzilla-srcdir.orig//Bugzilla.pm bugzilla-srcdir/Bugzilla.pm
--- bugzilla-srcdir.orig//Bugzilla.pm 2010-11-12 10:27:20.664915051 +0100
+++ bugzilla-srcdir/Bugzilla.pm 2010-11-12 10:28:19.721916586 +0100
@@ -144,7 +144,7 @@
if (!i_am_cgi()
&& grep { $_ eq $script } SHUTDOWNHTML_EXIT_SILENTLY)
{
- exit;
+ exit(0);
}
# For security reasons, log out users when Bugzilla is down.
@@ -178,7 +178,7 @@
$template->process("global/message.$extension.tmpl", $vars, \$t_output)
|| ThrowTemplateError($template->error);
print $t_output . "\n";
- exit;
+ exit(1);
}
}
diff -Naur bugzilla-srcdir.orig//chart.cgi bugzilla-srcdir/chart.cgi
--- bugzilla-srcdir.orig//chart.cgi 2010-11-12 10:26:25.625929357 +0100
+++ bugzilla-srcdir/chart.cgi 2010-11-12 10:28:19.721916586 +0100
@@ -79,7 +79,7 @@
if (grep(/^cmd-/, $cgi->param())) {
my $params = $cgi->canonicalise_query("format", "ctype", "action");
print $cgi->redirect("query.cgi?format=" . $cgi->param('query_format') .
($params ? "&$params" : ""));
- exit;
+ exit(0);
}
my $action = $cgi->param('action');
@@ -102,7 +102,7 @@
if ($action eq "search") {
my $params = $cgi->canonicalise_query("format", "ctype", "action");
print $cgi->redirect("buglist.cgi" . ($params ? "?$params" : ""));
- exit;
+ exit(0);
}
$user->in_group(Bugzilla->params->{"chartgroup"})
@@ -233,9 +233,9 @@
else {
ThrowUserError('unknown_action', {action => $action});
}
-exit;
+exit(0);
# Find any selected series and return either the first or all of them.
sub getAndValidateSeriesIDs {
Не обращайте внимания на отметки времени, так как я использовал упаковочный источник Bugzilla 3.6 в Ubuntu Natty.
1 ответ
Патч, который вы пытаетесь применить в ветке, содержит множество блоков патчей с неправильными пробелами или количеством строк. Оба из них приведут к тому, что блок патча не будет применен.
В приведенном выше примере первый блок имеет пропущенный пробел в большинстве строк, из-за чего он не соответствует источнику. Во втором файле есть строки, которым не предшествует один пробел, поэтому патч пытается его интерпретировать как информацию о патче. Как только эти ошибки будут исправлены, в патче исправятся еще несколько.