Created
September 21, 2019 04:07
-
-
Save jc-torresp/6383e8c9af92e63eb3a493f095924bfe to your computer and use it in GitHub Desktop.
Compile git with openssl instead of gnutls (Tested on Windows Subsystem for Linux)
This file contains hidden or 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 | |
# Clear out all previous attempts | |
rm -rf "/tmp/source-git/" | |
#before apt-get update source list under /etc/apt/sources.list | |
#deb-src http://archive.ubuntu.com/ubuntu trusty main restricted #Added by software-properties | |
#deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty restricted main universe multiverse #Added by software-properties | |
#deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates restricted main universe multiverse #Added by software-properties | |
#deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #Added by software-properties | |
#deb-src http://security.ubuntu.com/ubuntu trusty-security restricted main universe multiverse #Added by software-properties | |
#deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-proposed restricted main universe multiverse #Added by software-properties | |
# Get the dependencies for git, then get openssl | |
sudo apt-get update | |
sudo apt-get install build-essential 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 -rsudo -b | |
# Install | |
find .. -type f -name "git_*ubuntu*.deb" -exec sudo dpkg -i \{\} \; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment