Clear README, by moving Installation and Compilation instructions to new files.
This commit is contained in:
parent
ddac0938a6
commit
9aea6e9b1e
194
README.md
194
README.md
|
@ -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.
|
||||
|
||||
|
|
69
instructions/Compilation.md
Normal file
69
instructions/Compilation.md
Normal 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"
|
||||
```
|
113
instructions/Installation.md
Normal file
113
instructions/Installation.md
Normal 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)
|
Loading…
Reference in a new issue