LINUX.ORG.RU

Конфликт патчей

 , , ,


0

1

Привет! Моя цель - пропатчить исходники и скомпилировать их

Пишу:

git clone https://aur.archlinux.org/st.git

Редактирую PKGBUILD: http://pastebin.com/zd0SQBZy

Запускаю сборку:

makepkg -srif --skipchecksums

Получаю ошибку «произошёл сбой в prepare()» во время патчинга st.h

Я понял, что происходит конфликт патчей st-keyboard-select и st-scrollback (оба вносят изменения в st.h), хотя изменения, которые они делают не противоречат друг другу.

Попытка поменять очередность применения патчей не привела к успеху.

Какие пути решения вы можете посоветовать мне? Ручную правку кода не предлагать

а в чем проблема сохранить файл st.h дважды. Для первой копии применить первый патч. Для второй копии - второй патч.
И сравнить результаты.
Они там 100500 мегабайтные что ли?

Atlant ★★★★★ ()
Ответ на: комментарий от grem

Без твоих правок собирается?

Да

Написать автору pkgbuild и сообщить об ошибке?

Нет. Тут притензия к создателям программы что на их сайте лежат конфликиующие патчи от разных авторов.

Я кажется понял как решить проблему - похоже конфликт возникает в файле config.def.h и решением было бы исключить этот файл из процедуры применения патчей. Как это проще осуществить? Я понимаю, что это звучит странно, но это правильное решение

russian-turist-2019 ()
Последнее исправление: russian-turist-2019 (всего исправлений: 1)

Какие пути решения вы можете посоветовать мне? Ручную правку кода не предлагать

Вот так всегда.

Уже б пять раз поправил патч, но нет, надо тред вместо этого написать.

t184256 ★★★★★ ()
Ответ на: комментарий от russian-turist-2019

Тут притензия к создателям программы что на их сайте лежат конфликиующие патчи от разных авторов.

Чего? Какое отношение создатели программы имеют к pkgbuild, в котором указаны данные патчи (тобой?) и к тому, что именно после твоих правок не собирается (что немного странно)?

хотя изменения, которые они делают не противоречат друг другу.

правда?

--- a/config.def.h
+++ b/config.def.h
@@ -178,6 +178,7 @@ static Shortcut shortcuts[] = {
 	{ TERMMOD,              XK_Y,           selpaste,       {.i =  0} },
 	{ TERMMOD,              XK_Num_Lock,    numlock,        {.i =  0} },
 	{ TERMMOD,              XK_I,           iso14755,       {.i =  0} },
+	{ TERMMOD,              XK_Escape,      keyboard_select,{ 0 } },
 };
 
 /*
diff --git a/config.def.h b/config.def.h
index 82b1b09..27d42ca 100644
--- a/config.def.h
+++ b/config.def.h
@@ -178,6 +178,8 @@ static Shortcut shortcuts[] = {
 	{ TERMMOD,              XK_Y,           selpaste,       {.i =  0} },
 	{ TERMMOD,              XK_Num_Lock,    numlock,        {.i =  0} },
 	{ TERMMOD,              XK_I,           iso14755,       {.i =  0} },
+	{ ShiftMask,            XK_Page_Up,     kscrollup,      {.i = -1} },
+	{ ShiftMask,            XK_Page_Down,   kscrolldown,    {.i = -1} },
 };
 
 /*
grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от russian-turist-2019

не похоже, а возникает.

если ты уж решил править патчи, что попробуй изменить их так, чтобы они могли накладываться последовательно, а удалять файлы из перечня изменяемых будет более странным.

grem ★★★★★ ()
Ответ на: комментарий от grem

Как я и ожидал, проблемный файл ни на что не влияет (он - просто образец настроек), удаление из патча кода отвечающего за этот файл решило проблему.

Теперь такой вопрос: а можно ли как-то сказать команде patch игноривать какой-либо файл, и если да то как? Просто чтобы впредь в подобных случаях не редактировать патч

russian-turist-2019 ()