CVRDecode Installation

There are a number of options for installing CVRDecode:

Software documentation is available in the overview.

Installing using Flatpak

CVRDecode is available on Flathub, and this is possibly the simplest installation option for causal use. The web page


https://flathub.org/apps/details/org.bzdev.CVRDecode

contains installation instructions, both a link to installation instructions for flatpak/flathub and an 'install' button for CVRDecode itself.

Manual installation

If flathub is not installed, the web page https://flatpak.org/setup/ has instructions for various Linux systems (details depend on the package manager each distribution provides). If a remote named flathub, or something similar, is not available, it can be added by running a command such as


  flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    
Again, the web page https://flatpak.org/setup/ has instructions.

Once flatpak is installed an the Flathub remote repository is configured (if necessary) just run the command


  flatpak install --user flathub org.bzdev.CVRDecode
    
the --user option will make the installation specific to one user. It should not be used for a system-wide installation, which of course requires administrative privileges.

When flatpak is used, the look and feel may be different from the look and feel used with the Debian package: the software uses the "system" look and feel and the implementation of that is provided by the Java version that is installed. A test with Pop!_OS using a "dark" theme resulted in a rather subtle difference between enabled and disabled controls when flatpak was used, with a much more visible distinction when the Debian package was used.

Installing a Docker image

To install (but not run) a docker image, run the following command:

  docker pull wtzbzdev/cvrdecode
    

Installing docker itself is system dependent:

Installing from Debian packages

First add the Debian repository that contains the libbzdev-java and cvrdecode packages. Instructions are available at https://billzaumen.github.io/bzdev/ .

Next install the default Java for your system (cvrdecode has been compiled for Java 11) and run the following commands (as needed - some packages may already be installed):


  sudo apt-get install libjcommander-java
  sudo apt-get install libzxing-java
  sudo apt-get install libzxing-core-java
  sudo apt-get install libzxing-javase-java
  sudo apt-get install libbzdev-base-java
  sudo apt-get install libbzdev-math-java
  sudo apt-get install libbzdev-obnaming-java
  sudo apt-get install libbzdev-graphics-java
  sudo apt-get install libbzdev-desktop-java
  sudo apt-get install cvrdecode
    

Other package mangers

For Linux systems that use the freedesktop.org standards but that are not Debian systems, the package alien can be used to convert Debian packages to other formats. The packages libjcommander-java, libzxing-java, libzxing-core-java, and libzxing-javase-java should have equivalent RPM packages and do not have to be converted. Otherwise the packages

can be downloaded by using the links provided on a list of packages (names of the downloaded files will contain version numbers in addition to package names). After downloading these Debian files, alien can convert them to a different format (e.g., rpm).

Installing using cvrdecode-install-VERSION.jar

An installer is also available and can be used on a variety of systems including MacOS and Windows. The installer is named cvrdecode-install-VERSION.java where VERSION is the latest version number. Please visit https://billzaumen.github.io/bzdev/installers.html and click on the cvrdecode link. A SHA 256 message digest for this JAR file is included on that web page.

Java 11 (or later) must be installed before the installer can be used. To start the installer, run the command


  sudo java -jar cvrdecode-install-VERSION.jar
    
and an installer that will provide you with several installation options will start. These options let you pick the location where the software will be installed (generally used standard locations are shown). If sudo is not available, use whatever procedure grants you the privileges needed to install software. If the dry run option is checked, the installer will open a dialog box with a text field containing the corresponding command to enter in a terminal window given the options that were selected. This is useful when installing the software on multiple systems accessed via SSH.

The command


  java -jar cvrdecode-install.jar --help
    
will print all the command-line options. One in particular, --rootdir, can be used to install the software in a specified directory (e.g., for testing), in which case the use of sudo may not be necessary.

Some additional manual configuration is currently needed. The installation for Linux/Unix/MacOS should put a command named cvrdecode in a standard location and provide a man page, but will not install icons or integrate the program with one's desktop. Similar constraints apply to Windows systems and in particular, the installer does not do anything to the registry. If these additional steps are not performed, the program should still work normally, but may have to be started from a terminal.

These additional steps, while system dependent, should be trivial. For example, the additional steps that apt-get install cvrdecode will perform are to

  1. copy cvrdecode.desktop to an appropriate location.
  2. copy icons to the appropriate locations (the icons will be stored by the installer in a ZIP file named share.zip).
  3. run the command
    
      update-mime-database
    	
    in order to make the icons accessible without needing to reboot.