Как посмотреть, построен ли бинарный файл git против openssl или gnutls, если git-http-fetch не установлен? - PullRequest
0 голосов
/ 20 ноября 2018

Мне нужно проверить, установлена ​​ли установленная версия git на ряде систем против gnutls или openssl. метод для этого можно найти здесь , но полагается на наличие установленного двоичного файла git-http-fetch, для которого можно запустить "ldd git-http-fetch". Например, я вижу это на Ubuntu 16.04 с git 2.7.4. Я могу предоставить аргумент http-fetch для git для доступа к той же функции, но это не помогает, так как я хочу использовать ldd для проверки того, какие общие объекты будут связаны. Я мог бы просто выполнить git-транзакцию с помощью strace, а затем grep для фактически загруженных библиотек, но это требует конечной точки теста и кажется громоздким.

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

1 Ответ

0 голосов
/ 22 ноября 2018

Первый - поиск, какой пакет в Ubuntu предоставляет git-http-fetch

https://packages.ubuntu.com/search?suite=xenial&arch=any&mode=exactfilename&searchon=contents&keywords=git-http-fetch

В некотором смысле, к моему удивлению, ответ - пакет git, но файл похороненв / usr / lib / git-core / git-http-fetch и / usr / lib / git-core нет в моем PATH.

Поэтому следующая команда решает мою проблему.

ldd / usr / lib / git-core / git-http-fetch |grep gnutls

Замечание по Ubuntu 16.04 и более ранним версиям, обратите внимание на проблемы с пакетом git-all, которые, как я ошибочно предположил, могут помочь.Существует ошибка, которая означает, что она не будет установлена ​​правильно.Смотри https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164

...