PPA & Packaging: наявність версій пакетів для кількох дистрибутивів


36

(цитата з чату)

Отримав PPA на панелі запуску вихідних пакетів для проекту ботів IRC, з яким я пов'язаний (оскільки його вся проміжна упаковка для матеріалів між релізами класифікується як "експериментальна" PPA). Питання: Я вже упакував речі для чіткого складання. Будь-яка підказка, як я міг би створити ту саму упаковку, крім упаковки її для Maverick, і скласти її до тієї ж PPA, до якої я поклав ясну упаковку?

Відповіді:


42

Напевно, найпростіший спосіб - просто скопіювати двійкові файли на Launchpad:

  1. Перейдіть до свого PPA та натисніть "Переглянути деталі пакета":

    введіть тут опис зображення

  2. Клацніть на "Копіювати пакети":

    введіть тут опис зображення

  3. Виберіть пакети Lucid:

    введіть тут опис зображення

  4. Виберіть "Maverick" для серії та виберіть "копіювати наявні бінарні файли":

    введіть тут опис зображення

  5. Натисніть "Копіювати пакети", і це все!


Велике спасибі Ваші вказівки були помічені на місці . Дякую також за швидку відповідь.
Thomas Ward

@Evil: Немає проблем. Радий, що можу допомогти!
Натан Осман

4
ПРИМІТКА ДЛЯ ІНШИХ ЗАПИТАННІВ, ЩО СПІЛКУЮТЬ ТУТ !!! Копіювання існуючих бінарних файлів НЕ ВЖЕ ПРАЦЮЄ для програм, призначених для інших версій ubuntu! Перегляньте мій PPA rkhunter та зміни змін для версії Lucid, щоб зрозуміти, що я маю на увазі: launchpad.net/~trekcaptainusa-tw/+archive/rkhunter/+packages
Thomas Ward

@ThomasWard: Добре - це не завжди працює.
Натан Осман

2
@KhurshidAlam Вибачте за супер супер пізню відповідь. Це не вдасться з "Недійсним журналом змін", і, таким чином, вам потрібно спеціально позначати теги кожного окремо при використанні PPA з іншою версією. [ launchpad.net/~nginx/+archive/stable ] ( launchpad.net/~nginx/+archive/stable ) є хорошим прикладом цього, тому що для його побудови я повинен додати дистрибутив до версії, щоб вона будувалась правильно з усіма різними бібліотеками. (Я зараз підтримую папку команди nginx, тому я використовую це як приклад.)
Thomas Ward

11

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

Як перепакувати ще одну версію Distro

  1. Відредагуйте debian/changelogфайл у своєму каталозі вихідних пакетів
  2. Зміна як в версію і цільовий розподіл для відображення яких дистрибутива ви будуєте для

    Наприклад:nginx (1:1.4.1-0ubuntu1~preciseppa1) precise; urgency=low
  3. Відновіть вихідний пакет: debuild -S
  4. Завантажте .changesфайл у свій PPA:dput ppa:teward/nginx-stable-testing ../nginx_1.4.1-0ubuntu1~preciseppa1_source.changes

Якщо збірка успішна, то вітаємо, що ви тільки що створили пакет для цього дистрибутива! Якщо ні, вам доведеться перевірити журнал збірки на Launchpad та вирішити будь-які проблеми, які ви знайдете.

Список літератури:


Це я і роблю! : D MOTUs (боги сховища Всесвіту) пояснили це, коли мені потрібно було робити різні збірки для nginxта інших програм у рамках PPA, і вони допомогли вирішити багато моїх проблем. Дякуємо, що опублікували це! :)
Thomas Ward

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

Справді. Я не змінюю прийняту відповідь, тому що під час цього питання не потрібно було турбуватися про різні бібліотеки, доступні в різних версіях Ubuntu. З nginxабо rkhunterіншими пакунками, які я часто підтримую, виникає величезна проблема залежностей, яку потрібно вирішити (різні depends:в programversion-1~RELEASE0керуючому файлі та подібні), тому я завжди використовую де ~ RELEASE0 - це завжди якесь число з даним випуском, яке знаходиться в ньому. Debian до Ubuntu - це так :)
Thomas Ward

Так, залежність, безумовно, є больовим моментом у підтримці репортажу ;-) Я погоджуюсь, прийнятої відповіді має бути достатньо у більшості випадків, і для користувачів базових репортажів з контролю джерел базарного використання рецепт bzr-builder Launchpad теж виглядає привабливим. Однак, якщо мова йде про пакети з багатьма залежностями, іноді доводиться створювати спеціальний пакет для вашого цільового дистрибутива.
TrinitronX

І я підтримую nginxвід Debian Unstable до Precision, Quantal, Raring і Saucy (і довіряємо PPA, але я також впевнений, що Trusty, поки Debian не заморозить, отримає останнє з Debian, об'єднане в: P), для команди NGINX, але на жаль, іноді бувають помилки, з якими я не можу виправитись, і з Debian доводиться стикатися ... ось чому я маю добрі стосунки з підтримкою Debian :)
Thomas Ward
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.