There are a number of options for installing CVRDecode:
CVRDecode is available on Flathub, and this is possibly the simplest installation option for causal use. The web page
contains installation instructions, both a link to installation instructions for flatpak/flathub and an 'install' button for CVRDecode itself.
https://flathub.org/apps/details/org.bzdev.CVRDecode
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.
docker pull wtzbzdev/cvrdecode
Installing docker itself is system dependent:
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
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
alien
can convert
them to a different format (e.g., rpm).
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
share.zip
).
update-mime-database
in order to make the icons accessible without needing to
reboot.