4. Отримання джерельного коду¶
4.1. URL пакунків джерельного коду¶
Bazaar надає декілька дуже зручних скорочень для доступу до гілок джерельного коду з Launchpad для пакунків як Ubuntu, так і Debian.
Щоб послатися на гілки джерельного коду, використовуйте:
ubuntu:package
де package — ім’я пакунку, який Вам потрібен. Ця URL посилається на пакунки у поточній розроблюваній версії Ubuntu. Щоб послатися на гілку Tomboy у розроблюваній версії, потрібно використовувати:
ubuntu:tomboy
Щоб зробити відсилку до версії джерельного пакунку у старішому релізі Ubuntu просто додайте пакунку префікс з кодовим іменем релізу. Наприклад, для відсилки до джерельного пакунку Tomboy в Saucy використовуйте:
ubuntu:saucy/tomboy
Оскільки перші літери кодових імен не повторюються, можна скоротити ім’я випуску:
ubuntu:s/tomboy
Схожу схему можна використовувати для доступу до гілок джерельного коду в Debian, хоч тут немає скорочень для імен випусків Debian. Щоб отримати доступ до гілки Tomboy у поточному розроблюваному випуску Debian, використовуйте:
debianlp:tomboy
також для доступу до Tomboy в Debian Wheezy використовуйте:
debianlp:wheezy/tomboy
4.2. Отримання джерельного коду¶
Кожен пакунок джерельного коду в Ubuntu пов’язаний з гілкою джерельного коду на Launchpad. Launchpad автоматично оновлює ці гілки джерельного коду, хоч процес не повністю «захищений від дурня».
Є декілька речей, які ми зробимо у першу чергу, щоб зробити робочий процес ефективнішим напотім. Після того, як Ви засвоїте процес, Ви взнаєте, коли є сенс пропускати ці етапи.
4.2.2. Отримання гілки trunk¶
Ми використовуємо команду bzr branch для створення локальної гілки пакунку. Каталог призначення назвемо tomboy.dev, просто тому, що так легше запам’ятати:
$ bzr branch ubuntu:tomboy tomboy.dev
Каталог tomboy.dev представляє собою версію Tomboy у розроблюваній версії Ubuntu, й Ви завжди можете перейти у цей каталог та виконати bzr pull для отримання будь-яких майбутніх оновлень.
4.2.3. Перевірка актуальності версії¶
Коли Ви робите свою bzr branch
, то отримаєте повідомлення про те чи є гілка пакунків актуальною. Наприклад:
$ bzr branch ubuntu:tomboy
Most recent Ubuntu version: 1.8.0-1ubuntu1.2
Packaging branch status: CURRENT
Branched 86 revisions.
Інколи імпорт не відбувається успішно й гілки пакунку не збігаються з тими, що знаходяться у архіві. Повідомлення:
Packaging branch status: OUT-OF-DATE
означає, що імпорт не вдався. Ви можете дізнатися про причину за посиланням: http://package-import.ubuntu.com/status/ й відправити баг в UDD для вирішення проблеми.
4.2.4. Tar-файл з апстріму¶
Отримати tar з апстріму можна за допомогою:
bzr get-orig-source
Таким чином пробуються декілька методів для потрапляння в tar апстріму, спочатку відтворюючи його з тегу upstream-x.y
у архіві bzr, потім стягуючи з архіву Ubuntu, а потім запускаючи debian/rules get-orig-source
. Tar апстріму також буде відтворений при використанні bzr для побудови пакунку:
bzr builddeb
У втулки builddeb є декілька опцій конфігурації.
4.2.5. Отримання гілки для певного випуску¶
Якщо Ви бажаєте зробити щось типу оновлення стабільного релізу (SRU), або просто бажаєте вивчити код у старому релізі, Вам потрібно вибрати гілку, що відповідає певному релізу Ubuntu. Наприклад, щоб отримати пакунок Tomboy для Quantal:
$ bzr branch ubuntu:m/tomboy quantal
4.2.6. Імпорт пакунку джерельного коду Debian¶
Якщо пакунок, над яким Ви бажаєте працювати, доступний в Debian, але не в Ubuntu - код легко імпортувати у локальну гілку bzr для розробки. Наприклад, Ви бажаєте імпортувати джерельний пакунок newpackage. Ми почнемо із створення загальнодоступного сховища у якості звичайного, але нам також потрібно створити робоче дерево, у яке буде імпортовано джерельний пакунок (не забудьте виконати cd out директорії tomboy, створеній вище):
$ bzr init-repo newpackage
$ cd newpackage
$ bzr init debian
$ cd debian
$ bzr import-dsc http://ftp.de.debian.org/debian/pool/main/n/newpackage/newpackage_1.0-1.dsc
Як Ви бачите - потрібно просто вказати віддалене розташування файлу dsc, а Bazaar зробить решту. Тепер в Вас є джерельна гілка Bazaar.