Wednesday, December 25, 2019

git - строю из исходника на CentOS 6

Я решила освежить свои знания о git.

Пройти курс на GitHub? Почему бы и нет. Но git-ские шаловливые ручки могут перепортить мне рабочие настройки, так что лезть туда основным пользователем не стоит.
Старая машина с CentOS 6 пылится под столом, и никому нет до нее дела. Не пройти ли курс на ней?

$ git --version
$ git version 1.7. ..
(не помню последнюю цифру)

Обновить не получается: репозиторий RHEL предлагает ту же старую версию.
Добавить другой репозиторий и посмотреть, что там найдется?.. Или просто построить из исходника?

Тащу исходник:

$ mkdir gitsource
$ cd gitsource
$ git clone https://github.com/git/git

Теперь мой исходник сидит в gitsource/git. Как бы это построить? В исходниках инструкций не вижу, лезу в Гугль.

Вот здесь коротко и конкретно. Делаю все, как написано:

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
$ yum install gcc perl-ExtUtils-MakeMaker

Это приносит мне старенький gcc 4.4.7 и прочее того же возраста.

Попробую построить:

$ cd git $ make prefix=/usr/local/git all

Побежало ... Ой, что это?!? "git-http-fetch error 1" ...

Гуглю ошибку и вижу, что ответы не в тему. Смотрю выше по терминалу. Судя по логу, компилятор полез куда-то явно не туда. Проверяю PATH. Так и есть, кто-то умный, скорее всего я сама или инсталлер anaconda, влепил путь к ней в самое начало. Удаляю лишнее.

Вроде, больше ошибок нет

$ make prefix=/usr/local/git install
$ echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

Не лучшая идея менять PATH глобально, только что напоролась, но так хоть в конец добавляю.

Проверим, что построилось:

$ git --version
$ git version 2.24.GIT
Можно начинать учиться.