Automated packaging

Registered by Marten de Vries

Every time we make a release, we stay doing the same things over and over again. And every time, we need to find out how they work again. Let's invest a bit of extra time during the beta by automating the packaging. The goal:

python openteacher.py -p package-windows-msi win.pydistpack openteacher-version.msi
python openteacher.py -p package-windows-portable win.pydistpack openteacher-version-portable.zip
python openteacher.py -p package-debian openteacher-version.deb
python openteacher.py -p package-macosx mac.pydistpack openteacher-version.dmg
python openteacher.py -p package-source openteacher-version.zip
python openteacher.py -p package-source-with-setup openteacher-version.tar.gz
python openteacher.py -p package-rpm openteacher-version.rpm

Might be interesting to use the Windows Installer on windows, since this allows easy deployment in e.g. schools. (Wix + Wixedit?)

Blueprint information

Status:
Complete
Approver:
OpenTeacher Maintainers
Priority:
Medium
Drafter:
Marten de Vries
Direction:
Approved
Assignee:
OpenTeacher Maintainers
Definition:
Approved
Series goal:
Accepted for 3.x
Implementation:
Implemented
Milestone target:
milestone icon 3.1
Started by
Marten de Vries
Completed by
Marten de Vries

Related branches

Sprints

Whiteboard

During the last release, all packages were auto-generated. We're even at the level where OT automatically boots the required VM's, builds the packages, and then downloads them to the host computer shutting the VM down again, so time to move this from beta available to implemented. :D

(?)

Work Items

Work items:
- Build a module which copies the complete source into a temporary directory (which is deleted on program quit): DONE
- Build a source packaging module (which just makes a zip of the temp dir): DONE
- Build a source packaging module which is the same as above but includes a setup.py: DONE
- Build a module that runs PyInstaller on the source, with the option of doing that for windows or mac (if doing that is more than trivial code): DONE
- Build a windows packaging module (PyInstaller result + setup creator): DONE
- Build a windows portable packaging module (PyInstaller result + zip): DONE
- Build a debian packaging module (which gets the tarball, adds a debian directory, and makes a deb. Is this integratable with the official way of packaging for debian?): DONE
- Build a mac packaging module (PyInstaller + make a .dmg file (see http://stackoverflow.com/questions/286419/how-to-build-a-dmg-mac-os-x-file-on-a-non-mac-platform): DONE
- Build a rpm packaging module (setup.py bdist_rpm), for at least openSUSE and fedora: DONE
- Build a .tar.xz (arch) packaging module: DONE

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.