For compatibility reasons, I want to install subversion-1.4.4-r4
rather than the latest.
2 Answers
As webdestroya said, you'll need to find the old ebuild and put it in an overlay. The first part of that is easy enough, since the Portage tree is stored in a CVS repository which is browsable online (you can also check out a copy if you want, although to get just one ebuild that's unnecessary). Here's a direct link to the dev-util/subversion
folder which will show you ebuilds for all versions of Subversion going back to... well, far earlier than you need.
Once you get the ebuild, you should put it into a local overlay, which is also reasonably easy. If you already have a local overlay you know how to do this ;-) but if not: Create the directory /usr/local/portage/dev-util/subversion
. Within it you'll need to set up the following structure:
subversion/
|- subversion-1.4.4-r4.ebuild
|- files/
|- subversion-1.4-db4.patch
|- subversion-1.1.1-perl-vendor.patch
|- subversion-hotbackup-config.patch
|- subversion-1.3.1-neon-config.patch
|- subversion-apr_cppflags.patch
|- subversion-1.4.3-debug-config.patch
|- subversion-1.4.3-neon-0.26.3.patch
where all the files should be downloaded from the CVS repository's web interface. Once you have the files in place, run
ebuild /usr/local/portage/dev-util/subversion/subversion-1.4.4-r4.ebuild manifest
which will create the manifest file that lists checksums and file sizes for the ebuild, the patches, and the source archive. (If this were a more recent ebuild, you'd be able to download the manifest from the CVS repository, but back when this ebuild was current, Portage used a different system for checking file integrity.)
Finally, once the files are in place, add the line
PORTDIR_OVERLAY="/usr/local/portage"
to your make.conf
. You should then be able to emerge =dev-util/subversion-1.4.4-r4
. No guarantee that the compilation will succeed, though...
If you want to install something that is not in the portage tree, you will have to find/create the ebuild yourself.
From there you can add it into the tree and install it.
-
1Modifying the tree is a bad idea, creating a local overlay is simpler.– EroenFeb 23, 2012 at 22:20