Skip to content

Instantly share code, notes, and snippets.

@smiler
Created November 23, 2015 15:22
Show Gist options
  • Save smiler/a0770cb8dbf38f8169a2 to your computer and use it in GitHub Desktop.
Save smiler/a0770cb8dbf38f8169a2 to your computer and use it in GitHub Desktop.
#!/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/"
if ! grep -q "git-core" /etc/apt/sources.list /etc/apt/sources.list.d/*; then
sudo apt-add-repository -s ppa:git-core/ppa
else
echo "git-core already in ppa"
fi
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
if [[ "$@" == "-skiptests" ]]
then
sed -i -- '/TEST\s*=\s*test/d' ./debian/rules
fi
# Build it.
dpkg-buildpackage -rfakeroot -b
# Install
# git_2.6.3-0ppa1~ubuntu14.04.1_amd64.deb git-man_2.6.3-0ppa1~ubuntu14.04.1_all.deb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment