Как я могу получить патч ядра Linux из списка рассылки?


18

Я не подписываюсь на список рассылки linux-kernel, но я хочу получить набор исправлений, которые были опубликованы несколько недель назад, и применить их к моему ядру для тестирования. Я очень хорошо знаком с патчами, сборкой и т. Д. Мой вопрос: как лучше всего получить копию этого набора патчей? Он не применяется к любому известному мне репозиторию Git, он просто был добавлен в список рассылки для обсуждения.

Я нахожу несколько сайтов, которые архивируют список рассылки ядра Linux, и я вижу там набор исправлений, но ни на одном из этих сайтов нет какого-либо метода (который я могу найти) загрузки необработанной электронной почты, чтобы я мог использовать "git apply" "или" патч "или что-то еще. Просто скопируйте / вставьте содержимое из моего веб-браузера, похоже, что оно не будет очень успешным из-за различий в пробелах и т. Д.

Как люди справляются с этим?


Ответы:


12

На http://marc.info/ есть ссылка на каждое сообщение для получения необработанного тела, а на https://lkml.org/ (на боковой панели) есть ссылки для загрузки любых содержащихся различий.

Есть также архивы с доступом по NNTP, которые могут предоставлять необработанные сообщения, хотя я не пробовал этого.


Я не видел ссылку от LKML, так как я смотрел на электронное письмо с заголовком из набора патчей без diff. Благодарю. Это чертовски неприятно: я надеялся на что-то, что позволило бы мне выбрать набор сообщений и сохранить их в виде необработанного mbox, или даже позволить загрузить стоимость дня в виде необработанного mbox (я могу редактировать его локально). Для любого набора патчей значительного размера это будет очень болезненно. Но это будет работать! Благодарю.
Безумный ученый,

Я также нашел это: patchwork.kernel.org, который немного проще для загрузки, но все еще много щелкает и т. Д. Плюс нет хорошего поиска, который я могу найти, и если вы перейдете в набор патчей в середине после поиска в Google не похоже, что есть какие-либо «следующие / предыдущие» ссылки
MadScientist

По некоторым причинам patchwork.kernel.org, кажется, не имеет devicetreeсписка рассылки, в котором я заинтересован.
Крейг МакКуин

6

Я нашел часть ответа. Похоже, gitможно применить следующий переключатель, чтобы применить набор исправлений, которые вы имеете в электронном письме, к базе кода, которую вы ранее извлекли:

$ git applymbox /tmp/mbox

В этой статье под названием: Git для новичка было несколько других примеров работы с ядром Linux с использованием git & patching.

кетчуп

Я думаю, что инструмент, который вы ищете, называется ketchup. Основной сайт, кажется, здесь . Здесь есть запись в блоге под названием: кетчуп, или как более эффективно управлять исходными кодами ядра . Есть также пример его использования в книге OReilly под названием: « Полезные утилиты: Приложение A - Ядро Linux в двух словах» .

Ссылки


Да, конечно. Как я уже упоминал в своем вопросе, я очень хорошо знаком с исправлениями и сборкой ядра. Но у меня вопрос: где взять файл, содержащий патчи (файл "/ tmp / mbox" в вашем примере)? В сообщении написано «сохранить почту», но сохранить его откуда ? Вы не можете просто сохранить его из сетевых почтовых архивов (по крайней мере, не из тех, что я нашел), потому что вы получаете большую кучу HTML-кодированных материалов, которые нельзя использовать для исправлений.
Безумный ученый,

@MadScientist - да, я согласен, что это неоптимально. Вышеприведенное избавляет вас от шага сохранения файла, если вы используете что-то вроде mutt, файлы mbox могут быть настроены, если вы подписаны на список рассылки, на который патчи отправляются по электронной почте. Все еще кажется, что должен быть лучший путь, я продолжу копать.
SLM

2
Как я уже говорил, я НЕ подписан на рассылку.
MadScientist

Кетчуп не может извлечь наборы патчей из списка рассылки, насколько я могу судить. Он просто может загружать наборы патчей, которые уже связаны и доступны в виде файлов патчей на kernel.org.
Безумный ученый,

@MadScientist - я верю, что ты прав. Я подумал, что вы могли бы использовать его для загрузки исправлений, которые были помечены за пределами электронных писем, используя электронные письма только в качестве ссылки на интересующие вас теги. Вы должны были отложить принятие ответа. Кажется, должен быть лучший способ, чем копировать их вручную? Зная типы программистов, они ленивы и никогда не смирятся с этим рабочим процессом слишком долго 8-).
SLM

3

Есть два способа, которые я знаю.

  1. patchwork ( https://patchwork.kernel.org/ ) pwclient ( https://www.varnish-cache.org/patchwork/help/pwclient/ ), работающий с patchwork, может загружать исправления из списка рассылки.
  2. git am
    очень прост в использовании.
    1. сохраните свою электронную почту, отправленную с git send-email (расширение Thunderbird - .eml).
    2. бегать git am xxx.eml

Ссылка на pwclient теперь не работает - случайный поиск не нашел нового источника.
Адам Бакстер

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.