Как узнать исходный репозиторий пакета в Debian?

9

В Debian, AFAIK, некоторые пакеты поддерживаются в Subversion (например, team-pkg-gnome), тогда как некоторые поддерживаются в git, а другие - в некоторых других VCS.

Есть ли способ узнать, где находится источник пакета, не делая apt-get source $PACKAGENAME?

Я попробовал три метода, и все не удалось: -

$apt show $PACKAGENAME
$aptitude show $PACKAGENAME 
$apt-cache show $PACKAGENAME 

Ни один из вышеперечисленных не может предоставить / поделиться этой информацией.

Есть ли в любом случае, чтобы получить информацию. Мне нужно знать исходный репо. имя и будь то в git, svn или какой-либо другой версии управления.

Shirish
источник
Политика apt-cache <пакет>. Дубликат: superuser.com/questions/106794/...
h3rrmiller
@ h3rrmiller, показывающий, откуда загружен пакет, а не где размещен исходный код пакета.
Эван Кэрролл

Ответы:

8

Использование инструментов CLI

Как указывает derobert , пакеты Debian, которые поддерживаются в VCS, должны указывать это в паре Vcs-...полей в их пакете с исходным кодом.

Лучший инструмент для использования этой информации debcheckoutв devscriptsпакете, или apt-cache showsrc. Оба они покажут вам gnome-disk-utilityинформацию о хранилище.

apt-cache showsrc gnome-disk-utility

покажет всю информацию, содержащуюся в пакете с исходным кодом, включая ссылки на VCS ( Vcs-Browerдает ссылку для использования в браузере, Vcs-Gitдает ссылку для клонирования репозитория git, предполагая, что репозиторий использует git):

Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-disk-utility
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-disk-utility.git

в то время как

debcheckout -d gnome-disk-utility

будет показывать только информацию о VCS и соответствующие данные (если пакет размещен в VCS).

Проверять, выписываться

Если вы хотите проверить источник,

debcheckout gnome-disk-utility

сделаю это для вас.

Веб интерфейс

Вы также можете увидеть эту информацию в Debian Package Tracker , который будет ссылаться на VCS, где находится пакет (если он есть).

Стивен Китт
источник
11

Многие пакеты включают это в свою контрольную информацию в Vcs-*полях. Вы можете увидеть это легко (без загрузки исходного пакета), используя apt-cache showsrc.

$ apt-cache showsrc gnome-disk-utility
⋮
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-disk-utility
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-disk-utility.git
⋮

Поэтому в этом случае вы можете git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.gitскачать исходный код или просмотреть его в Интернете по адресу https://salsa.debian.org/gnome-team/gnome-disk-utility .

Не во всех пакетах есть Vcs-*поля. Они могут отсутствовать, потому что сопровождающий не использует VCS (или, по крайней мере, не общедоступную) или не добавил заголовки по какой-либо другой причине. apt-get source packagenameвсегда получит источник, хотя и не через VCS. Точно так же вы можете просмотреть все источники онлайн на http://sources.debian.net/

(Примечание: вам понадобятся deb-srcстроки в вашем sources.listфайле.)

Обновление: Стивен Китт указывает debcheckout -d; Впервые я услышал об этом тоже. Смотрите (и воздержитесь) ответ Стивена Китта для деталей.

derobert
источник
1

Вы не совсем правы: источник Debian код в исходных пакетов: вам нужно несколько строк с deb-srcвашей , /etc/apt/sources.listкак , например ,

 deb-src http://ftp2.fr.debian.org/debian/ jessie main contrib non-free

(адаптируйте это к вашей географии и привычкам)

Затем вы можете попросить, чтобы этот исходный код был собран из исходного кода, например, aptitude build(и вы можете использовать его aptitude build-depдля установки пакетов, необходимых для этой сборки).

Сопровождающие Debian упаковывают исходный код, добавляя свои исправления относительно некоторого верхнего уровня программного репозитория. В этом репозитории программного обеспечения верхнего уровня используется (или, возможно, нет) система управления версиями, которую они хотят использовать.

Василий Старынкевич
источник