Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
compile git with openssl instead of gnutls
#!/usr/bin/env bash
# Clear out all previous attempts
rm -rf "/tmp/source-git/"
# Get the dependencies for git, then get openssl
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
find .. -type f -name "git_*ubuntu*.deb" -exec sudo dpkg -i \{\} \;
@sergey-suloev

This comment has been minimized.

Copy link

commented Dec 10, 2017

user@ubuntu:~$ sudo apt-get build-dep git -y
[sudo] password for user:
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list

@xu48169172

This comment has been minimized.

Copy link

commented Jan 7, 2018

delete # berfore deb-src in /etc/apt/source.list, then run apt-get update

@chenhu66

This comment has been minimized.

Copy link

commented Feb 5, 2018

I came across a signature issue the first time i tried the build. After googling a while, i found a workaround and would like to share it with you:

dpkg-buildpackage -rfakeroot -b -uc -us

@paul-nelson-baker

This comment has been minimized.

Copy link

commented Dec 29, 2018

This looks like an old revision of my script! 😄
I've updated it recently, which means you can look here for the most recent fixes

https://github.com/paul-nelson-baker/git-openssl-shellscript

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.