Як скопіювати пакет з Debian в мій PPA?


10

Я хотів би додати останній пакет гурманів від Debian sid до PPA нашої команди, щоб користувачі Ubuntu, які хотіли б запустити оновлену версію Gourmet, могли додати цей PPA до своїх програмних джерел. (В залежності від залежності, це не повинно бути проблемою, оскільки майже всі наші поточні залежності вже доступні у всіх підтримуваних версіях Ubuntu.)

Я завантажив *.dscфайл і debian і orig tarballs, і навіть зрозумів, що можу використовувати це для source.changesфайлу пакета . Я також завантажив відкритий ключ технічного обслуговування Debian, щоб dputможна було перевірити пакет. Потім я спробував завантажити пакет до нашого PPA за допомогою dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes(я також пробував без тилди.) Це, здавалося, вдалося, але я не отримав електронну пошту з підтвердженням, і в нашому PPA зараз не відображаються жодні пакунки , що призводить мене до того, що я вважаю що пакет був відхилений, оскільки ключ підтримувача Debian, очевидно, не є ключем членів нашої команди.

То який найпростіший спосіб "скопіювати" пакет з Debian (sid) на PPA Launchpad PPA? Мені дійсно потрібно відновити весь пакет локально, перш ніж я можу завантажити його?


BTW, оскільки версія розробки Ubuntu автоматично синхронізує свої пакети з Debian (до DebianImportFreeze, тобто), я з радістю прийму відповідь, яка мені скаже, як скопіювати пакет з Utopic.
Бернхард Рейтер

Відповіді:


12

Вам потрібно відновити вихідний пакет локально перед завантаженням, щоб налагодити журнал змін та відновити файл змін. Хоча резервне копіювання пакету є досить поширеним завданням, це було написано в сценарії. Перевірте backportpackage Піктограма manpageкоманду ubuntu-dev-toolsВстановіть ubuntu-dev-інструменти .

Щоб підтримати пакет із Debian, просто надайте цільову дистрибутивні серії, PPA та файл dsc для цього пакета:

backportpackage -d trusty -u ppa:gourmet/ppa http://ftp.de.debian.org/debian/pool/main/g/gourmet/gourmet_0.17.3-1.dsc

Ще простіше підтримувати пакет з одного випуску Ubuntu в інший, оскільки вам не потрібно знаходити файл dsc. Скажімо, ми хочемо підтримувати від утопічного до надійного:

backportpackage -s utopic -d trusty -u ppa:gourmet/ppa gourmet

Дивовижно! Єдине, що мені трохи нагадує помилку - це те, що пакет потрапив до мого особистого PPA (~ ockham-razor / ppa), хоча я передав ~gourmet/ppaяк аргумент -uпараметру. (Але мені, на щастя, вдалося скопіювати це з мого PPA в команду гурманів через Launchpad.)
Bernhard Reiter

1

Є кілька способів зробити це.

Коли я робив це для Rhythmbox, я дотримувався наступного сигналу:

а. Візьміть вихідний файл і файли debian

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

б. Відключіть джерело (.orig.tar.xz)

c. перейменуйте папку-джерело щось подібнеrhythmbox-3.0.3

c. розпакуйте файл debian (.debian.tar.xz)

г. перемістіть папку debian у вихідний каталог

е. dch -iщоб змінити файл змін

f. змінити "нестабільне" ім'я пакета на ім'я цілі ubuntu - тут я використав точну 12.04. Змініть версію відповідно до свого додатка. Тут ритмбокс був 3.0.3 - тому я щойно додав-1~ppafossfreedom

rhythmbox (3.0.3-1~ppafossfreedom) precise; urgency=low

  * rebuild

 -- fossfreedom <fossfreedom@somewheremail.com>  Thur, 07 Jun 2012 13:19:18 +0100

г. створити новий вихідний пакет:dh_build --createorig

год. Створіть просто джерело за допомогою свого ключа: debuild -S -k0xABCDEFGде ABCDEFGваш ключ

i. завантажте свій пакет для будівництва:

cd ..
dput ppa:fossfreedom/rhythmbox rhythmbox_3.0.3-1_sources.changes    

Ну, це в основному відновлення пакету. Ну добре. Я сподівався на якийсь простіший спосіб, але я думаю, що такого немає.
Бернхард Рейтер

Погляньте на dgetкоманду з devscriptsпакету. Це досить спростить це.
andrewsomething

@andrewsomething - перетворіть це на відповідь із прикладом :) - Мені буде цікаво подивитися, чи може це спростити також упаковку.
fossfreedom

Ну, я маю зовсім іншу відповідь, але ви все ж повинні дізнатися про dget=) Файл dsc містить всю інформацію про інші частини вихідного пакету. Тож dgetзахопить усе і вилучить його правильно, якщо ви дасте посилання на файл dsc. dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc
andrewsomething

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