Skip to content

Commit ee3d450

Browse files
committed
Add Snap support
1 parent f0f3073 commit ee3d450

File tree

3 files changed

+71
-9
lines changed

3 files changed

+71
-9
lines changed

README.md

+15-9
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,19 @@ If the app does not run when clicking at a launcher, run it through a terminal.
5555
Appimage files are available in release page - https://github.com/qarmin/czkawka/releases/
5656

5757
### Cargo
58-
Easier method to install Czkawka is to use Cargo command(you must have installed GTK libraries in OS)
58+
Easier method to install Czkawka is to use Cargo command(you must have installed GTK libraries in OS)
5959
```
6060
cargo install czkawka_gui
6161
```
6262
You can update package by typing same command.
6363

64-
### Snap, Flatpak
64+
### Snap
65+
Sadly some features are not available like mounted drives
66+
```
67+
sudo snap install czkawka
68+
```
69+
70+
## Flatpak
6571
Maybe someday
6672

6773

@@ -132,7 +138,7 @@ Minimum file size to check I set to 1 KB on all programs
132138
|:----------:|:-------------:|
133139
| FSlint 2.4.7 (Second Run)| 86s |
134140
| Czkawka 1.4.0 (Second Run) | 12s |
135-
| DupeGuru 4.0.4 (Second Run) | 28s |
141+
| DupeGuru 4.0.4 (Second Run) | 28s |
136142

137143

138144
I used Mprof for checking memory usage FSlint and Dupeguru, for Czkawka I used Heaptrack.
@@ -148,26 +154,26 @@ Similar Images which check 332 files which takes 1,7GB
148154

149155
| App| Scan time |
150156
|:----------:|:-------------:|
151-
| Czkawka 1.4.0 | 58s |
152-
| DupeGuru 4.0.4 | 51s |
157+
| Czkawka 1.4.0 | 58s |
158+
| DupeGuru 4.0.4 | 51s |
153159

154160
Similar Images which check 1421 image files which takes 110,1MB
155161

156162
| App| Scan time |
157163
|:----------:|:-------------:|
158-
| Czkawka 1.4.0 | 25s |
159-
| DupeGuru 4.0.4 | 92s |
164+
| Czkawka 1.4.0 | 25s |
165+
| DupeGuru 4.0.4 | 92s |
160166

161167
So still is a big room for improvements.
162168

163169
## Comparsion other tools
164170

165171
| | Czkawka | FSlint | DupeGuru |
166172
|:----------:|:-------------:|:-----:|:---:|
167-
| Language | Rust| Python | Python/Objective C |
173+
| Language | Rust| Python | Python/Objective C |
168174
| OS | Linux, Windows, Mac(only CLI) | Linux | Linux, Windows, Mac|
169175
| Framework | GTK 3 (Gtk-rs)| GTK 2 (PyGTK) | Qt 5 (PyQt)/Cocoa |
170-
| Ram Usage | Low | Medium | Very High |
176+
| Ram Usage | Low | Medium | Very High |
171177
| Duplicate finder | X | X | X |
172178
| Empty files | X | X | |
173179
| Empty folders | X | X | |

misc/snap/local/CreateSnap.sh

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
NUMBER="1.5.1"
3+
CZKAWKA_PATH="/home/rafal"
4+
5+
cd "$CZKAWKA_PATH"
6+
CZKAWKA_PATH="$CZKAWKA_PATH/czkawka"
7+
rm -rf $CZKAWKA_PATH
8+
git clone https://github.com/qarmin/czkawka.git "$CZKAWKA_PATH"
9+
cd $CZKAWKA_PATH
10+
git checkout "$NUMBER"
11+
12+
cd "$CZKAWKA_PATH/misc/snap"
13+
snapcraft
14+
15+
snapcraft login
16+
17+
snapcraft upload --release=stable "czkawka_${NUMBER}_amd64.snap"

misc/snap/snapcraft.yaml

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: czkawka # you probably want to 'snapcraft register <name>'
2+
base: core18 # the base snap is the execution environment for this snap
3+
version: '1.5.1' # just for humans, typically '1.2+git' or '1.3.2'
4+
summary: Czkawka - fast data cleaner written in Rust # 79 char long summary
5+
description: |
6+
Czkawka is very fast and feature rich cleaner which finds file duplicates, empty folders and files, duplicated music, similar images or the biggest files in selected directories.
7+
This program have frontend written in modern GTK 3.
8+
9+
grade: stable # must be 'stable' to release into candidate/stable channels
10+
confinement: strict # use 'strict' once you have the right plugs and slots
11+
12+
parts:
13+
czkawka:
14+
plugin: nil
15+
source: https://github.com/qarmin/czkawka.git
16+
source-tag: 1.5.1
17+
build-packages:
18+
- libgtk-3-dev
19+
- curl
20+
- gcc
21+
- git
22+
stage-packages:
23+
- libgtk-3-dev
24+
override-build: |
25+
if ! command -v rustup 2>/dev/null; then
26+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile=minimal
27+
export PATH="${HOME}/.cargo/bin:${PATH}"
28+
fi
29+
30+
cargo install --locked --path czkawka_gui --root "${SNAPCRAFT_PART_INSTALL}" --force
31+
32+
apps:
33+
czkawka:
34+
command: bin/czkawka_gui
35+
extensions: [gnome-3-34]
36+
plugs:
37+
- home
38+
- removable-media
39+
- udisks2

0 commit comments

Comments
 (0)