LINUX.ORG.RU

Помогите пропатчить

 , ,


0

1

Нужно собрать довольно старую версию OpenWrt под девайс, который я упомянул в прошлом топике.

А теперь немного рекурсии quilt не может правильно определить версию patch.

Поэтому, как я понимаю, нужно наложить патч на configure.ac и Makefile.

Так сказал Гугл.

Вот сам diff

Index: tools/quilt/patches/100-patch_2.6.1_version.patch
===================================================================
--- tools/quilt/patches/100-patch_2.6.1_version.patch	(Revision 0)
+++ tools/quilt/patches/100-patch_2.6.1_version.patch	(Revision 0)
@@ -0,0 +1,11 @@
+--- quilt-0.48.bak/configure.ac	2009-01-31 03:28:06.000000000 +0100
++++ quilt-0.48/configure.ac	2010-07-27 15:03:51.662232573 +0200
+@@ -274,7 +274,7 @@
+ AC_MSG_CHECKING([the version of $PATCH])
+ if $PATCH --version 2> /dev/null | grep GNU >/dev/null; then
+   set -- `$PATCH --version 2> /dev/null`
+-  patch_version=$2
++  test $2 == "patch" && patch_version=$3 || patch_version=$2
+   AC_MSG_RESULT($patch_version)
+   saved_IFS=$IFS; IFS='.'
+   set -- $patch_version
Index: tools/quilt/Makefile
===================================================================
--- tools/quilt/Makefile	(Revision 22395)
+++ tools/quilt/Makefile	(Arbeitskopie)
@@ -16,6 +16,7 @@
 include $(INCLUDE_DIR)/host-build.mk
 
 define Host/Configure
+	cd $(HOST_BUILD_DIR) && autoconf
 	$(call Host/Configure/Default)
 	[ -f $(HOST_BUILD_DIR)/Makefile ]
 endef

Здесь я начинаю дико тупить, что должно быть в каталоге patches? Когда патчится Makefile из какого файла берется информация для патча?

Можете бить ногами, только просветите.

В моем случае версия quilt 0.47.

★★★★★

Последнее исправление: Twissel (всего исправлений: 3)

В каталоге patches должен быть файл 100-patch_2.6.1_version.patch. Так как это исходно diff-файл, то diff между этим файлом и тем, что должно быть выглядит так вот странно. Ну накладывайте этот patch руками, добавив в начало этого файла блок:

--- quilt-0.48.bak/configure.ac	2009-01-31 03:28:06.000000000 +0100
+++ quilt-0.48/configure.ac	2010-07-27 15:03:51.662232573 +0200
@@ -274,7 +274,7 @@
 AC_MSG_CHECKING([the version of $PATCH])
 if $PATCH --version 2> /dev/null | grep GNU >/dev/null; then
   set -- `$PATCH --version 2> /dev/null`
-  patch_version=$2
+  test $2 == "patch" && patch_version=$3 || patch_version=$2
   AC_MSG_RESULT($patch_version)
   saved_IFS=$IFS; IFS='.'
   set -- $patch_version

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

Там в коде еще diff на Makefile.

И вчера гонял все это дело, похоже сам процесс патчинга во время конфигурирования завязан на configure.ac (?)

Через patch -i даже с указанием полного пути к патчу пишет нет такого файла или каталога.

Я баран?

Ссылка на оригинальный diff

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 2)

Может подскажете кого еще скастовать по OpenWrt?

Twissel ★★★★★
() автор топика

С одной стороный ничего необычного - сначала создали патч 100-patch_2.6.1_version.patch, потом попросили подправили файл для сборки.

Дальше оно должно само применить созданных патч перед сборкой.

В каталоге tools/quilt/patches/ может вообще быть пусто. В текущей версии там 2 файла - 000-relocatable.patch и 001-fix_compile.patch

tools/quilt/Makefile патчится из первоначального патча. configure.ac позже из созданного патча.

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

Если исправляется configure.ac, то необходимо запустить autoconf для обновления configure.

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

Спасибо за ответ.

А куда собственно его помещать?

Twissel ★★★★★
() автор топика

Хотя в моем случае может для сборки тулчейна просто убрать «GNU» из выхлопа patch --version и опакетить.

После сборки - вернуть все в дефолт.

Костылище, конечно, но я вчера с этим патчем много намучился.

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

А куда собственно его помещать?

кого ?

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

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

Я уже «пропатчил» и опакетил сам Patch.

Просто убрал строку GNU. Когда, Бог даст, соберу тулчейн, верну оригинальный пакет.

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

Twissel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.