Pull to refresh

Comments 20

спасибо. где вы были раньше?) сколько я намучался со сборкой пакетов по кривым мануалам
я бы не сказал что этот мануал прямой, желательно использовать для сборки dpkg, но в простых случаях прямое создание нужного архива тоже имеет право на существование.
В идеале все-таки debuild или pbuilder. Но, имхо, такой подход имеет право на сущестование, т.к. все-таки полезно знать, как оно внутри устроено. А то не все наверно и знают, что rpm это cpio, deb — ar и т.п.
UFO just landed and posted this here
по-моему Вы ошиблись топиком… лучше сначала читать, а потом постить.

если Debian изменит архиватор или перейдет на ебилды — в любом случае придется все переделывать

мануалы здесь не обсуждаются ВООБЩЕ! И это тоже НЕ МАНУАЛ по сборке пакетов. Это быстрый и простой вариант сборки пакета скриптов из соседнего топика, и небольшой экскурс вглубь, не более того.

у меня есть и свое зеркало и даже миррор официального, но речь идет не об этом. Я всего-лишь показал что этот пакет не тупо пишет «ОК, я установлен» а потом сыпет error: zenity no such file or directory.

lintian — инструмент хороший, но не наглядный «для простых смертных» и в данном контексте совсем не к месту указано. Мне не надо было в данном контексте показать «имя мейнтейнера написано не в полном варианте», цель была: в системе нету пакета, который мне нужен.
UFO just landed and posted this here
Для «как собрать нормальный, полноценный deb пакет своими руками» как раз таки есть официальное руководство =) на хабре, помню, несколько его пересказов было уже. Но я то для личных скриптов своих, которым не нужен ни постинсталл, ни мейк, ни что бы то ни было еще. В общем-то по большей части я эту статью и не планировал писать, но выдался рядом топик, в котором «параллельно» заскриншотил процесс, ну а далее решил, а почему б и не описать тем более что быстрый способ доступа к содержимому пакета бывает иногда полезен? Хуже от этого никому не станет ИМХО, такой пакет легитимен, менеджер про него и его файлы знает, это ж не пресловутый make install.
UFO just landed and posted this here
а пояему зависимости не резолвятся автоматом?
потому что это был dpkg, а не apt.
Быстрый и правильный способ создания пакета — с помощью dh-make и CDBS/debhelper.
(apt-get install dh-make, затем в директории с содержимым — dh-make).

А описанный выше — долгий и неправильный.
а разве в этом случае нам не нужны мейкфайлы и ориджин пакеты исходников?
В пакетах обычно есть два мейкфайла — один управляет сборкой программы, второй — debian/rules — определяет действия по сборке пакета. Перый — опционален, второй — можно оставить дефолтным.

Да, dh_make нужно вызывать с опцией --createorig, тогда и orig.tar.gz будет сделан.
нас интересует все тот же control, распакуем архив control.tar.gz, отредактируем зависимости (список Depends:)

В таких случаях стоит попробовать поставить пакет с помощью aptitude. Aptitude характерен тем, что в случае конфликтов не тупо вываливается, а предлагает несколько компромиссов, среди них как правило можно выбрать адекватный вариант. А править пакеты вручную — последнее дело.
Вместо возни с упаковками архивов можно собрать всё одной командой
dpkg -b PACKAGEDIR packagename-version.deb
А есть что-нибудь гуишное для всего этого? Что-то не нашел чего-либо приличного.
Жесть, но в определённом смысле полезно для обучения.

Гораздо проще именно для скриптов использовать dpkg -b (см. выше).

И рекомендую fakeroot вместо sudo для сборки.

Ужасающий до дрожи способ сборки пакета…
Я использую dh_make и debuild все. Это куда проще чем это…
Sign up to leave a comment.

Articles