Welcome to mirror list, hosted at ThFree Co, Russian Federation.

duplicati-binary.spec « fedora « Installer - github.com/duplicati/duplicati.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9b4dc58cbe5b945ec0d8a61c5e04e8a9ca48c29f (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# TODO:
# - check where Tools/* scripts should really be
# - try to fix every mono compiler warning
# - fix rpmlint warnings

# Set up some defaults
%global namer duplicati
%global debug_package %{nil}
%global alphatag .git

# Then load overrides
%include %{_topdir}/SOURCES/%{namer}-buildinfo.spec

# Make sure it does not break because we have som arch-dependant libraries bundled
%define _binaries_in_noarch_packages_terminate_build 0

Name:	%{namer}
Version:	%{_buildversion}
Release:	%{_buildtag}
Icon: duplicati.xpm
BuildArch:  noarch

# Disable auto dependencies as it picks up .Net 2.0 profile
#   and does not support supplying them with 4.5
# Also, all thirdparty libraries are given as "provides" but they
#   are not installed for use externally
AutoReqProv: no

Summary:	Backup client for encrypted online backups
License:	LGPLv2+
URL:	http://www.duplicati.com
Source0:	duplicati-%{_buildversion}.tar.bz2
Source1:	%{namer}-make-binary-package.sh
Source2: 	%{namer}-install-recursive.sh
Source3: 	%{namer}.service
Source4: 	%{namer}.default

BuildRequires:  desktop-file-utils
BuildRequires:  dos2unix
BuildRequires:  systemd

Requires:	desktop-file-utils
Requires:	bash
Requires:	sqlite >= 3.6.12
Requires:	mono(appindicator-sharp)
Requires:	libappindicator
Requires:	mono-core >= 3.0
Requires:	mono-data-sqlite
Requires:	mono(System)
Requires:	mono(System.Configuration)
Requires:	mono(System.Configuration.Install)
Requires:	mono(System.Core)
Requires:	mono(System.Data)
Requires:	mono(System.Drawing)
Requires:	mono(System.Net)
Requires:	mono(System.Net.Http)
Requires:	mono(System.Net.Http.WebRequest)
Requires:	mono(System.Runtime.Serialization)
Requires:	mono(System.ServiceModel)
Requires:	mono(System.ServiceModel.Discovery)
Requires:	mono(System.ServiceProcess)
Requires:	mono(System.Transactions)
Requires:	mono(System.Web)
Requires:	mono(System.Web.Services)
Requires:	mono(System.Xml)
Requires:	mono(System.Xml.Linq)
Requires:	mono(Mono.Security)
Requires:	mono(Mono.Posix)

Provides:	duplicati
Provides:	duplicati-cli
Provides:	duplicati-server

%description 
Duplicati is a free backup client that securely stores encrypted,
incremental, compressed backups on cloud storage services and remote file
servers.  It supports targets like Amazon S3, Windows Live SkyDrive,
Rackspace Cloud Files or WebDAV, SSH, FTP (and many more).
 
Duplicati has built-in AES-256 encryption and backups be can signed using
GNU Privacy Guard.  A built-in scheduler makes sure that backups are always
up-to-date.  Last but not least, Duplicati provides various options and
tweaks like filters, deletion rules, transfer and bandwidth options to run
backups for specific purposes.

%prep
%setup -q -n %{namer}-%{_buildversion}

%build

# removing non-platform thirdparty binaries:
rm -rf win-tools
rm -rf SQLite/win64
rm -rf SQLite/win32
rm -rf MonoMac.dll
rm -rf OSX\ Icons
rm -rf OSXTrayHost
rm -rf licenses/MonoMac
rm -rf licenses/gpg
rm -rf win-x64\storj_uplink.dll
rm -rf win-x86\storj_uplink.dll
rm -rf storj_uplink.dll
rm -rf libstorj_uplink.dylib


%install

# Mono binaries are installed in /usr/lib, not /usr/lib64, even on x86_64:
# https://fedoraproject.org/wiki/Packaging:Mono

install -d %{buildroot}%{_datadir}/pixmaps/
install -d %{buildroot}%{_exec_prefix}/lib/%{namer}/
install -d %{buildroot}%{_exec_prefix}/lib/%{namer}/SVGIcons/
install -d %{buildroot}%{_exec_prefix}/lib/%{namer}/SVGIcons/dark/
install -d %{buildroot}%{_exec_prefix}/lib/%{namer}/SVGIcons/light/
install -d %{buildroot}%{_exec_prefix}/lib/%{namer}/licenses/
install -d %{buildroot}%{_exec_prefix}/lib/%{namer}/webroot/
install -d %{buildroot}%{_exec_prefix}/lib/%{namer}/lvm-scripts/

/bin/bash %{_topdir}/SOURCES/%{namer}-install-recursive.sh "." "%{buildroot}%{_exec_prefix}/lib/%{namer}/"

# We do not want these files in the lib folder
rm "%{buildroot}%{_exec_prefix}/lib/%{namer}/%{namer}-launcher.sh"
rm "%{buildroot}%{_exec_prefix}/lib/%{namer}/%{namer}-commandline-launcher.sh"
rm "%{buildroot}%{_exec_prefix}/lib/%{namer}/%{namer}-server-launcher.sh"
rm "%{buildroot}%{_exec_prefix}/lib/%{namer}/%{namer}.png"
rm "%{buildroot}%{_exec_prefix}/lib/%{namer}/%{namer}.desktop"

# Then we install them in the correct spots
install -p -D -m 755 %{namer}-launcher.sh %{buildroot}%{_bindir}/%{namer}
install -p -D -m 755 %{namer}-commandline-launcher.sh %{buildroot}%{_bindir}/%{namer}-cli
install -p -D -m 755 %{namer}-server-launcher.sh %{buildroot}%{_bindir}/%{namer}-server
install -p  %{namer}.png %{buildroot}%{_datadir}/pixmaps/

# And fix permissions
find "%{buildroot}%{_exec_prefix}/lib/%{namer}"/* -type f -name \*.exe | xargs chmod 755
find "%{buildroot}%{_exec_prefix}/lib/%{namer}"/* -type f -name \*.sh | xargs chmod 755
#find "%{buildroot}%{_exec_prefix}/lib/%{namer}"/* -type f -name \*.py | xargs chmod 755

desktop-file-install %{namer}.desktop

# Install the service:
install -p -D -m 755 %{_topdir}/SOURCES/%{namer}.service %{_unitdir}
install -p -D -m 644 %{_topdir}/SOURCES/%{namer}.default %{_sysconfdir}/sysconfig/

%post
/bin/touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache \
  --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
%systemd_post %{namer}.service

%preun
%systemd_preun %{namer}.service

%postun
/bin/touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache \
  --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
%systemd_postun_with_restart %{namer}.service

%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :


%files
%doc changelog.txt licenses/license.txt
%{_bindir}/*
%{_datadir}/*/*
%{_exec_prefix}/lib/*


%changelog
* Wed Jun 21 2017 Kenneth Skovhede <kenneth@duplicati.com> - 2.0.0-0.20170621.git
- Added the service file to the install

* Thu Apr 28 2016 Kenneth Skovhede <kenneth@duplicati.com> - 2.0.0-0.20160423.git
- Made a binary version of the spec file

* Sat Apr 23 2016 Kenneth Skovhede <kenneth@duplicati.com> - 2.0.0-0.20160423.git
- Updated list of dependencies

* Thu Mar 27 2014 Kenneth Skovhede <kenneth@duplicati.com> - 2.0.0-0.20140326.git
- Moved to /usr/lib
- Fixed minor build issues

* Wed Mar 26 2014 Kenneth Skovhede <kenneth@duplicati.com> - 2.0.0-0.20140326.git
- Updated patch files
- Fixed minor build issues

* Wed May 29 2013 Ismael Olea <ismael@olea.org> - 2.0.0-0.20130529.git
- removed MacOSX support and deps
- first compiler building spec

* Mon May 13 2013 Ismael Olea <ismael@olea.org> - 1.3.4-1
- removing desktop contents

* Sun May 12 2013 Ismael Olea <ismael@olea.org> - 1.3.4-0
- first dirty package for upstream compiled binary