Нужно ли мне редактировать файлы .patch, необходимые для сборки mdns 878.200.35 в Yocto?

Этот вопрос следует из:
Где я могу получить файл mdns.service, необходимый для создания mDNS в Yocto?

Смотрим на рецепт Yocto на mdns 878.200.35:
https://layers.openembedded.org/layerindex/recipe/109743/
Есть два связанных файла .patch:
build.patch
0001-nss_mdns-Do-not-include-nss.h- when-libc-glibc.patch.
Открывая эти ссылки, их страницы показывают минус и плюс, отметки git-view изменения, с тройным минусом и тройным плюсом розовым и зеленым цветом, а также текст верхнего и нижнего колонтитула, который, конечно, не не похоже, что они принадлежат коду. StackOverflow не позволяет мне буквально здесь вводить то, что я имею в виду.

Чтобы использовать их в битбейке, следует ли мне их отредактировать? Например, в build.patch, похоже, я должен удалить строки заголовка:

(StackOverflow не позволяет мне публиковать их; сначала он говорит, что их нужно отформатировать как код, а затем говорит, что это плохой код.)

и две последние строки нижнего колонтитула.

(то же самое)

Также удалите строки розового цвета, начинающиеся с -, и замените знаки + в начале оставшихся зеленых строк пробелом (StackOverflow позволил мне ввести здесь буквальный минус и плюс).
И проделать то же самое в
0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch.
Верно? Вы можете следить за блоками выше? StackOverflow не позволял мне форматировать их в блоках кода или даже включать их в этот пост, что заставляет меня думать, что их не должно быть в файлах, которые будут использоваться в рецепте.

Я пробовал клонировать: git: //git.openembedded.org/meta-openembedded
и просматривал два файла, загруженные на мой компьютер:
root / meta -etwork / recipes -tocols / mdns / files /build.patch
корень / метасети / рецепты-протоколы / mdns / files / 0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch

Они по-прежнему имеют те же отметки - и + git-view change, --- и +++ маркировку, а также текст верхнего и нижнего колонтитула, которые явно не выглядят так, как будто они принадлежат коду.

Эти файлы действительно предназначены для использования в том виде, в каком они есть, или мне нужно их редактировать, как я описал выше?
Теперь я думаю, что, поскольку они таковы в реальном репозитории , что Yocto bitbake может это прочитать, пропустить верхние и нижние колонтитулы, не связанные с кодом, и применить изменения, отмеченные в формате git-view. Ты думаешь? В конце концов, это файлы .patch. Yocto действительно чудо, когда он работает. Это первое, что я попробую.

Продолжается !: Как удалить и скопировать построенный файл .so на этапе компиляции Yocto bitbake?


person microajim    schedule 27.02.2021    source источник
comment
Патчи наносятся не чисто? При чем тут git-view? Предположительно проекты не будут построены без применения исправлений к исходному коду mdns. Вы хотите пересобрать mdns из исходников? Почему?   -  person Elliott Frisch    schedule 27.02.2021
comment
@Elliott Frisch - Я еще не пробовал рецепт, потому что я просмотрел содержимое файлов .patch и очень нервничал, как описано в моем сообщении, по описанным причинам. Содержание git-view заставило меня нервничать; отсюда и этот пост. Как я писал, может быть, мне стоит пойти дальше и попробовать. Я действительно хочу перестроить mdns из исходного кода, потому что он мне нужен в моей системе, и он сохранит производственные этапы, чтобы просто иметь его там, а не переустанавливать его для каждого производимого устройства. Есть ли способ лучше?   -  person microajim    schedule 27.02.2021
comment
patch - это утилита. Области, которые вас так беспокоят, интерпретируются утилитой patch. См. Также howtogeek.com/415442/   -  person Elliott Frisch    schedule 27.02.2021
comment
@ Эллиотт Фриш - я уже начал догадываться об этом. Спасибо за ссылку. Я относительно новичок в Linux.   -  person microajim    schedule 27.02.2021


Ответы (1)


Просто скачайте простые файлы и поместите их на свой слой.

Эти файлы являются абсолютно допустимыми патчами, иначе они вообще не были бы на верхнем уровне.

Перед первым --- будет заголовок фиксации (первая строка) и журнал фиксации фиксации git, созданный, когда git применяет исправление.

+++ и второй --- используются для обозначения файлов, к которым применяется исправление. -- в конце просто указывает git инструменту игнорировать то, что находится после, а именно номер версии git, который использовался для создания указанного патча (с git format-patch).

person qschulz    schedule 28.02.2021
comment
Спасибо за заверения и информацию. На данный момент я поддержал ваш ответ, но поскольку моя репутация ниже 15, мой голос не отображается. - person microajim; 01.03.2021