Создание собственного PPA Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:создание_ppa [2013/01/31 10:16]
дополнение по содержимому полей
wiki:создание_ppa [2013/03/23 14:07] (текущий)
[Шаг 2. Принятие Code of Conduct]
Строка 40: Строка 40:
  
 ===== Шаг 2. Принятие Code of Conduct ===== ===== Шаг 2. Принятие Code of Conduct =====
-Code of Conduct это документ,​ описывающий правила поведения в сообществе Ubuntu. Без подписания этого документа у вас не будет возможности использовать некоторые функции Launchpad, в том числе и создание PPA.+Code of Conduct это документ,​ описывающий правила поведения в сообществе Ubuntu. Без подписания этого документа у вас не будет возможности использовать некоторые функции Launchpad, в том числе и создание PPA. Перевод этого документа можно прочитать в статье [[conduct|Кодекс поведения Ubuntu]].
   * Перейдите по ссылке [[https://​launchpad.net/​codeofconduct]]   * Перейдите по ссылке [[https://​launchpad.net/​codeofconduct]]
   * Нажмите //Register an OpenPGP key//   * Нажмите //Register an OpenPGP key//
Строка 53: Строка 53:
   .. Это создаст подписанный вашим ключом файл UbuntuCodeofConduct-1.1.txt.asc .   .. Это создаст подписанный вашим ключом файл UbuntuCodeofConduct-1.1.txt.asc .
   * Перейдите на страницу [[https://​launchpad.net/​codeofconduct]] и нажмите на ссылку //Sign it!//. в появившееся поле //Signed Code// ввода вставьте все содержимое файла UbuntuCodeofConduct-1.1.txt.asc и нажмите //​Continue//​.   * Перейдите на страницу [[https://​launchpad.net/​codeofconduct]] и нажмите на ссылку //Sign it!//. в появившееся поле //Signed Code// ввода вставьте все содержимое файла UbuntuCodeofConduct-1.1.txt.asc и нажмите //​Continue//​.
- 
 ===== Шаг 3. Создание PPA ===== ===== Шаг 3. Создание PPA =====
 Перейдите на страницу своего профиля на Launchpad и найдите ссылку //Create a new PPA//. Перейдите на страницу своего профиля на Launchpad и найдите ссылку //Create a new PPA//.
Строка 59: Строка 58:
 Заполните поля //Display name// и //URL// . Поле //​Description//​ не обязательно для заполнения. При заполнении помните,​ что пользователи будут прописывать часть строки URL при добавлении PPA, поэтому его нужно делать максимально коротким,​ но при этом отражающем суть PPA. Описание //​Descriprion//,​ будет выводится пользователям в терминал,​ при добавлении PPA, поэтому тоже не усердствуйте с объемом. Заполните поля //Display name// и //URL// . Поле //​Description//​ не обязательно для заполнения. При заполнении помните,​ что пользователи будут прописывать часть строки URL при добавлении PPA, поэтому его нужно делать максимально коротким,​ но при этом отражающем суть PPA. Описание //​Descriprion//,​ будет выводится пользователям в терминал,​ при добавлении PPA, поэтому тоже не усердствуйте с объемом.
  
-===== Шаг 4. Загрузка пакетов в PPA =====+===== Шаг 4. Сборка пакетов для загрузки в PPA ===== 
 +Для загрузки в PPA используется специально подготовленные архивы source.changes,​ не пытайтесь загрузить в репозиторий .deb, пакеты. Инструкцию по "​дебианизации"​ исходных кодов можно посмотреть в статье [[создание_deb_пакетов|Сборка ПО и создание .deb-пакетов из исходников в Debian-системах]]. 
 + 
 +==== Версионность ==== 
 +Если вы пакуете пакет, который уже есть в репозитории Ubuntu, необходимо убедится,​ что: 
 +  * версия пакета,​ собранная вами заменяет существующую в репозитарии версию;​ 
 +  * следующие версии пакета из репозитория Ubunt заменят ваш пакет. 
 +Для того, чтобы добиться это используйте суффикс ppan (где n это номер ревизии пакета). Несколько примеров:​ 
 +  * пакет из репозитария Ubuntu myapp_1.0-1 → пакет в PPA myapp_1.0-1ppa1 
 +  * пакет из репозитария Ubuntu myapp_1.0-1ubuntu3 → пакет в PPA myapp_1.0-1ubuntu3ppa1 
 +Версии пакетов должны быть уникальными. Если вы хотите использовать один и тот же пакет для разных выпусков Ubuntu (при условии,​ что он будет работать без перекомпиляции),​ вы можете воспользоваться функцией [[#​Копирование пакета для других релизов Ubuntu|копирования пакетов]]. 
 + 
 +Если же пакет не работает в других выпусках без пересборки,​ то прибавляйте к версии суффикс ~имя_выпуска (например myapp_1.0-1ubuntu3ppa1~lucid) и загружайте каждую версию отдельно. 
 + 
 +==== Зависимости ==== 
 +Launchpad удовлетворяет сборочные зависимости (Build-Depends) используя:​ 
 +  * последние версии пакетов из PPA в который производится загрузка 
 +  * все секции основного репозитория Ubuntu --  то есть main, restricted, universe и multiverse 
 +  * опционально:​ другие PPA. 
 + 
 +===== Шаг 5. Загрузка пакетов в PPA =====
 Загрузка пакетов осуществляется утилитой ''​dput''​. Загрузка пакетов осуществляется утилитой ''​dput''​.
 <code bash>​sudo apt-get install dput</​code>​ <code bash>​sudo apt-get install dput</​code>​
-Перед загрузкой требуется ​правильно [[wiki:создание_deb_пакетов|подготовить исходный код]] ​пакетаПакет загружается командой + 
-<code bash>​dput ppa:​ваш_логин/​url_ppa ​<​source.changes></​code>​ +==== Настройка dput ==== 
-где <​source.changes>​ -- файл полученый во время подготовки исходного кода.+Для удобства стоит настроить dput, для этого необходимо отредактировать файл ~/.dput.cf и привести его к следующему виду: 
 +<code ini>​[ppa-stable] 
 +fqdn = ppa.launchpad.net 
 +method = ftp 
 +incoming = ~<​ваш_id>/<​имя_ppa>/​ubuntu/​ 
 +login = anonymous 
 +allow_unsigned_uploads = 0</​code>​ 
 +аш_id>- ID вашей учетной записи ​или команды, отображается в строке URL браузера 
 +<​имя_ppa>​- название ​выбранного PPA. 
 +Вы можете настроить dput для работы с любым количеством PPA. Для этого достаточно добавить ​в файл ~/.dput.cf еще одну секцию настроек, аналогичную приведенным выше. 
 + 
 +==== Загрузка пакета ​==== 
 +Пакет загружается командой 
 +<code bash>​dput ppa-stable ​<​source.changes></​code>​ 
 +где <​source.changes>​ -- файл полученный во время подготовки исходного кода. 
 + 
 +После успешной загрузки на почтовый ящик вашей учетной записи,​ а так же почтовый ящик, указанный в файле debian/​changelog придет уведомление об успешной или неуспешной загрузке архива. Что значат ошибки в письмах можно посмотреть [[https://​help.launchpad.net/​Packaging/​UploadErrors|здесь]]. В случае успешной загрузки,​ через некоторое время начнется сборка пакета для доступных архитектур,​ лог файл сборки будет доступен к просмотру онлайн,​ в просмотре подробностей к пакету на странице PPA, а так же, в случае ошибки,​ будет прислана ссылка на просмотр лога на почту. 
 + 
 +===== Копирование пакета для других релизов Ubuntu ===== 
 +Для того, чтобы пользователи различных версий дистрибутивов могли скачивать пакет с вашего репозитория,​ необходимо сделать следующее:​ 
 +  - Нажмите //View package details// 
 +  - Далее нажмите //Copy packages// и отметить пакеты,​ которые хотите "​размножить"​ 
 +  - Укажите //​Destination series// выбрав целевую версию дистрибутива. При этом, нужно поставить точку в пункте //Сopy existing binares//, что запретит пересборку пакета.
  
 ===== Ссылки ===== ===== Ссылки =====
   * [[http://​ky6uk.org/​launchpad-its-really-simple|Launchpad — это просто]]   * [[http://​ky6uk.org/​launchpad-its-really-simple|Launchpad — это просто]]
 +  * [[https://​help.launchpad.net/​Packaging/​PPA|Packaging/​PPA]] (англ.)
  
 {{tag> HOWTO launchpad разработка}} {{tag> HOWTO launchpad разработка}}