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

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

Теги:
     

    Ребята, подскажите, что за куча пакетов?

    Автор PbI6A

    Ответов: 4
    Просмотров: 342
    Последний ответ 15 Ноября 2020, 12:52:26
    от endru
    Кто на "ты" с emelfm2, подскажите.

    Автор Sergei_Alekseev

    Ответов: 1
    Просмотров: 1920
    Последний ответ 22 Сентября 2014, 15:48:22
    от grey_wolf
    Подскажите, уважаемые Гуру! PHP/PHP5 -> /usr/bin/php5 vs /usr/local/bin/php

    Автор chuzhoj

    Ответов: 2
    Просмотров: 1867
    Последний ответ 25 Сентября 2015, 19:09:08
    от chuzhoj
    Подскажите у меня в системе syslog.conf и rsyslog.conf, как удалить

    Автор Hyper-SA

    Ответов: 5
    Просмотров: 1132
    Последний ответ 27 Мая 2018, 14:08:56
    от Hyper-SA
    Подскажите как это лечить

    Автор simonflex

    Ответов: 11
    Просмотров: 4887
    Последний ответ 26 Апреля 2019, 21:36:15
    от simonflex