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

8

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

Например:

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

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

Куда делся весь этот упаковочный код?

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

Мур
источник

Ответы:

11

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

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

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

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

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

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

Базар сосредоточился на конкретном наборе вариантов использования и имел очень хорошо продуманный интерфейс командной строки. Jelmer Vernooij, один из его разработчиков, написал интересную ретроспективу о разработке 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.

Роби Басак
источник