Автор Тема: Подскажите, как правильно создать патчи для исходников  (Прочитано 2125 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн nihi1ist

Здравствуйте.

Нашел репозиторий Github. Там есть патчи для Dante 1.4.1, подскажите как правильно создать патчи для 1.4.2? Насчет diff читал, даже пробовал исправить пару патчей. Но процесс сборки всё равно вываливается с ошибкой. До этого в тексте ошибки мне было понятно, какая часть патча не срабатывает, но после исправлений уже не могу разобраться. Точнее вижу, что скрипт не находит файл для применения патча, но почему он не может найти не пойму.
 

Оффлайн alsoijw

Форкаешь реп в гитхабе, клонируешь форк, меняешь исходники, заливаешь на гитхаб, шлёшь автору пул реквест, готово.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн nihi1ist

Форкаешь реп в гитхабе, клонируешь форк, меняешь исходники, заливаешь на гитхаб, шлёшь автору пул реквест, готово.
Я как бы совсем не про то, вы ошибку то посмотрите. Зачем посылать pull-request'ы, если патчи не работают? Надо сначала починить, а потом отсылать.
 

Оффлайн alsoijw

Там есть патчи для Dante 1.4.1
Собирается? Или же проблема возникает после модификации?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн ZEN

Бегло посмотрел на патчи. И результат следующей проверки показывает, что патч 01-rename-library.patch несовместим.

$ git clone https://github.com/notpeter/dante.git
$ cd dante
$ ls ../debian/patches/*.patch -1
01-rename-library.patch
02-rename-programs.patch
03-configure.patch
10-config-users.patch

$ git apply --check ../debian/patches/01-rename-library.patch
error: patch failed: dante/include/socks.h:471
error: dante/include/socks.h: patch does not apply
error: patch failed: dante/dlib/Makefile.in:406
error: dante/dlib/Makefile.in: patch does not apply
error: patch failed: dante/lib/Makefile.in:391
error: dante/lib/Makefile.in: patch does not apply

$ git apply --check ../debian/patches/02-rename-programs.patch
$ git apply --check ../debian/patches/03-configure.patch
$

Вопрос в том, нужен ли этот патч вообще. Если не нужен (например, правки из этого патча попали в ветку 1.4.2), то можно просто из файла debian/patches/series удалить строку "01-rename-library.patch" и попробовать собрать deb-пакет. В противном случае, нужно подгонять патч под основной код (по выводу выше видно, что мы не смогли пропатчить файлы dante/include/socks.h, dante/dlib/Makefile.in и dante/lib/Makefile.in) или создавать новый патч с нуля.
« Последнее редактирование: 07 Мая 2017, 23:35:33 от ZEN »
Crimea is Ukraine
 

Оффлайн nihi1ist

Вопрос в том, нужен ли этот патч вообще. Если не нужен (например, правки из этого патча попали в ветку 1.4.2), то можно просто из файла debian/patches/series удалить строку "01-rename-library.patch" и попробовать собрать deb-пакет. В противном случае, нужно подгонять патч под основной код (по выводу выше видно, что мы не смогли пропатчить файлы dante/include/socks.h, dante/dlib/Makefile.in и dante/lib/Makefile.in) или создавать новый патч с нуля.
Эти патчи предназначены для переименования названий исполняемых и библиотек в стиле Debian. Я специально внес вручную изменения в один из файлов и на основе него сделал патч. Но патч всё равно не сработал.
 

Оффлайн nihi1ist

С работоспособностью патчей разобрался. Подскажите как создать патч для нескольких файлов?
 

Оффлайн nihi1ist

Согласно статье создал ключ и добавил его:
apt-key add keyring.ascКлюч в списке ключей появился, но при сборке пакета все равно ругается на отсутствие закрытого ключа.
dpkg-genbuildinfo
 dpkg-genchanges  >../dante_1.4.2+dfsg-1_amd64.changes
dpkg-genchanges: инфо: в закачку включён весь исходный код
 dpkg-source --after-build dante-1.4.2
dpkg-buildpackage: инфо: закачка всего; родной пакет Debian (включены все пакеты исходного кода)
 signfile dante_1.4.2+dfsg-1.dsc
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from '/root/.gnupg/secring.gpg' to gpg-agent
gpg: migration succeeded
gpg: пропущено "Sabir Abdurakhmanov <nihi1ist@zhasulan.com>": Нет закрытого ключа
gpg: dpkg-sign.ly7y66Xn/dante_1.4.2+dfsg-1.dsc: clear-sign failed: Нет закрытого ключа

Знаю, что можно использовать ключи uc us. Но, ключ то есть. Что я делаю не так?
 

Теги:
     

    Подскажите как сделать рестарт сети

    Автор simonflex

    Ответов: 32
    Просмотров: 5746
    Последний ответ 22 Февраля 2019, 13:05:37
    от lenin
    Подскажите замену Mytop

    Автор grandr

    Ответов: 3
    Просмотров: 494
    Последний ответ 24 Ноября 2020, 20:15:16
    от ChubaDuba
    Подскажите по программе hotkeys

    Автор evgen

    Ответов: 2
    Просмотров: 1322
    Последний ответ 30 Марта 2015, 13:19:54
    от evgen
    [решено] подскажите программу (календарь) с графиком рабочих смен

    Автор w.qazmju

    Ответов: 1
    Просмотров: 1478
    Последний ответ 30 Сентября 2016, 14:19:31
    от w.qazmju
    Подскажите, как поправить $PATH?

    Автор PbI6A

    Ответов: 16
    Просмотров: 14137
    Последний ответ 10 Мая 2020, 17:17:58
    от qupl