summaryrefslogtreecommitdiff
path: root/freefilesync/README.md
blob: 3fb5c4ed9781481974299f75a59a2e630ff78284 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Readme for freefilesync

## FreeFileSync upstream
https://freefilesync.org
Forked from [https://github.com/PhantomX/chinforpms/blob/master/\_pasture/freefilesync/freefilesync.spec](https://github.com/PhantomX/chinforpms/blob/master/_pasture/freefilesync/freefilesync.spec)
https://gitlab.com/opensource-tracking/FreeFileSync

## Reason for being in stackrpms
Fedora, CentOS, and Devuan do not package FreeFileSync. I maintained a separate spec file for this application, but rebased to a fork from PhantomX.

## Alternatives
* rsync  traditional cli sync utility
* grsync  gtk frontend for rsync
* duplicati  sync with cloud storage offerings
* rclone  another cloud storage sync utility
### Alternative packages
* https://launchpad.net/~xtradeb/+archive/ubuntu/apps/+packages
* https://aur.archlinux.org/packages/freefilesync/

## Reverse dependency matrix
Distro         | FreeFileSync version | gtk version
-------------- | -------------------- | ----------------
CentOS 7       | 10.24                | 2
CentOS 8       | 10.24                | 2
Fedora 35      | 11.23                | 2
Fedora 36      | 11.23                | 2
Fedora Rawhide | 11.23                | 2
Devuan Ceres   | 11.23                | 3

## Additional info
Upstream officially still [uses gtk2](https://freefilesync.org/forum/viewtopic.php?t=7660&p=26079#p26063) but the code supports gtk3 starting around version 10.25. With version 10.25, only stdc++=20 is supported, so el7 cannot go any higher: I was unable to find g++-10 for el7.
On the rpm platforms, where gtk2 is still supported as a primary environment, I compile FreeFileSync against gtk2. On Devuan where gtk2 has been obsoleted, I compile against gtk3.
As of version 11.20 (2022-04), you need g++-11 for `-std=c++2b`.

## CentOS compilation of freefilesync

### Dependencies to build FreeFileSync on CentOS 7
All of the packages in the next section, and also
* devtoolset-7 [Software Collections (SCL)][3]
* custom patches provided in this repo.

### Sources of the bgstack15/FreeFileSync copr packages
Custom packages:
* openssl: [bgstack15][1]
* libssh2: [city-fan][2]
* curl: city-fan
* libmetalink: city-fan
* libpsl: city-fan

### Credits
This package, freefilesync, is made possible by the concerted efforts of many people and groups
* Zenju, author of the upstream project [FreeFileSync](http://freefilesync.org)
* [PhantomX](https://github.com/PhantomX/)/chinforpms [freefilesync spec](https://github.com/PhantomX/chinforpms/tree/master/freefilesync)
* My [original freefilesync spec](https://gitlab.com/bgstack15/freefilesync-rpm/)

### References
[1][https://bgstack15.wordpress.com]
[2][http://www.city-fan.org/ftp/contrib/yum-repo/]
[3][https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/]

## Differences from upstream
None
bgstack15