Solved dire need of older package version (or port downgrade method)

I'm running Gitlab on one of our management server from packages.
Unfortunately there is a bug in Gitlab, and to fix it with a workaround (atm there is no fix for FreeBSD) I need to downgrade git to < 2.11 but > 2.7
Unfortunately http://pkg.freebsd.org/FreeBSD:10:amd64/ has nothing to offer, but only 2.11 or 2.6.
The system was running fine with 2.10 but since I've upgraded it's gone (it's not in my cache either).

Anyone has any idea how can I solve this problem? Where can I get an older package or install an older port version maybe?
Why the packages rolling out from quarterly isn't available anywhere at all?
 
You could download the old packages from the FreeBSD pkg repository:
http://pkg.freebsd.org/

Looking at the repository I see git-2.10 in the FreeBSD 10.1 pkg repo(assuming amd64).
http://pkg.freebsd.org/FreeBSD:10:amd64/release_1/All/

Using this approach I would pkg delete git and pkg autoremove to cleanup then switch your repository to the older version and pkg install git then switch your pkg repository back and lock the git pkg to prevent updates.
Dependency's are the real kicker here.

From freshports.org for git 2.11.1
Build dependencies:
  1. curl : ftp/curl
  2. p5-Error>=0 : lang/p5-Error
  3. xmlto : textproc/xmlto
  4. asciidoc : textproc/asciidoc
  5. docbook-xml>0 : textproc/docbook-xml
  6. autoconf-2.69 : devel/autoconf
  7. autoheader-2.69 : devel/autoconf
  8. autoreconf-2.69 : devel/autoconf
  9. aclocal-1.15 : devel/automake
  10. automake-1.15 : devel/automake
  11. gmake : devel/gmake
  12. msgfmt : devel/gettext-tools
  13. python2.7 : lang/python27
  14. perl5>=5.24<5.25 : lang/perl5.24
Runtime dependencies:
  1. curl : ftp/curl
  2. cvsps : devel/cvsps
  3. p5-Error>=0 : lang/p5-Error
  4. p5-Authen-SASL>=0 : security/p5-Authen-SASL
  5. python2.7 : lang/python27
  6. perl5>=5.24<5.25 : lang/perl5.24
Library dependencies:
  1. libexpat.so : textproc/expat2
  2. libpcre.so : devel/pcre
  3. libiconv.so : converters/libiconv
  4. libintl.so : devel/gettext-runtime
So with a list this involved the chance of this is not good in my opinion.
How do you handle the dependencies? Lock them in to old version too?
Bad scenario.
Would work fine on a fresh install but chances are you have other programs installed too.
Each with its own dependencies. Maybe to the latest Perl or Python version as well.

SirDice has the best solution here:
https://forums.freebsd.org/posts/344385/
 
You can download source code repository for FreeBSD ports and checkout older version of git, then compile. Hopefully that will just work.

https://github.com/freebsd/freebsd-ports/tree/d1492c33669523bf77affb5e108590701f408b1e/devel/git

Thanks for pointing me on this repo, I had no idea that Freebsd ports is available on Github!
I just created an alternative ports directory and cloned this repo, checked out the required commit version and compiled the port, it works!
 
You could download the old packages from the FreeBSD pkg repository:
http://pkg.freebsd.org/

Looking at the repository I see git-2.10 in the FreeBSD 10.1 pkg repo(assuming amd64).
http://pkg.freebsd.org/FreeBSD:10:amd64/release_1/All/

You made a mistake my friend, the package in release_1 is 2.1.0 and not 2.10 :)
So pkg method doesn't work at all, as there is no available package.

I used an alternative ports tree (see my comment above) and I was able to compile the git version 2.10_2 which has no serious dependency changes compared with 2.11
 
The link I provided has a direct link to git-2.1.0.txz
Yes I wrote the version wrong. The link is correct.

Yes the link is absolutely correct, but it has no use for me, as I was looking for git < 2.11 but > 2.7, which is unfortunately not available anymore as a package.
 
Back
Top