Помогите собрать пакет из исходников [Решено]

Автор CoolAller, 23 февраля 2018, 20:28:45

« назад - далее »

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

CoolAller

Есть пакет rpcbind, который в Debian Jessie имеет версию 0.2.1-6+deb8u2, с ним косяк, который до сих пор не исправили, но который предположительно исправили в версии rpcbind - 0.2.3-0.4, которая есть для Debian Stretch. Можно ли как-то собрать пакет rpcbind - 0.2.3-0.4 для Debian Jessie x64?

ecc83

Ставь задачу конкретнее.

1. Имя пакета (приложения)
2. Путь к исходным текстам
3. Архитектура твоей системы.

CoolAller

#2
1. Пакет rpcbind
2. Исходники rpcbind (0.2.3-0.6) есть, например, в Debian Stretch, но при сборке на Jessie ругается на невозможность удовлетворить зависимости: Unmet build dependencies: dh-systemd (>= 1.5) В Jessie: dh-systemd 1.22
3. Архитектура: x64.

Есть еще несколько вопросов:
1. В багтрекере дебиана написано: Fixed in version rpcbind/0.2.3-0.1, а где собственно взять эту версию, если они ее пофиксили?
2. Если я собираю какой-нибудь пакет при помощи команды debuild -b -uc -us, то после установки пакета при помощи dpkg -i имя_пакета, если в терминале выполнить apt-get dist-upgrade, то эти же пакеты apt-get предлагает обновить из репозитория, при этом они имеют одинаковые версии, почему так происходит?

ecc83

Цитата: CoolAller от 23 февраля 2018, 20:39:26
Архитектура: x64.

Дело в том, что у меня есть установленные jessie x86 и stretch x64
То что нужно тебе, у меня не установлено. Если не очень срочно, то попробую позже.

Цитата: CoolAller от 23 февраля 2018, 20:39:26
В багтрекере дебиана написано: Fixed in version rpcbind/0.2.3-0.1, а где собственно взять эту версию, если они ее пофиксили?

Искать с помощью гугла. Правда неожиданный ответ? :)


Цитата: CoolAller от 23 февраля 2018, 20:39:26
Если я собираю какой-нибудь пакет при помощи команды debuild -b -uc -us, то после установки пакета при помощи dpkg -i имя_пакета, если в терминале выполнить apt-get dist-upgrade, то эти же пакеты apt-get предлагает обновить из репозитория, при этом они имеют одинаковые версии, почему так происходит?

Потому, что "одинаковые версии" для пакетного менеджера не очевидны. Он "смотрит" по файлу DEBIAN/control внутри пакета.
Там используя специальный синтаксис описана версия пакета. Если ты написал версию сам, без учёта синтаксиса, то менеджер этого не понимает.
Скачай пакет, вытащи из него файл control и сделай так же.

Так ты умеешь собирать?



CoolAller

#4
Цитата: ecc83 от 23 февраля 2018, 21:04:08Там используя специальный синтаксис описана версия пакета. Если ты написал версию сам, без учёта синтаксиса, то менеджер этого не понимает.
Я ничего не меняю в версиии пакета, исходники берутся из репозитория командой apt-get source имя_пакета, таким образом пакеты должны получаться идентичные, но тем не менее apt-get предлагает их обновить. Отличие в Control получается только одно: Installed-Size (так как я правлю код), неужели apt-get по этому параметру определяет, что пакет "нуждается" в обновлении?

Цитата: ecc83 от 23 февраля 2018, 21:04:08Искать с помощью гугла. Правда неожиданный ответ?
Да, такого я никак не мог ожидать) Не гуглится оно.

Цитата: ecc83 от 23 февраля 2018, 21:04:08у меня есть установленные jessie x86
Подойдет и x86, принцип-то один и тот же.

ecc83

Цитата: CoolAller от 23 февраля 2018, 21:22:30
Я ничего не меняю в версиии пакета, исходники берутся из репозитория, таким образом пакеты должны получаться идентичные

Прекращай заблуждаться. Пакеты получатся идентичные, если ты их такими сделаешь. "Само" ничего не произойдёт.
Ты представляешь какое кол-во опций у компилятора и конфигуратора?


Цитата: CoolAller от 23 февраля 2018, 21:22:30Подойдет и x86, принцип-то один и тот же.

Какой ещё принцип? У тебя пакет не запустится, если будет собран для другой архитектуры.


CoolAller

#6
Отвечаю сам себе: да, при выполнении apt-get dist-upgrade, пакетный менеджер сверяет размер пакета и версию и даже если версия полностью совпадает, но отличается размер пакета, то пакетный менеджер все равно предлагает обновить пакет из репозитория.
Цитата: ecc83 от 23 февраля 2018, 21:30:27Какой ещё принцип? У тебя пакет не запустится, если будет собран для другой архитектуры.
Мне не нужен пакет, хочу понять возможно ли сделать то, что я хочу, судя по всему нет, разве что пробовать бекпортировать пакет с зависимостями.

Где взять пакет, который в багтрекере помечен как пофиксенный я не нашел.

dogsleg

Цитата: CoolAller от 23 февраля 2018, 20:28:45Есть пакет rpcbind, который в Debian Jessie имеет версию 0.2.1-6+deb8u2, с ним косяк, который до сих пор не исправили, но который предположительно исправили в версии rpcbind - 0.2.3-0.4, которая есть для Debian Stretch. Можно ли как-то собрать пакет rpcbind - 0.2.3-0.4 для Debian Jessie x64?

Эта ошибка исправлена тут. Можно накатить заплаты на пакет из jessie и собрать его. Это вместо того, чтобы возиться с пакетом из stretch и его зависимостями.

CoolAller

#8
dogsleg, в исходниках rpcbind 0.2.1-6 из реп отсутствуют файлы указанные в патче rpcbind.diff

Cообщение объединено 23 февраля 2018, 23:31:07

Народ, что еще можно попробовать?

ecc83

Цитата: CoolAller от 23 февраля 2018, 21:41:58Мне не нужен пакет, хочу понять возможно ли сделать то, что я хочу

Тьфу ты, я уж подумал что тебе нужен такой пакет под jessie, а оказывается тебе нужно просто поговорить об этом.
Вот учили же меня в своё время, не кидаться сразу исполнять просьбу, потому что она ещё много раз поменяется.
А я тут уже виртуалку развернул, что бы сборкой заняться. Пришлось удалить.


CoolAller

#10
Цитата: ecc83 от 23 февраля 2018, 23:45:12Тьфу ты, я уж подумал что тебе нужен такой пакет под jessie, а оказывается тебе нужно просто поговорить об этом.
Нет, мне действительно нужен такой пакет под jessie)) Просто я хотел сказать, что если получится собрать такой под x32, то по аналогии можно сделать тоже самое и для x64  ;D

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


Cообщение объединено 23 февраля 2018, 23:54:58

Скачал версию rpcbind-0.2.3, в ней есть файлы, которые есть в этом патче, на кой ляд они делали этот патч не понятно, так как изначально проблема возникла в версии rpcbind 0.2.1 или может я что-то не понимаю?

ecc83

Цитата: CoolAller от 23 февраля 2018, 21:41:58Мне не нужен пакет, хочу понять возможно ли сделать
Цитата: CoolAller от 23 февраля 2018, 23:47:31мне действительно нужен такой пакет

Мне одному кажется, что ты просто хочешь поговорить?

CoolAller

Цитата: CoolAller от 23 февраля 2018, 21:41:58У тебя пакет не запустится, если будет собран для другой архитектуры.
ecc83, я имею в виду, что мне не нужен пакет под x86, мне нужно понять сам принцип чтобы сделать по аналогии))

Цитата: ecc83 от 24 февраля 2018, 01:06:53Мне одному кажется, что ты просто хочешь поговорить?
Поговорить тоже можно, но по теме)

dogsleg

Цитата: CoolAller от 23 февраля 2018, 22:42:09в исходниках rpcbind 0.2.1-6 из реп отсутствуют файлы указанные в патче rpcbind.diff

Ну, так проблема в том, что их нет. Накатите заплату, будут файлы, и ошибки не будет.