Software Collections Management Website
Enable yum repository from copr:
sudo dnf copr enable jdornak/SoftwareCollections
Install package softwarecollections:
sudo dnf install softwarecollections
Configuration (production instance)
Check the configuration in config files:
sudo vim /etc/softwarecollections/localsettings sudo vim /etc/httpd/conf.d/softwarecollections.conf
Follow the installation steps. You do not need package softwarecollections itself, but you need all it's requirements.
Clone the git repository:
git clone email@example.com:sclorg/softwarecollections.git cd softwarecollections
Clone the packaging-guide repository
git clone firstname.lastname@example.org:pmkovar/packaging-guide.git
./guide-build packaging-guide ./guide-import packaging-guide
Create local configuration:
Create and set up the development environment:
pipenv install --dev
Initialize development database:
pipenv run ./manage.py migrate
Run development server:
pipenv run ./manage.py runserver
If You want to access the admin site, first make Yourself a superuser:
pipenv run ./manage.py makesuperuser $USER
To update your code and database to the last available version run:
git pull --rebase pipenv run ./manage.py migrate
Tests can be run either in the local development environment, or in pre-configured set of tests environments.
In order to run the tests in the development environment, execute:
pipenv run pytest # or, equivalent pipenv run python setup.py test
In order to run the full test matrix, execute:
To build RPM you need tito package. To release the RPM in Copr, you need copr-cli package.
sudo dnf install tito copr-cli
To build RPM locally type:
tito build --rpm # builds RPM from the latest tagged release tito build --rpm --test # builds RPM from the latest commit
To build RPM in Copr type:
tito release copr # submits build from the latest tagged release tito release copr-test # submits build from the latest commit
Data migration from one server to another one
- Dump all data on the old system:
softwarecollections dumpdata > data.json
- Move data.json to the new system to location accessible by softwarecollections user.
rsync old:data.json /var/scls/data.json
- Delete automaticaly generated tables and load all data from json file:
echo "delete from auth_permission;" | softwarecollections dbshell echo "delete from django_content_type;" | softwarecollections dbshell softwarecollections loaddata /var/scls/data.json
If this is Your first time working with Django application, read through the Django Tutorial.
For the detailed information about all aspect of using Django see the Django Documentation.