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

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. Но, ключ то есть. Что я делаю не так?
 

Теги:
     

    [Решено] Подскажите программу для мониторинга сети

    Автор DruKot

    Ответов: 17
    Просмотров: 4704
    Последний ответ 14 Сентября 2012, 23:10:05
    от Udachnik
    Подскажите гайд/статью про файловые менеджеры!

    Автор LionDeb

    Ответов: 6
    Просмотров: 1673
    Последний ответ 24 Сентября 2015, 21:29:33
    от I-Jurij
    подскажите по установке airControl 2.1

    Автор Palamar

    Ответов: 4
    Просмотров: 2275
    Последний ответ 08 Декабря 2017, 14:47:00
    от qupl
    Подскажите где хранится pool.ntp

    Автор simonflex

    Ответов: 21
    Просмотров: 3465
    Последний ответ 23 Марта 2019, 15:41:26
    от simonflex
    Подскажите с ...

    Автор Utility

    Ответов: 0
    Просмотров: 1149
    Последний ответ 19 Июля 2015, 03:25:41
    от Utility