Skip to content

Latest commit

 

History

623 Commits

Folders and files

Repository files navigation


Installers for Datashare

Status
CI checks CircleCI
Latest version Latest version
Release date Release date
Snap Store datashare
Open issues Open issues

Datashare installers

This repository builds the Datashare installers for macOS, Windows and Linux. Each release publishes:

The Datashare version the installers target is stored in VERSION.txt, the bundled Elasticsearch version in ELASTICSEARCH_VERSION.txt.

Repository layout

Path Purpose
mac/ macOS .pkg installer (flat package built with bomutils and xar, signed and notarized with rcodesign)
windows/ Windows .exe installer (NSIS)
snap/ Linux snap definition
scripts/deploy.sh Uploads built installers to a GitHub release (run by the Datashare CI)
scripts/stats.py Exports per-release download counts to ds_stats.csv

Build

Run make help to list targets. VERSION defaults to the content of VERSION.txt:

make mac                    # mac/dist/datashare-$(VERSION).pkg
make windows                # windows/dist/datashare-$(VERSION).exe
make VERSION=21.14.0 all    # both, for a specific version

macOS

Built as a flat package following this tutorial (cf mac/Makefile). You need cpio, imagemagick, icnsutils, bomutils, xar and rcodesign (apple-codesign crate). make -C mac package builds an unsigned .pkg with no credentials. make mac (or make -C mac all) also signs and notarizes, which requires Apple credentials in environment variables: see mac/README.md.

Windows

Built with NSIS (nsis package on Ubuntu/Debian) and three plugins, each copied to /usr/share/nsis/Plugins/:

  • INetC (x86-unicode/INetC.dll)
  • EnVar (x86-unicode/EnVar.dll)
  • Untgz (untgz.dll)

See .circleci/config.yml for the exact setup.

Linux

The snap is built by Snapcraft from snap/snapcraft.yaml. It picks its version from the latest git tag and bundles OpenJDK 21, Tesseract OCR and the Datashare release tarball.

What the installers do

  • macOS: ensures Xcode Command Line Tools and a package manager (Homebrew, or MacPorts on older systems) are installed, installs Tesseract OCR and OpenJDK 21 with it, downloads the Datashare jar and Elasticsearch, installs Datashare.app and a datashare CLI.
  • Windows: downloads and installs the Temurin JRE 21, Tesseract OCR and Elasticsearch, downloads the Datashare jar and creates the launcher.
  • Linux (snap): self-contained, bundles the JRE and Tesseract so nothing else is installed on the host.

Releases

Packages

Contributors

Languages