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

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

Например:

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

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

Куда делся весь этот код упаковки?

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

8
задан 22 November 2017 в 11:17

1 ответ

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

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

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

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

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

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

Bazaar сосредоточился на конкретном наборе вариантов использования и имел очень хорошо продуманный интерфейс командной строки. Jelmer Vernooij, один из его разработчиков, написал интересную ретроспективу о разработке Bazaar , в том числе о том, как это согласуется с другими распределенными системами контроля версий, разрабатываемыми в то время.

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

В конце концов, импортер UDD был отключен , потому что никто не поддерживал его, и не считалось, что его стоит поддерживать.

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

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

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

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

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

11
ответ дан 22 November 2017 в 11:17

Другие вопросы по тегам:

Похожие вопросы: