Как я могу создать свой собственный репозиторий

18

Я заядлый разработчик, но на самом деле я никогда не удосужился настроить собственный PPA - как бы кто-то поступил так? Общие проблемы встречались? Как получить исходный код для компиляции в пакеты на PPA?

Марко Чеппи
источник

Ответы:

15

Зарегистрируйтесь на Launchpad, как сказал txwikinger, тогда вам нужно сгенерировать ключ GPG

gpg --gen-key

и загрузить его на сервер ключей Ubuntu

gpg --keyserver keyserver.ubuntu.com --publish-keys $KEYID

Замена $KEYIDна число после косой черты в строке «sec»:

gpg -K --fingerprint

Нажмите зеленый + рядом с ключевой частью GPG в вашем профиле и дайте ему отпечаток ключа от предыдущей команды. Вы получите зашифрованное письмо. Расшифруйте его (настройте свой ключ GPG в почтовом клиенте, чтобы сделать это проще), затем щелкните ссылку внутри, чтобы убедиться, что вы являетесь владельцем ключа.

Нажмите на страницу launchpad.net, чтобы создать новый PPA

Следуйте инструкциям по упаковке Source Lab, но в отличие от того, что сказал Txwikinger, вы не загрузите деб. Это потому, что deb - это двоичный пакет, а PPA принимает пакеты с исходным кодом. После того, как у вас есть 4 необходимых файла (/ debian / rules / debian / changelog / debian / control и / debian / copyright) в каталоге с исходным кодом и оригинальный архив исходного кода вне его, запустите

debuild -S -sa

Будет сгенерирован исходный пакет, состоящий из .debian.tar.gz (если используется исходный формат 3.0) или .diff.tar.gz вместе с файлами .dsc и .changes. .Dsc и .changes должны быть подписаны, поэтому вам нужно будет ввести вашу парольную фразу GPG дважды. Требуется -saтолько при первой загрузке этого пакета в PPA. Более поздние исправления, вы можете пережить это.

Тогда вы будете работать:

dput ppa:youruser/ppa *.changes

Очевидно, заполнив свое собственное имя пользователя, и если вы выбрали нестандартное имя для PPA, поместите его после косой черты. Страница PPA на Launchpad расскажет вам точный синтаксис ppa :.

MACO
источник
В 14.04 gpg --keyserver keyserver.ubuntu.com --publish-keys $KEYIDбудет в конечном итоге с ошибкой: gpg: Invalid option "--publish-keys". --send-keysВместо этого следует использовать следующее : gpg --keyserver keyserver.ubuntu.com --send-keys $KEYIDсогласно askubuntu.com/questions/220063/… .
Ландрони
4

Есть несколько инструментов, которые помогут вам загрузить исходные файлы tarballs + debian control-файлы в PPA на панели запуска. И это скажет вам, как . Но загрузка пакета - очень маленькая часть всего этого ...

Настроить среду сборки и инфраструктуру пакетов Debian (.deb) непросто! Это требует хорошего понимания структуры пакета и того, как работают различные типы сценариев (в частности, сценарии Make и Shell).

Я нашел эти два руководства очень полезными, когда я
упаковывал руководство по упаковке .deb для Ubuntu Руководство для
новых сопровождающих Debian

Внимательно прочитайте все руководство по упаковке Ubuntu, и вы должны быть на пути к победе!

LassePoulsen
источник
0

Вы регистрируете учетную запись на https://launchpad.net, на своей домашней странице вы можете запустить свой собственный ppa. PPA размещается на панели запуска.

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

Более подробную информацию об упаковке можно найти в вики о упаковке .

txwikinger
источник
Я думаю, что это больше, чем я был заинтересован. Я знаю, что ppa использует Bazaar для управления исходным кодом (я думаю), поэтому я просто передаю свой код в PPA и BLAM! Пакеты, или я упрощаю это?
Марко Чеппи
1
Базар и PPA - это несколько разные вещи. Вы можете использовать bazaar для контроля ревизии вашего полного пакета (включая дополнения .deb для управления пакетами), но bazaar не понадобится как таковой, как и упаковка для вас. Bazzar - это, по сути, центральная ветвь вашего контроля версий bzr, которая имеет дополнительное управление правами пользователей через панель запуска.
txwikinger
бзр как мерзавец но проще. Это на самом деле не связано с упаковкой. Есть рецепты для ежедневных сборок от bzr, которые теперь доступны для бета-тестеров Lauchpad, но вам все еще нужно создать упаковочную ветку.
Мак