Ubuntu: Що вони роблять з джерелами ванілі?


12

Виправте мене, якщо я помиляюся

Наскільки мені відомі дистрибутиви, такі як Debian / Ubuntu / Fedora, зазвичай змінюють вихідний код ванілі перед створенням пакету. У чому причина цих змін? Чи є проблема з первинним джерелом? Як я можу отримати список змін та причину тих змін, внесених до певного пакету?

Дякую за допомогу!

Відповіді:


18
apt-get source package

Ви отримаєте два-три файли: "оригінальний" тарбол (іноді модифікований, але рідко ... єдиною зміною часто є ім'я файлу) - ім'я * .orig.tar.gz, debian змінюється у формі * .diff .gz файл та деякі метадані. Іноді файл .diff.gz відсутній: це означає, що пакет створений лише для debian / ubuntu, щоб обробляти деякі дуже специфічні дистрибутивні роботи ... як, наприклад, dakякий управляє завантаженнями архіву debian. Тоді весь код знаходиться в оригінальному тарболі.

Причин багато: виправлення помилок для програмного забезпечення (коли вище не хочеться), адаптація програмного забезпечення до debian (fe коригування шляхів до файлів). Debian хоче, щоб усі пакети відповідали стандарту ієрархії FileSystem , і це дуже поширене коригування.

Оригінальний тарбол іноді не такий, як створений вище за течією через проблеми з упаковкою. Я пам'ятаю, як бачив програму, розподілену в декількох тарболах, в той час як вони генерували лише один виконуваний файл - сервіс, який підтримує debian, вирішив зробити власний "оригінальний" тарбол, що складається з тарбованих верхніх течій. Інша причина полягає в тому, що іноді технічний сервіс debian вирішує додати якийсь бінарний файл до пакету. Помістити бінарні файли всередині файлу .diff.gz важко, тому оригінальний тарбол модифікується (і це зазвичай чітко описано в документації до пакета).

Іноді (дуже рідко) питання ліцензування є проблемою. Буває, що висхідний потік не розуміє чи не хоче зрозуміти наслідки через деякі ліцензії. Debian хоче вирішити всі проблеми з ліцензуванням, тому трапляється, що патчі debian роблять якісь конкретні речі, або оригінальний тарбол позбавлений незаконно розподілених файлів.

Буває також, що деякий вміст ліцензований, щоб ви могли ним користуватися, але не поширювати їх. Зазвичай (fe for msttcorefonts, flashplugin-nonfree) пакунок debian - це лише якась програма встановлення пакету, і жоден оригінальний вміст не міститься в ньому.

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


Сосна зараз розробляється як альпійська, щоб обійти оригінальні питання ліцензування - washington.edu/pine
theotherreceive

Все-таки pineпакет знаходиться всередині сховища. Але добре, саме так питання ліцензування ускладнюють справи.
liori

2

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

ви можете отримати джерела (і для ubuntu, що відрізняються), ввівши sudo apt-get source PACKAGENAMEкомандний рядок. Він завантажить джерела ванілі та відмінності пакунка у поточний каталог. Зазвичай вони також містять деякі коментарі у джерелі.


1

Думай про це так. Якщо ви встановили програму з оригінального tarball через ./configure; make; make install, вам ще належить виконати певну роботу. Ви повинні робити записи в меню, ви повинні налаштувати конфігураційні файли тощо. Ви , можливо , доведеться дати . Зміни диспетчерів дистрибуторів часто не мають нічого іншого, як автоматизація цих щоденних завдань../configure--prefix

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.