# Change Log All notable changes to gempa software manger(GSM) will be documented in this file. ## 2023.353 1.4.6 ### Fixed - Reinstall output messages - Initial setup run ## 2023.354 1.4.5 ### Added - Add option `info short`. This command makes it easier to copy the names of the installed packages and the output can be used as input for gsm commands. - gsm shows a hint when the selected OS/release is not supported anymore. - gsm suggests related packages during installation - Rename option `install-licenses` to `install licenses` - Rename option `showall` to `show all` - Allow the installation of licences even if the corresponding package is not installed. Use command line gsm install licenses -f ## 2023.353 1.4.4 ### Fixed - Tarfile security warning - GSM update ## 2023.333 1.4.2 ### Changed - Change default release to SeisComP 6 - Improve data package installation ### Fixed - Rework switch-os output ## 2023.325 1.4.1 ### Changed - Display of the info texts changed ## 2023.325 1.4.0 ### Added - Display progress indicator when checking checksums - Add option to do a release downgrade, e.g., to switch from nightly to a stable release. ### Fixed - Map installation ### Changed - Improve custom package installation, used new package description files ## 2023.293 1.3.9 ### Fixed - Hotfix after removing SeisComP3 ## 2023.293 1.3.8 ### Fixed - Version number comparison ## 2023.240 1.3.7 ### Changed - Improve custom package installation ## 2023.228 1.3.6 ### Changed - Improve custom package installation ### Fixed - Conflict evaluation ## 2023.227 1.3.5 ### Changed - Improve custom package installation ## 2023.223 1.3.4 ### Added - Packages can be installed when calling update - Display packages to be installed ### Fixed - gsm info was not displayed correctly when there is no sync directory ## 2023.209 1.3.3 ### Fixed - Update data packages ## 2023.208 1.3.2 ### Added - Display message when a new SeisComP release is available - The list of packages to be updated shows the period allowed for installing updates and the period until the license expires. ```console quakelink (2023.047) --> 2023.151 [License expires in 10 days (2023-06-15)] ``` gsm info now also shows the expiration time for the license and the update ```console Installed packages Version Valid until Updates until ------------------ ------- ----------- -------------- ... quakelink 2023.047 2024-03-20 2024-03-20 ... ``` ## 2023.195 1.3.1 ### Changed - Evaluate installPath package option for all packages ## 2023.129 1.3.0 ### Added - New option to install packages from local file ```console gsm localinstall scanloc-2023.128-seiscomp-5-rhel-8-x86_64.tar.gz ``` ## 2023.109 1.2.9 ### Added - Support to select the public SeisComP repository in setup ### Fixed - Install path issue ## 2023.072 1.2.8 ### Added - Offline mode to allow the installation of packages on systems without internet access. A usecase is given in the section "Offline workflow" in README. ### Changed - Follow webserver redirections ## 2023.016 1.2.7 ### Changed - Minor changes ## 2023.002 1.2.6 ### Added - New option to upgrade all installed packages for a new operating system ```console gsm switch-os ``` - Improved gsm updater. The new version includes a migration feature that will help to run future gsm updates smoother. gsm displays a notice if unapplied migrations have been found. Those can be run as follows: ```console gsm migrate ``` - Notice when the login credentials are wrong ### Changed - Improved release upgrade - Take checksum into account when looking for package updates - Updated install instructions ## 2022-07-11 1.2.5 ### Changed - do-release upgrade checks licenses before upgrade ## 2022-06-22 1.2.4 ### Changed - Show only available packages depending on settings ## 2022-06-22 1.2.3 ### Fixed - Install exit code ## 2022-06-03 1.2.2 ### Changed - Use x86_64 as default system architecture ## 2022-06-03 1.2.1 ### Changed - Suggest to update gsm before updating packages when there is a new gsm package available ## 2022-06-03 1.2.0 ### Changed - Minor optimizations ## 2022-03-24 ### Added - SeedLink server update instructions ## 2022-02-14 ### Important - Support for Python2 was dropped. If Python3 is not installed on your system you need to install it including all **gsm** dependencies. ### Changed - Remove psutil dependency - Installation of updates without stopping of running modules. **Note**: The module still needs to be restarted to run the latest version. - Move large data packages from the download to installation directory: - Rationale: Save disk space. - Precondition: The download and installation directory must reside on the same file system. - Suppress traceback on KeyboardInterrupt (Ctrl+C) ### Fixed - `seiscomp-wrapper` creation - greensfunction installation folder - Application crashes for running modules sharing a library with module being installed. ## 2021-09-08 ### Changed - Rework of the do-release-upgrade function. The new implementation checks for running processes and downloads new packages before the upgrade is started. ## 2021-08-12 ### Added - Option to hold/unhold packages. Use the hold command to mark a package as held back, which will prevent the package from being automatically installed or upgraded. For instance: ```console gsm hold scanloc ``` - Option to show packages on hold ## 2021-08-06 ### Fixed - `install` command ## 2021-08-02 ### Added - Show a hint when a package is no longer supported. ## 2021-07-27 ### Fixed - `reinstall` command ## 2021-07-19 ### Fixed - `do-release-upgrade` command ## 2021-07-15 ### Fixed - Trailing path separators were not handled correctly and problems occurred when installing packages. ## 2021-07-02 ### Important We have fixed a typo in the package description format. The new package database is already in place and breaks existing **gsm** installations. It is necessary to install the gsm release 1.0.1 so that packages can be installed as usual. Unfortunately, the update could not be done automatically and requires user interaction. Please follow the migration guide below. 1. Download the latest version with ```console cd install wget https://data.gempa.de/gsm/gempa-gsm.tar.gz ``` 1. Extract the package ```console tar xvfz gempa-gsm.tar.gz ``` 1. Remove the sync cache ```console cd gsm rm -rf sync ``` 1. Update the package cache ```console ./gsm update ``` ### Fixed - Typo in package descriptions ### Changed - `gsm info gsm` shows N/A for some properties as long as no update has been done. ## 2021-07-01 ### Changed - Bump version to 1.0.0 ## 2021-06-29 ### Fixed - The program can not be started without configuration file. ## 2021-06-28 ### Added - Support to define conflicts in package description ## 2021-06-23 ### Fixed - Show package command ### Added - Support to install **slabs-rum** and **slabs-usgs** package ## 2021-06-15 ### Fixed - Sync cache package reading ## 2021-06-14 ### Changed - Rework of the do-release-upgrade feature ## 2021-06-08 ### Changed - All packages except configuration packages are removed before an update is installed. ## 2021-06-01 ### Fixed - Installation of map packages ## 2021-05-27 ### Fixed - License handling - Package download error handling ## 2021-04-30 ### Fixed - Detect OS on Raspbian (arm) - Show SeisComP minor and patch updates when running `gsm update` ## 2021-04-14 ### Added - Do release upgrade feature ```console gsm do-release-upgrade ``` ## 2021-03-19 ### Fixed - Install dir write permission check ## 2021-02-15 ### Fixed - OS detection. The previous approach did not work with Debian. ### Added - Support to install *oq-engine* package ### Changed - Update install instructions ## 2021-01-08 ### Important #### Discontinuation of CentOS 8 support by RedHat** The CentOS team recently announced the switch from CentOS to CentOS Streams: - - Therein the following end of life (EOL) dates are announced: - CentOS 8: December 31, 2021 - CentOS 7: June 30th, 2024 As a consequence we do not recommend our customers to upgrade from CentOS 7 to 8 for now. Ultimately, there will be a successor of CentOS, e.g. Rocky Linux, which offers an upgrade path from CentOS. Also there are already RHEL compatible and free alternatives, with Oracle Linux being probably among the most suitable candidates. gempa will continue to support RHEL 7, 8, and newer versions, as it is the current industry standard. However, we will not be able to support CentOS Streams because of it's rolling release cycle and because it is not binary compatible to RHEL. To clarify our support for RHEL we renamed gempa's package directory structure and package file names from centos to rhel. For users of the gempa software manger (gsm) this change is transparent as gsm will automatically convert an existing configuration respectively detect a new CentOS installation to be a RHEL compatible distribution. ## 2020-12-14 ### Fixed - Show help page only once - Show important changes ## 2020-12-01 ### Fixed - Nightly build update issues ## 2020-11-23 ### Fixed - Self update issues ## 2020-11-03 ### Fixed - The running module check did not check the full path. This led to that in case of more than one SeisComP installation packages might not install. - The display of important changelog information ### Changed - With this release you can search modules by keywords, e.g., `data acquisition` or `tsunami`. ```console gsm search data acquisition ``` - Show only a warning message if the `license.txt` could not be downloaded - **gsm** creates the `seiscomp-python` script if it does not exist - Updated help page ## 2020-09-02 ### Fixed - `gsm update` displays new **gsm** releases. There is no longer the need to run the command twice. - Display error message when a file cannot be removed from disk. e.g., `File not found` - Show Important changes only if necessary ## 2020-08-19 ### Added - Some Python package manager e.g. **pip** needs superuser rights to install the `psutil` package. In order that packages can be installed even an user has no superuser rights we ask the user if he wants to skip the running module check if the `psutils` package couldn't be found. ## 2020-08-07 ### Changed - Before installing or removing packages we check if there are any errors, e.g., a package cannot be downloaded. In case of an error user interaction is **required**. - Show packages sorted when running `gsm install` ### Fixed - Show important update information - Uninstall in case of package downgrade - OS detection e.g. CentOS 8 ## 2020-07-30 ### Changed - Show detailed information if a file download fails - Show relevant information of the changelog only if a module has been installed before. - Option to confirm package installation only once ### Fixed - Improved check if a module is running. - OS detection ## 2020-07-08 ### Important - The new version requires the `psutil` Python package. See the README for install instructions. ### Changed - Don't allow to install updates when the specific application is running. ### Fixed - `show changelog` command ## 2020-06-30 ### Important - The new version requires the `humanize` Python package. See the README for install instructions. ### Added - New configuration option `install_path`. Previously, applications were always installed in the `seiscomp3` or `seiscomp`directory. Use this option to set a user-defined root path, e.g., `install_path=/home/sysop/seiscomp4` ```console /home/sysop/seiscomp4 bin etc ... ``` - Support for `jakarta-nightly` builds. At the moment nightly builds does not have an explicit version number so the command ```console ./gsm install seiscomp3 ``` installs always the latest available version without any user interaction. The builds does not appear in the update list either. ### Changed - Package installation summary shows more useful information e.g. the install dir. ## 2020-05-26 ### Important - The new version requires the `natsort` Python package. See the README for install instructions. ### Changed - Show summary after package install ### Fixed - Install the licenses of all given modules ## 2020-05-26 ### Changed - Prepared the introduction of library versions ### Fixed - Show human readable error description when the data directory couldn't be created. ## 2020-05-18 ### Added - New commandline option `assumeyes`. With this option **gsm** assumes that the answer to any question which would be asked is yes. ```console gsm -y install scanloc ``` ### Fixed - Non zero exit code on success. With this release **gsm** returns zero on success. ## 2020-05-11 ### Changed - We have improved the source code and introduced unit tests to make **gsm** more stable. ## 2020-04-28 ### Fixed - `core.db` download - Broken install command under Python 3 ## 2020-04-22 ### Fixed - Handle incomplete download ## 2020-03-19 ### Fixed - So far `./gsm update` had to be called twice to see the latest package update list. - Handle corrupt local package cache ## 2020-03-09 ### Fixed - Handle incomplete file structure, e.g., if a file has been removed from local cache from outside. ## 2020-02-25 ### Changed - `gsm reinstall` re-installs all installed packages - `gsm.conf` option `packages` is no longer taken into account. From now on we read the installed package information from the local cache only. ## 2020-02-17 ### Added - Added `install-licenses` command. Without further arguments the licenses of the installed modules are updated, e.g., ```console gsm install-licenses ``` ## 2020-01-31 ### Fixed - Broken license installation ## 2020-01-23 ### Changed - License check takes local licenses into account ## 2020-01-22 ### Fixed - Broken `gsm install` command. When no package is specified gsm reads the packages from the `gsm.conf`. ## 2020-01-17 ### Added - `reinstall` command. With this command installed packages can be reinstalled if necessary, e.g., ```console gsm reinstall scanloc ``` - Show important update information if necessary. ### Changed - Make code PEP 8 style guide compatible ### Fixed - Missing python dependency ## 2019-12-05 ### Fixed - Corrected typos. This change breaks existing installations. Please run the following commands to migrate the local package file database. ```console cd gsm/local find -name desc | xargs -i sed -i 's/pgkinstallsize/pkginstallsize/g' {} find -name desc | xargs -i sed -i 's/pgksize/pkgsize/g' {} ``` ## 2019-12-04 ### Added - Python3 support - Install log available at `gsm/log/gsm.log` ## 2019-11-06 ### Added - Support to install data files like maps, greensfunctions and velocity files, e.g., ```console gsm install world-final-zoom10 ``` ## 2019-11-04 ### Fixed - Correct typos ## 2019-10-23 ### Changed - Default SeisComP3 release to 2018.327 - More logging ### Fixed - Handling of default values of input fields ## 2019-10-21 ### Fixed - Progress bar - Make remove operation more stable ## 2019-10-16 ### Changed - Show download speed ## 2019-10-15 ### Changed - New **gsm** major release. The new release contains the following features: - Tracking of installed packages - Support to remove installed packages - Support to download data files e.g. greensfunctions or maps - Support to install a specific version ```console gsm install gds=2019.287 ``` - SeisComP3 patch release support - Shows list of modules that can be updated - Update **gsm** with **gsm** ## 2019-05-23 ### Fixed - Do not show a warning if a license file can not be found on server side. This is a workaround because we do not know which modules require a license. ## Added - New command line option `version` that displays version information ## 2019-04-18 ### Fixed - `install-licenses` command. The previous version did not download the license files properly. ### Added - New command line option `show-urls`. Use this option to display the full URLs ### Changed - Command line output ## 2019-03-27 ### Changed - Remove license install option. With this version we install the licenses for all selected packages. ## 2019-02-13 ### Added - Show error message for unsupported SeisComP3 release ## 2019-01-08 ### Fixed - README ## 2018-04-19 ### Added - Support to add script to system path ## 2018-04-03 ### Fixed - Package name parser ### Added - Show download progress ## 2017-01-08 ### Added - Support to download and install license files via the command ```console gsm install licenses ``` all available license files will be downloaded and installed ## 2017-06-21 ### Fixed - Show all available modules even packages are selected by configuration ## 2017-04-25 ### Added - Show full download URLs ## 2017-04-24 ### Added - Support to view module change log