-
-
Save ddelange/e4766e56d422881e061f8758a0ba8061 to your computer and use it in GitHub Desktop.
compile git with openssl instead of gnutls
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# original gist from pescobar/build-git.sh | |
# changes by LaggAt: | |
# * to be usable on Raspbian / tested RPi3 and | |
# * for automatic depency resolving | |
# changes by ivan-c: | |
# * add `apt-get update` | |
# changes by ddelange: | |
# * add `set -euxo pipefail` | |
# * remove `--allow-downgrades` | |
set -euxo pipefail | |
# Clear out all previous attempts | |
rm -rf "/tmp/source-git/" | |
# Get the dependencies for git, then get openssl | |
sudo apt-get update | |
sudo apt-get install build-essential fakeroot dpkg-dev -y | |
sudo apt-get build-dep git -y | |
sudo apt-get install libcurl4-openssl-dev -y | |
mkdir -p "/tmp/source-git/" | |
cd "/tmp/source-git/" | |
apt-get source git | |
# We need to actually go into the git source directory | |
# find -type f -name "*.dsc" -exec dpkg-source -x \{\} \; | |
cd $(find -mindepth 1 -maxdepth 1 -type d -name "git-*") | |
pwd | |
# This is where we actually change the library from one type to the other. | |
sed -i -- 's/libcurl4-gnutls-dev/libcurl4-openssl-dev/' ./debian/control | |
# Compile time, itself, is long. Skips the tests. Do so at your own peril. | |
sed -i -- '/TEST\s*=\s*test/d' ./debian/rules | |
# Build it. | |
dpkg-buildpackage -rfakeroot -b | |
# Install (only git, git-man) | |
cd .. | |
sudo apt -y install ./git-man_*.deb ./git_*.deb |
Author
ddelange
commented
Aug 29, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment