Ubuntu: Что они делают с ванильными источниками?


12

Поправьте меня если я не прав

Насколько мне известно, такие дистрибутивы, как Debian / Ubuntu / Fedora, обычно модифицируют исходный код vanilla перед созданием пакета. В чем причина этих изменений? Есть ли проблема с исходным кодом? Как я могу получить список изменений и причину этих изменений, внесенных в конкретный пакет?

Спасибо за помощь!

Ответы:


18
apt-get source package

Вам достанется два или три файла: «оригинальный» тарбол (иногда измененный, но редко ... единственным изменением часто является имя файла) - с именем * .orig.tar.gz, изменения в Debian в виде * .diff Файл .gz и некоторые метаданные. Иногда файл .diff.gz отсутствует: это означает, что пакет собран только для debian / ubuntu, для обработки какой-то очень специфической работы с дистрибутивом ... например, dakкоторая управляет загрузкой архива debian. Тогда весь код находится в оригинальном архиве.

Причин множество: исправление ошибок в программном обеспечении (когда апстрим не хочет), адаптация программного обеспечения к debian (например, настройка путей к файлам). Debian хочет, чтобы все пакеты соответствовали стандарту FileSystem Hierarchy Standard , и это очень распространенная настройка.

Из-за проблем с упаковкой оригинальный архив иногда отличается от исходного. Я помню, как программа распространялась в нескольких архивах, в то время как они генерировали только один исполняемый файл - сопровождающий Debian решил создать свой собственный «оригинальный» архив, состоящий из tar-архивов вышестоящих версий. Другая причина в том, что иногда сопровождающий Debian решает добавить некоторый двоичный файл в пакет. Сложно помещать двоичные файлы в файл .diff.gz, поэтому исходный архив будет изменен (и это обычно четко описано в документации к пакету).

Иногда (очень редко) проблема заключается в лицензировании. Бывает, что апстрим не понимает или не хочет понимать последствия из-за некоторых лицензий. Debian хочет, чтобы все проблемы с лицензированием были решены, поэтому случается, что исправления Debian делают какие-то конкретные действия, или оригинальный архив извлекается из нелегально распространяемых файлов.

Также бывает, что какой-то контент лицензирован, так что вы можете использовать его, но не распространять. Обычно (например msttcorefonts, flashplugin-nonfreeпакет debian) является лишь своего рода установщиком пакета, и внутри пакета нет оригинального содержимого.

pineПакет также интересен, поскольку лицензия запрещает распространять скомпилированные формы. Следовательно, нет pineдвоичного пакета, но есть pineпакет с исходным кодом. Вы можете скачать его с помощью приведенной выше команды и скомпилировать в пакет debian для себя.


Pine теперь разрабатывается как альпийский, чтобы обойти первоначальные проблемы с лицензированием - washington.edu/pine
theotherreceive

Тем не менее, pineпакет находится внутри хранилища. Но так вот, вопросы лицензирования усложняют ситуацию.
Лиори

2

Причин, вероятно, столько же, сколько и сопровождающих и пакетов. Я предполагаю, что обычно они модифицируют программное обеспечение так, чтобы оно лучше интегрировалось с другим программным обеспечением в дистрибутиве или добавляло функции, которых нет в «официальной» версии.

Вы можете получить исходные тексты (и специфичные для Ubuntu различия), набрав sudo apt-get source PACKAGENAMEв командной строке. Он загрузит исходные файлы и различий пакета в текущий каталог. Они обычно также включают некоторые комментарии в источнике.


1

Подумай об этом так. Если вы установили программу из исходного архива через исходный код ./configure; make; make install, у вас все еще есть работа. Вы должны сделать пункты меню, вы должны настроить файлы конфигурации и тому подобное. Вы , возможно , придется дать . Изменения сопровождающих дистрибутивов часто сводятся к автоматизации этих рутинных задач../configure--prefix

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.