Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
It seems that the macOS packaging approach so far has not be satisfying for a lot of users. We should investigate other options - probably native macOS options.
Requirements
"Native" apps for sumo-gui, netedit and the webwizard to start them via spotlight / taskbar
Easy to install and remove SUMO
Access to command line tools and python tools
Does not depend on brew or MacPorts
Is stable, even if brew decides to update libraries
Support for nightly releases
Proposal
Create a SUMO "framework" package containing all libraries, documentation, python tools, ... (i.e. SUMO)
Create "native" apps as basic wrappers / launchers for sumo-gui, netedit and the webwizard
Create an installer for the framework and the apps
Things to discuss
How to provide an uninstall script?
How to set SUMO_HOME?
How to check if XQuartz is present?
Notarization? Code Signing?
Implementation
Here are my notes from googling and checking the usage of pkgbuild and productbuild. There is also CPack, but I assume, that it is a wiser choice to use macOS tools.
SUMO Framework Package
Create a directory structure that mimics a macOS framework, then:
pkgbuild --root SUMOFramework.framework --identifier com.yourcompany.SUMOFramework --version 1.0 --install-location /Library/Frameworks/SUMOFramework.framework SUMOFramework.pkg
App Packages
Create packages for each app that will be moved to the /Applications folder, then:
pkgbuild --root SumoGUI.app --identifier com.yourcompany.SumoGUI --version 1.0 --install-location /Applications/SumoGUI.app SumoGUI.pkg
Distribution XML for the Installer
Create a distribution.xml file that specifies the packages to be included in the installer and their installation order:
Use productbuild to create the installer package that includes the framework and app packages:
productbuild --distribution distribution.xml --package-path . --resources ./resources --version 1.0 SUMOInstaller.pkg
Overview
It seems that the macOS packaging approach so far has not be satisfying for a lot of users. We should investigate other options - probably native macOS options.
Requirements
Proposal
Things to discuss
Implementation
Here are my notes from googling and checking the usage of
pkgbuild
andproductbuild
. There is alsoCPack
, but I assume, that it is a wiser choice to use macOS tools.SUMO Framework Package
pkgbuild --root SUMOFramework.framework --identifier com.yourcompany.SUMOFramework --version 1.0 --install-location /Library/Frameworks/SUMOFramework.framework SUMOFramework.pkg
App Packages
pkgbuild --root SumoGUI.app --identifier com.yourcompany.SumoGUI --version 1.0 --install-location /Applications/SumoGUI.app SumoGUI.pkg
Distribution XML for the Installer
Installer Package
productbuild --distribution distribution.xml --package-path . --resources ./resources --version 1.0 SUMOInstaller.pkg