How to build a development environment from source control
This article explains the various ways you can build a development environment for EPrints source contributions. If you have a method not listed here then please add it. Instructions assume familiarity with EPrints and the command line. You can use repositories built in this way to test contributions to EPrints source before pushing them to the git remote.
If you find bugs with any of these instructions please update them
Contents
Ubuntu 14.04
Take a clean ubuntu 14.04 build
sudo su apt-get install git libtest-memory-cycle-perl echo "deb http://deb.eprints.org/ nightly/ deb-src http://deb.eprints.org/ source/" > /etc/apt/sources.list.d/eprints.nightly.list apt-get update apt-get build-dep eprints ln -s /home/<yourusername>/eprints /usr/share/eprints3 echo "Include /usr/share/eprints3/cfg/apache.conf" > /etc/apache2/sites-available/eprints-git.conf sudo a2ensite eprints-git su <yourusername> cd ~ git clone git@github.com:eprints/eprints.git echo "package EPrints::SystemSettings; \$EPrints::SystemSettings::conf = { 'base_path' => '/usr/share/eprints3', 'version_id' => 'git', 'version' => 'EPrints (development version)', 'user' => '$USER', 'group' => '$USER', 'smtp_server' => 'smtp', }; 1;" cd eprints bin/generate_apacheconf bin/epadmin create #create a repository in the normal manner sudo service apache2 restart bin/epadmin unit_test
CentOS /RHEL
- If using Vagrant, see https://github.com/eprintsug/eprints-vagrant
User-space EPrints (when EPrints is already installed on the VM)
See: https://github.com/eprints/apache_rhel
<source lang=bash> > mkdir eprints-github > git clone https://github.com/eprints/eprints.git ... clones into eprints ... > cd eprints > mkdir apache > git clone https://github.com/eprints/apache_rhel.git apache ... cloning into apache ... > vi perl_lib/EPrints/SystemSettings.pm
##### add the following - setting 'user' and 'group' to your username/group package EPrints::SystemSettings;
$EPrints::SystemSettings::conf = { 'user' => 'john', 'group' => 'john', 'smtp_server' => , };
1; ### save and quit (:wq)
> bin/epadmin create ... fill in the details ...
<source>