1
0
Fork 0
mirror of synced 2024-04-29 01:52:39 +12:00

Clear README, by moving Installation and Compilation instructions to new files.

This commit is contained in:
Rafał Mikrut 2021-05-01 11:14:02 +02:00
parent ddac0938a6
commit 9aea6e9b1e
3 changed files with 186 additions and 190 deletions

194
README.md
View file

@ -30,200 +30,14 @@
## How do I use it?
You can find an instruction on how to use Czkawka [**here**](instructions/Instruction.md).
## Requirements
If you are using Windows or Mac binaries, there is no specific requirements.
Same with Appimage, Flatpak and Snap on Linux (except having system 18.04+ or similar).
Although, compiled GUI binaries on Linux or compiling it on your own OS requires you to install these packages:
### Ubuntu/Debian
```
sudo apt install libgtk-3-dev
```
### Fedora/CentOS
```
sudo yum install gtk3-devel glib2-devel
```
### Void Linux (CLI only)
```
sudo xbps-install gcc pkg-config alsa-lib-devel
```
# Installation
### Precompiled binaries
Ready-to-go executables are available [**here**](https://github.com/qarmin/czkawka/releases/).
If the app does not run when clicking at a launcher, run it through a terminal.
You don't need to have any additional libraries for CLI Czkawka.
### GUI Requirements
##### Linux
For Czkawka GUI you are required to have at least `GTK 3.22` and also `Alsa` installed (for finding broken music
files). It should be installed by default on all the most popular distros.
##### Windows
The `czkawka_gui.exe` which is extracted from the `windows_czkawka_gui.zip` zip file needs to be in the same
file as the rest. If you want to move and open the executable somewhere else, you need to install the `GTK 3`
runtime from [**here**](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases).
##### macOS
Currently you need to manually install `GTK 3` libraries, because they are dynamically loaded from the OS (*we need
help in using static linking*). Installation in the terminal:
```shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install gtk+3
```
After that, go to the location where you installed this and add the `executable` permission.
```shell
chmod +x mac_czkawka_gui
```
Execute in the same folder with:
```shell
./mac_czkawka_gui
```
### Appimage
Appimage files are available in release page - [**GitHub releases**](https://github.com/qarmin/czkawka/releases/)
There is a problem with this currently, as it doesn't allow you to open two images/files at once.
### Cargo
The easiest method to install Czkawka is using the `cargo` command. For compiling it, you need to get all the
requirements from the [compilation section](#Compilation).
```
cargo install czkawka_gui
cargo install czkawka_cli
```
You can update the package with the same command.
### Snap
```
sudo snap install czkawka
```
By default, Snap can only access to the files in your home directory. You have to allow czkawka to access to all the drives:
```
sudo snap connect czkawka:removable-media
```
The Snap store entry can be found [**here**](https://snapcraft.io/czkawka).
Fresh builds are available in edge branch, but they may be a little unstable, although that happens very rarely
because I don't push untested code.
### Flatpak
```
flatpak install flathub com.github.qarmin.czkawka
```
Flathub page with Czkawka can be found [**here**](https://flathub.org/apps/details/com.github.qarmin.czkawka)
#
**Unofficial packages, which may not always provide the latest version of Czkawka.**
### PPA - Debian/Ubuntu (unofficial)
```
sudo add-apt-repository ppa:xtradeb/apps
sudo apt-get update
sudo apt-get install czkawka
```
### AUR - Arch Linux Package (unofficial)
Czkawka is also available in Arch Linux's AUR from which it can be easily installed.
```
yay -Syu czkawka-git
```
or
```
yay -Syu czkawka-gui-bin
yay -Syu czkawka-cli-bin
```
Package info's - https://aur.archlinux.org/packages/?O=0&SeB=nd&K=czkawka&outdated=&SB=n&SO=a&PP=50&do_Search=Go
### Docker image (unofficial)
Czkawka docker image is available [**here**](https://github.com/jlesage/docker-czkawka)
### Development versions
Artifacts from each commit can be downloaded [**here**](https://github.com/qarmin/czkawka/actions)
<!-- Note the #Compilation link if you're changing this! -->
# Compilation
The compilation section is generally not recommended, because you have multiple better sources
of this app than compiling it yourself.
## Requirements
Program | Min | What for
---------|------|------------------------------------------------------------
Rust | 1.48 | Czkawka aims to support only the latest stable Rust version
GTK | 3.22 | Only for the `GTK` backend
If you only want the terminal version without a GUI, just skip all lines about `gtk`.
#### Debian / Ubuntu
```shell
sudo apt install -y curl # Needed by Rust update tool
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Download the latest stable Rust
sudo apt install -y libgtk-3-dev libasound2-dev
```
#### Fedora / CentOS / Rocky Linux
```shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Download the latest stable Rust
sudo yum install gtk3-devel glib2-devel alsa-lib-devel
```
#### macOS
You need to install Homebrew and GTK Libraries
```shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install rust gtk+3
```
### Windows
*Will be available in the future*
<!-- First you need to install Visual C++ components from Visual Studio installer - https://visualstudio.microsoft.com/downloads/
Next install Rust from site https://rustup.rs/
After that the latest GTK 3 runtime must be installed from https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
-->
## Compilation from source
- Download the source
```
git clone https://github.com/qarmin/czkawka.git
cd czkawka
```
- Compile and run GTK GUI
```
cargo run --bin czkawka_gui
```
For Linux-to-Windows cross-building instruction look at the CI.
![GUI](https://user-images.githubusercontent.com/41945903/103371136-fb9cae80-4ace-11eb-8d72-7b4c8ac44260.png)
- Compile and run CLI (this will print help with a lot of examples)
```
cargo run --bin czkawka_cli
```
![CLI](https://user-images.githubusercontent.com/41945903/93716816-0bbcfd80-fb72-11ea-8d31-4c87cc2abe6d.png)
### Additional features
For now, finding broken audio files is temporary disabled by default, because it crash when not found audio libraries on computer.
I'm waiting for ability to disable audio playback feature, so after that I will be able to re-enable by default this feature (https://github.com/RustAudio/rodio/issues/349)
To enable checking for broken audio files, just add at the end ` --all-features`
```
cargo run --all-features --bin czkawka_cli -- broken -d /home/rafal/ -f "results.txt"
```
<!-- End of compilation section -->
## Installation
Installation instruction with download links you can find [**here**](instructions/Installation.md).
## Compilation
If you want try to develop Czkawka or just use the latest available feature, you may want to look at the [**compilation instruction**](instructions/Compilation.md).
## Benchmarks
Since Czkawka is written in Rust and it aims to be a faster alternative to FSlint (which is written in Python), we need
to compare the speed of these tools.

View file

@ -0,0 +1,69 @@
# Compilation Czkawka from sources
## Requirements
Program | Min | What for
---------|------|------------------------------------------------------------
Rust | 1.51 | Czkawka for now, aims to support only the latest stable Rust version
GTK | 3.22 | Only for the `GTK` backend
If you only want the terminal version without a GUI, just skip all packages with `gtk`.
#### Debian / Ubuntu
```shell
sudo apt install -y curl # Needed by Rust update tool
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Download the latest stable Rust
sudo apt install -y libgtk-3-dev libasound2-dev # Latest is optional
```
#### Fedora / CentOS / Rocky Linux
```shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Download the latest stable Rust
sudo yum install gtk3-devel glib2-devel alsa-lib-devel # Latest is optional
```
#### macOS
You need to install Rust Homebrew and GTK Libraries
```shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install rustup
rustup-init
brew install rust gtk+3
```
### Windows
*Will be available in the future*
For Linux-to-Windows cross-building instruction look at the CI.
<!-- First you need to install Visual C++ components from Visual Studio installer - https://visualstudio.microsoft.com/downloads/
Next install Rust from site https://rustup.rs/
After that the latest GTK 3 runtime must be installed from https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
-->
## Compilation
- Download the source
```
git clone https://github.com/qarmin/czkawka.git
cd czkawka
```
- Compile and run GTK GUI
```
cargo run --release --bin czkawka_gui
```
- Compile and run CLI (by default this will print help with examples)
```
cargo run --release --bin czkawka_cli
```
## Additional features
For now, finding broken audio files is temporary disabled by default, because it crash when not found audio libraries on computer.
I'm waiting for ability to disable audio playback feature, so after that I will be able to re-enable by default this feature (https://github.com/RustAudio/rodio/issues/349)
To enable checking for broken audio files, just add ` --all-features`
```
cargo run --all-features --bin czkawka_cli -- broken -d /home/rafal/ -f "results.txt"
```

View file

@ -0,0 +1,113 @@
# Installation
## Requirements
Same with Appimage, Flatpak and Snap on Linux (except having system 18.04+ or similar).
### Linux
If you use Snap, Flatpak or Appimage, you may skip this section.
For Czkawka GUI you are required to have at least `GTK 3.22` and also `Alsa` installed (for finding broken music files).
It should be installed by default on all the most popular distros.
#### Ubuntu/Debian
```
sudo apt install libgtk-3-dev
```
#### Fedora/CentOS
```
sudo yum install gtk3-devel glib2-devel
```
#### Void Linux (CLI only)
```
sudo xbps-install gcc pkg-config alsa-lib-devel
```
### macOS
Currently, you need to manually install `GTK 3` libraries, because they are dynamically loaded from the OS (*we need
help in using static linking*). Installation in the terminal:
```shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install gtk+3
```
After that, go to the location where you downloaded Czkawka and add the `executable` permission to this file.
```shell
chmod +x mac_czkawka_gui
```
At the end execute it:
```shell
./mac_czkawka_gui
```
### Windows
By default, all needed libraries are bundled with app inside `windows_czkawka_gui.zip`, but if you compile app or just move `czkawka_gui.exe`, then you need to install the `GTK 3`
runtime from [**here**](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases).
## Installation
### Precompiled binaries
Ready-to-go executables for Linux, Windows and macOS are available [**here**](https://github.com/qarmin/czkawka/releases/).
If the app does not run when clicking at a launcher, run it through a terminal.
You don't need to have any additional libraries for CLI Czkawka.
### Nightly Builds
Artifacts from each commit can be downloaded [**here**](https://github.com/qarmin/czkawka/actions)
### Appimage
Appimage files are available in release page - [**GitHub releases**](https://github.com/qarmin/czkawka/releases/)
This version is bundled with own theme.
There is also a small problem with not being able to open 2 images at once.
### Cargo
The easiest method to install Czkawka is using the `cargo` command. For compiling it, you need to get all the
requirements from the [compilation section](Compilation.md).
```
cargo install czkawka_gui
cargo install czkawka_cli
```
You can update the package with the same command.
### Snap
```
sudo snap install czkawka
```
By default, Snap can only access to the files in your home directory. You have to allow czkawka to access to all the drives:
```
sudo snap connect czkawka:removable-media
```
The Snap store entry can be found [**here**](https://snapcraft.io/czkawka).
Fresh builds are available in edge branch, but they may be a little unstable, although that happens very rarely
because I don't push untested code.
### Flatpak
```
flatpak install flathub com.github.qarmin.czkawka
```
Flathub page with Czkawka can be found [**here**](https://flathub.org/apps/details/com.github.qarmin.czkawka)
#
#
**Unofficial packages, which may not always provide the latest version of Czkawka.**
### PPA - Debian/Ubuntu (unofficial)
```
sudo add-apt-repository ppa:xtradeb/apps
sudo apt-get update
sudo apt-get install czkawka
```
### AUR - Arch Linux Package (unofficial)
Czkawka is also available in Arch Linux's AUR from which it can be easily installed.
```
yay -Syu czkawka-git
```
or
```
yay -Syu czkawka-gui-bin
yay -Syu czkawka-cli-bin
```
Package info's - https://aur.archlinux.org/packages/?O=0&SeB=nd&K=czkawka&outdated=&SB=n&SO=a&PP=50&do_Search=Go
### Docker image (unofficial)
Czkawka docker image is available [**here**](https://github.com/jlesage/docker-czkawka)