Где именно можно просмотреть весь исходный код на Launchpad?

Вопрос или проблема

Я всегда считал, что браузер исходного кода Launchpad крайне полезен, когда мне нужно дать ссылку на код упаковки в ответе. Шаблон URL достаточно прост (https://code.launchpad.net/ubuntu/+source/<package>), так что я часто могу просто заменить последнее слово после написания code в адресной строке. Но в последнее время я обнаружил, что найти фактический код упаковки становится все более непоследовательно.

Например:

  • GDM – здесь нет ничего новее 15.10 (wily). Но из журнала изменений ясно, что код упаковки изменился с тех пор.
  • Bash – это интересно. На этой странице есть ссылка на Git-репозитории на Launchpad, и там можно увидеть упаковку для более новых выпусков. Аналогично для apt, bash, git, grub2 и других.

Обратите внимание, что для упаковки GDM нет списка Git-репозиториев. Другие, как GDM: sam bazaar, LightDM, zsh, Chromium и другие.

Куда исчез весь этот код упаковки?

Обратите внимание, что я не хочу загружать код упаковки, для этого у меня есть apt-get source. Я не хочу просматривать исходный код программного обеспечения, я посмотрю за пределами LP для этого (если, конечно, программное обеспечение не разрабатывается на LP). Я хочу просматривать код упаковки для Ubuntu в сети и иметь возможность ссылаться на него. Для Debian я обычно могу найти упаковку на Alioth.

Краткий ответ: чтобы получить все, вам нужно загружать исходные пакеты по отдельности; единого публичного сервиса для просмотра Ubuntu сегодня нет. Но мы работаем над этим!

Длинный ответ:

Канонический исходный код всего Ubuntu доступен в виде исходных пакетов. Вы можете зайти на https://launchpad.net/ubuntu/+source/hello, например, кликнуть на один из номеров версий, и вы сможете скачать исходники из раздела Загрузки. Чтобы найти исходные коды для каждой версии hello, когда-либо опубликованной Ubuntu, вы можете перейти по ссылке для просмотра полной истории публикаций и кликнуть на любую строку с номером версии оттуда. Тот же шаблон URL работает для любого исходного пакета; вам просто нужно знать имя исходного пакета.

Исходные пакеты являются каноническими, потому что они являются базовой единицей, с которой работают разработчики Ubuntu для разработки Ubuntu. Но они довольно громоздки; для распаковки исходного пакета требуется некоторое программное обеспечение. dget из пакета devscripts может загрузить, проверить и распаковать исходный пакет одной командой, если вы укажете ему URL файла dsc.

Это, конечно, не очень удобно.

Много лет назад была предпринята попытка сделать это лучше. Ubuntu называла его “Ubuntu Distributed Development”, или UDD, и разработала распределенную систему управления версиями под названием Bazaar, чтобы попытаться решить эту проблему. В рамках этой инициативы исходные пакеты автоматически импортировались в платформу хостинга VCS Bazaar на Launchpad по мере их публикации. В то время вы теоретически могли найти исходный код любого пакета на code.launchpad.net. Например, вы все еще можете увидеть импортированные Bazaar исходники пакета hello для выпусков Ubuntu Precise и Trusty на https://code.launchpad.net/ubuntu/+source/hello.

Bazaar сосредоточился на определенном наборе случаев использования и имел очень продуманный интерфейс командной строки. Джелмер Верной, один из его разработчиков, написал интересное ретроспективное рассмотрение разработки Bazaar, включая то, как он вписывался в другие распределенные системы управления версиями, разрабатываемые в то время.

Со временем git захватил мир, и Bazaar отошел на второй план. Тем временем, UDD начал показывать свои трещины. Все большее количество пакетов не удавалось импортировать и требовало ручного вмешательства для исправления. Это означало, что даже по мере продолжения разработки Ubuntu на исходных пакетах вид Bazaar этих пакетов на code.launchpad.net не обновлялся.

В конечном итоге импортер UDD был отключен из-за отсутствия обслуживания и он не считался достойным поддержания его работы.

Одновременно с этим в 2014 году я опубликовал несколько заметок о том, как я использую git для разработки Ubuntu; даже несмотря на то, что в то время пакеты Ubuntu в целом не поддерживались в git.

Эта работа на основе git была принята моей командой (командой Ubuntu Server), и мы продолжили работать над тем, чтобы сделать исходники Ubuntu доступными через git. Мой коллега и я начали писать серию блогов (еще не завершенную), объясняющую, что мы делаем.

Git-репозитории, которые вы нашли для некоторых пакетов, являются результатом работы нашего импорта (~usd-import-team). Мы еще активно работаем над этим, поэтому не все пакеты доступны таким образом. Мы еще не на “бета”-стадии, ожидаем повторного импорта всех пакетов, прежде чем мы будем готовы (ломая все предыдущие хэши коммитов), и не поддерживаем все импортированные репозитории в актуальном состоянии с последней работой разработки Ubuntu. Но когда мы импортировали конкретную версию пакета, ее должно быть достаточно точно для просмотра.

Мы надеемся ускорить процесс импорта всех пакетов и автоматического их обновления в ближайшие месяцы.

Один из наших целей – именно решить поднятый вами вопрос: создать одно официальное место на Launchpad, где весь исходный код Ubuntu можно будет просматривать.

Ответ или решение

На вашей платформе вопросов и ответов задан вопрос о том, где именно можно просматривать исходный код на Launchpad, особенно с учетом его использования для связывания с кодом упаковки в ответах. Пользователь отмечает, что ранее использовался простой шаблон URL, однако теперь наблюдается некоторая несогласованность в нахождении актуального кода упаковки. Рассмотрим данную ситуацию подробно посредством анализа текущего состояния доступа к исходному коду на Launchpad, в контексте истории проекта и использования различных систем контроля версий.

Теория (Theory):
Launchpad является мощным инструментом для разработчиков, предоставляющим функциональность для управления проектами, отслеживания ошибок и совместной работы над исходным кодом. Однако основной интерес в данном случае сосредоточен на репозиториях исходного кода, особенно на коде упаковки, который управляет тем, как программное обеспечение интегрируется в операционную систему, такой как Ubuntu. До недавнего времени основным способом хранения и просмотра этого кода являлись репозитории, связанные с системой контроля версий Bazaar, которая ранее использовалась в проекте "Ubuntu Distributed Development" (UDD). Однако в течение времени Bazaar уступила лидерство в индустрии Git, и это привело к ряду трудностей в поддержке и актуализации кода на Launchpad.

Пример (Example):
Вопрос пользователя иллюстрирует реалии этих изменений: ссылка на код упаковки для пакета gdm3 показывает, что код не обновлялся с версии 15.10 (wily), хотя очевидно, что с тех пор были внесены изменения. В то время как для других пакетов, таких как bash, есть указание на существование репозиториев Git на Launchpad, что позволяет получить доступ к более новым версиям кода упаковки. Но для gdm3 и нескольких других пакетов таких обновлений нет, и доступ к ним затруднен.

Применение (Application):
Чтобы понять, где в действительности находится весь исходный код упаковки на Launchpad, необходимо рассмотреть несколько точек:

  1. Исходная доступность кодов упаковки: Каждый исходный пакет Ubuntu может быть загружен с Launchpad, следуя шаблону URL https://launchpad.net/ubuntu/+source/<пакет>. Там вы можете найти историю публикаций и скачать исходные файлы из секции загрузок.

  2. Переход к Git: Из-за множества проблем с UDD и системой Bazaar начался процесс перехода к использованию Git. Некоторая часть кода уже была перенесена, и новые репозитории Git начали появляться на Launchpad. Однако процесс еще не завершен, и не все пакеты доступны таким образом.

  3. Будущие усилия по улучшению: Ведутся работы по автоматическому импорту всех пакетов и их поддержке в актуальном состоянии. Команда Ubuntu Server активно занимается этой задачей, но пока она находится в стадии доработка, и данные могут быть не всегда актуальны.

Заключение:
На данном этапе, для получения наиболее актуального кода, может потребоваться скачать исходные пакеты или искать их в репозиториях Git, где они доступны. В будущем, благодаря усилиям команды, планируется создание единого официального места на Launchpad для просмотра всего исходного кода Ubuntu, что значительно упростит доступ к кодам упаковки и сделает их посекундно актуальными и легко доступными. Непосредственно сейчас, пользователям, возможно, придется полагаться на комбинацию методов для нахождения нужного кода, что действительно создает определенные сложности в работе с Launchpad.

Оцените материал
Добавить комментарий

Капча загружается...