Skip to content
Software Collections Management Website and Utils
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf Remove @xsuchy and @asamalik from admins Dec 14, 2018
data added data directory for the development instance to be more like the… Dec 13, 2013
htdocs Adjust the spec to use environment configuration Oct 19, 2018
rel-eng Automatic commit of package [softwarecollections] release [0.19-1]. Nov 27, 2018
softwarecollections
tests
.gitignore Make tito compatible with setuptools_scm Oct 19, 2018
.s2iignore Configure exclusion for S2I builds Dec 17, 2018
.travis.yml
Dockerfile
LICENSE license Apr 8, 2014
MANIFEST.in
Pipfile
Pipfile.lock
README.docker Add Dockerfile for development and a test that executes it Jan 28, 2017
README.md Add test runner documentation to README Sep 13, 2018
example-data.yaml Add Dockerfile for development and a test that executes it Jan 28, 2017
guide-build Rename software-collections-guide to packaging-guide Nov 21, 2014
guide-import
guide-source
guide-templatize [guide] breadcrumbs Dec 1, 2014
manage.py
packaging-guide-1.tar.gz Update packaging-guide-1.tar.gz May 17, 2018
run-devel
run-docker-test
setup.cfg Integrate pytest with setup.py workflow Sep 13, 2018
setup.py
softwarecollections-db-setup Adapt db-setup to handle different data dir Oct 23, 2018
softwarecollections-services-setup softwarecollections-services-setup Dec 14, 2016
softwarecollections.spec Automatic commit of package [softwarecollections] release [0.19-1]. Nov 27, 2018
tox.ini Run pytest explicitly with tox Apr 12, 2019

README.md

softwarecollections

Software Collections Management Website

Installation

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

Development instance

Follow the installation steps. You do not need package softwarecollections itself, but you need all it's requirements.

Clone the git repository:

    git clone git@github.com:sclorg/softwarecollections.git
    cd softwarecollections

Clone the packaging-guide repository

    git clone git@github.com:pmkovar/packaging-guide.git

Import packaging-guide

    ./guide-build  packaging-guide
    ./guide-import packaging-guide

Create local configuration:

    cp softwarecollections/localsettings{-development,}.py

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

Voilà!

No registration of user is required. You may simply login if You have FAS account.

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

Running tests

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:

    tox

RPM build

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

  1. Dump all data on the old system:
    softwarecollections dumpdata > data.json
  1. Move data.json to the new system to location accessible by softwarecollections user.
    rsync old:data.json /var/scls/data.json
  1. 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

Voilà!

Help

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.

You can’t perform that action at this time.