Я хотел бы создать обновленную версию пакета network-manager-openconnect в Ubuntu. По-видимому, мне нужно получить последний источник пакета:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
Тогда что? Пакет, похоже, имеет возможность обновлять себя из последнего вышестоящего кода с помощью git. Но как мне заставить это сделать?
installation
network-manager
launchpad
package-management
Джеймс Уорд
источник
источник
Ответы:
Сборка обновленного пакета из ветки bzr может значительно отличаться в зависимости от того, кто поддерживает ветки или как пакет работает в целом. Тем не менее, вот несколько рекомендаций по быстрому и грязному обновлению практически любого пакета, которые должны быть переданы в PPA:
Получить ветку:
Затем переключитесь на него и обновите список изменений:
dch -i просто откроет новую запись в debian / changelog, увеличив ревизию версии на единицу. Если вы хотите добавить патч, это прекрасно, но если вы хотите обновить его до более новой версии вышестоящего программного обеспечения, вам нужно обновить номер версии до тире (-). Скажем, версия в 1.2-0ubuntu1 , если вы запустите dch -i, она изменится на 1.2-0ubuntu2 , что хорошо для исправления, но если вам нужна новая версия, вы, вероятно, захотите изменить ее на 1.3-0ubuntu1 .
Если вам нужно исправить, сейчас самое время добавить свои изменения. В ветвях, в которых есть только каталог debian / , вы можете использовать bzr bd-do (требуется пакет bzr-builddeb), чтобы переключиться на рабочее дерево, где вы можете вносить изменения, использовать quilt или любую систему исправлений, а затем «выйти из 0», чтобы скопировать ваши изменения обратно.
Если вы хотите новую версию для апстрима, после изменения журнала изменений вы, вероятно, выполните команду, подобную этой:
Обычно вы загружаете нужный tarball от вышестоящего издателя, чтобы начать работу. Если необходимы дальнейшие изменения, продолжайте, как описано выше, для «исправления» или изменения других файлов в каталоге debian / , иначе вы почти закончили:
BZR BD позаботится о строительстве. Вызов его без аргументов начинает строить в вашей системе, в то время как вызов с -S говорит ему подготовить пакет с исходным кодом, который будет включать файл ..._ source.changes, который вы хотите загрузить в свой PPA (используйте dput ppa: <ваше имя> / <имя вашего ppa> <файл изменений> для этого).
Для пакетов NetworkManager это немного отличается. Давайте посмотрим на openconnect конкретно:
Убедитесь, что у вас есть все зависимости сборки: sudo get-build-deps
Получив ветку, вы прочитаете файл debian / control и попытаетесь загрузить все, что вам нужно для сборки network-manager-openconnect. Возможно, вам тоже нужен Git. Как только это будет сделано, запустите get-orig-source, чтобы получить только архив самого последнего снимка с git:
Вы увидите пролетающий текст и появится тарбол с длинным номером версии. Это последний код, который вы можете получить для nm-openconnect.
Затем вам нужно будет обновить список изменений, указав номер версии из архива, просто сохранив суффикс -0ubuntu1 без изменений.
Или измените debian / changelog на нужный номер версии, затем запустите: debian / rules get-current-source
Поскольку плагины не сильно меняются, вы можете просто собрать пакет оттуда, используя bzr bd, как указано выше. Если нет, примените любые необходимые изменения, как указано выше.
Не забудьте bzr commit после внесения изменений.
Сначала я забыл добавить, не стесняйтесь использовать систему предложений о слиянии ( предложите объединить ссылку на страницу вашего филиала на LP), когда изменения, которые вы делаете, могут принести пользу другим. Обычно вы можете просто предложить слияние с веткой, на которой основана ваша ветка (например, lp: ~ network-manager / network-manager / openconnect-ubuntu.head в этом случае).
источник
Хорошо, обновлено, как вытащить код из стартовой панели
Что это за доза, тащить код из lp (сервис хостинга launchpad). Нам нужно найти, где находится код.
Попробуйте перейти в каталог, в котором вы хотите работать, или добавить каталог, куда вы и код перейдете.
Если вы уже сделали это, возможно, у вас есть каталог в вашей домашней директории
В этом каталоге должно быть поле README, чтобы увидеть, что там должно быть, посмотрите код проекта , вот ссылка на README.source
У README должны быть инструкции по созданию этого индивидуального проекта.
Другие полезные инструменты для установки bzr
Bzr-explorere позволит вам просматривать ваши репозитории bzr, которые вы создали на своей машине, в графическом интерфейсе.
Еще одна заметка. Вам может потребоваться получить весь источник сетевого менеджера, чтобы создать один компонент openconnect. Может быть много зависимостей и между различными компонентами.
Вам необходимо создать исправление для текущего пакета opneconnect, а затем создать патч, используя все инструменты diff, которые вы используете. И отправьте его сопровождающему пакета.
Или, если вы хотите использовать новый пакет исправлений локально, вы хотите создать файл пакета .deb.
Создание пакета, это довольно сложным, прочитайте следующие ссылки
источник