Что делает *-dev, пакеты в хранилищах пакетов Linux на самом деле содержат?

Как Вы 'отмечаете' определенный набор изменений

, Как Вы 'отмечаете' 'тег' или 'выпускаете' определенный набор изменений для определенного набора файлов, таким образом, можно всегда вытянуть тот один позже?

Используя эти git tag команда.

Для простого "отмечания" текущего пересмотра Вы просто работали бы..

git tag -a thetagname
git tag -a 0.1
git tag -a 2.6.1-rc1 -m 'Released on 01/02/03'

Для списка текущих тегов просто работайте git tag без аргументов, или -l (нижний регистр L):

$ git tag -a thetagname # and enter a message, or use -m 'My tag annotation'
$ git tag -l
thetagname

Для удаления тега Вы используете эти -d флаг:

$ git tag -d thetagname 
Deleted tag 'thetagname'
$ git tag
[no output]

Для меток определенной (предыдущей) фиксации Вы просто делаете..

git tag [tag name] [revision SHA1 hash]

, Например:

git tag 1.1.1 81b15a68c6c3e71f72e766931df4e6499990385b

Примечание: по умолчанию мерзавец создает "легкий" тег (в основном ссылка на определенный пересмотр). "Правильный" путь состоит в том, чтобы использовать эти -a флаг. Это запустит Вашего редактора, просящего сообщение тега (идентичный выяснению сообщения о фиксации, можно также использовать эти -m флаг для предоставления сообщения тега на командной строке). Используя аннотируемый тег создает объект с его собственным идентификатором, датой, теггер (автор), и дополнительно подпись GPG (использующий эти -s тег). для получения дополнительной информации об этом, см. это сообщение

git tag mytagwithmsg -a -m 'This is a tag, with message'

И перечислять теги с аннотациями, используйте эти -n1 флаг для показа 1 строки каждого сообщения тега (-n245 для показа первых 245 строк каждой аннотации, и так далее):

$ git tag -l -n1
mytagwithmsg    This is a tag, with message

Для получения дополнительной информации, посмотрите тег мерзавца (1) Страница руководства

58
задан Mogsdad 17 January 2018 в 02:13
поделиться

4 ответа

Пакеты * - dev чаще всего содержат заголовки, относящиеся к интерфейсу библиотеки. Следующими наиболее распространенными являются файлы конфигурации пакета ( *. Pc ), описывающие параметры сборки и статически связанные библиотеки.

В общем, если вы хотите узнать содержимое установленного пакета, dpkg -L имя_пакета поможет вам в этом. Программа apt-file может сказать вам то же самое для любого пакета в репозиториях.

Также обратите внимание, что ответы Уильяма Перселла и caf содержат полезные дополнительные сведения. Если вы найдете их мнение полезным, проголосуйте за него.

44
ответ дан 24 November 2019 в 18:58
поделиться

(отказ от ответственности: я знаком с Debian, но не с Ubuntu, поэтому, хотя почти наверняка все, что я пишу ниже, применимо, есть шанс, что это не так.)

Еще один элемент в пакете * -dev - это ссылка /usr/lib/lib*.so. Пакет libfoo0 установит файл /usr/lib/libfoo.so.0.0, а libfoo-dev установит ссылки /usr/lib/libfoo.so.0 и /usr/lib/libfoo.so. Это механизм, который позволяет одновременно устанавливать libfoo0 и libfoo1, чтобы программное обеспечение, требующее старой библиотеки, могло сосуществовать на коробке с программным обеспечением, использующим новую библиотеку. Когда вы устанавливаете libfoo-dev, любое скомпилированное программное обеспечение будет следовать ссылке * .so и ссылаться на версию библиотеки, на которую ссылается эта ссылка.

28
ответ дан 24 November 2019 в 18:58
поделиться

Пакеты -dev обычно содержат файлы заголовков C и статически скомпилированные версии файлов библиотек (с расширением .a). Иногда они содержат дополнительную документацию и примеры или даже вспомогательные приложения.

17
ответ дан 24 November 2019 в 18:58
поделиться

Этот пакет содержит заголовки и другие файлы разработки, не включенные в основной пакет pidgin. Установите -dev, если вы хотите компилировать свои собственные плагины.

4
ответ дан 24 November 2019 в 18:58
поделиться
Другие вопросы по тегам:

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