]>
Commit | Line | Data |
---|---|---|
1 | # TODO | |
2 | # - avoid dropboxd relaunching itself with newer version if there's update available (disable auto updating): | |
3 | # glen 25034 19.9 1.5 1496132 81256 pts/46 Sl+ 11:02 1:02 /home/glen/.dropbox-dist/dropbox /newerversion | |
4 | # NOTES: | |
5 | # - Upstream Dropbox Support (https://www.dropbox.com/ticket) | |
6 | # - Release Notes (check new versions here): https://www.dropbox.com/release_notes | |
7 | # - Download instructions (click the download link to find current version): | |
8 | # http://www.dropbox.com/downloading?os=lnx | |
9 | # http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall | |
10 | Summary: Sync and backup files between computers | |
11 | Name: dropbox | |
12 | # https://www.dropboxforum.com/hc/en-us/community/posts/206682016-New-Versioning-Scheme | |
13 | Version: 12.4.22 | |
14 | Release: 1 | |
15 | License: Proprietary | |
16 | Group: Daemons | |
17 | Source0: http://dl-web.dropbox.com/u/17/%{name}-lnx.x86-%{version}.tar.gz | |
18 | # NoSource0-md5: 0e94f3710fd5436064d9215e68cab13e | |
19 | NoSource: 0 | |
20 | Source1: http://dl-web.dropbox.com/u/17/%{name}-lnx.x86_64-%{version}.tar.gz | |
21 | # NoSource1-md5: 33147635b18742ed2fdcda6b0c46b1e0 | |
22 | NoSource: 1 | |
23 | URL: http://www.dropbox.com/ | |
24 | BuildRequires: rpmbuild(macros) >= 1.566 | |
25 | BuildRequires: sed >= 4.0 | |
26 | BuildRequires: tar >= 1:1.15.1 | |
27 | BuildRequires: unzip | |
28 | BuildRequires: zip | |
29 | Conflicts: nautilus-dropbox < 0.6.3-2 | |
30 | ExclusiveArch: %{ix86} %{x8664} | |
31 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
32 | ||
33 | # generate no Provides from private modules | |
34 | %define _noautoprovfiles %{_libdir}/%{name} | |
35 | ||
36 | # libicu-42, but pld th already has 54 | |
37 | %define icu_libs libicudata.so.42 libicui18n.so.42 libicuuc.so.42 | |
38 | ||
39 | # provided by package itself, but autodeps disabled | |
40 | %define _noautoreq libwx_.*.so %{icu_libs} libffi.so.6 librsync.so.1 | |
41 | ||
42 | # a zip and executable at the same time | |
43 | %define _noautostrip .*/library.zip\\|.*/dropbox | |
44 | ||
45 | # debuginfo wouldn't be useful | |
46 | %define _enable_debug_packages 0 | |
47 | ||
48 | # prelinked library, it is missing some cairo symbols | |
49 | #define skip_post_check_so libwx_gtk2ud_core-2.8.so.0 | |
50 | ||
51 | %description | |
52 | Dropbox is software that syncs your files online and across your | |
53 | computers. | |
54 | ||
55 | Put your files into your Dropbox on one computer, and they'll be | |
56 | instantly available on any of your other computers that you've | |
57 | installed Dropbox on (Windows, Mac, and Linux too!) Because a copy of | |
58 | your files are stored on Dropbox's secure servers, you can also access | |
59 | them from any computer or mobile device using the Dropbox website. | |
60 | ||
61 | %package gui | |
62 | Summary: Gtk+2 GUI of Dropbox | |
63 | Group: X11/Applications | |
64 | Requires: %{name} = %{version}-%{release} | |
65 | ||
66 | %description gui | |
67 | Gtk+2 Systray of Dropbox Daemon status. | |
68 | ||
69 | %prep | |
70 | %setup -qcT | |
71 | %ifarch %{ix86} | |
72 | %{__tar} --strip-components=1 -xzf %{SOURCE0} | |
73 | %endif | |
74 | %ifarch %{x8664} | |
75 | %{__tar} --strip-components=1 -xzf %{SOURCE1} | |
76 | %endif | |
77 | mv dropbox-lnx.*-%{version}/* . | |
78 | ||
79 | # no need to package this | |
80 | # altho system python is also 2.7, don't know how to enforce using it system libs | |
81 | #%{__rm} -r distribute-0.6.26-py2.7.egg | |
82 | ||
83 | # libraries to be taken from system | |
84 | # for a in *.so*; do ls -ld /lib64/$a /us?/lib64/$a; done 2>/dev/null | |
85 | %{__rm} libpopt.so.0 libdrm.so.2 libGL.so.1 | |
86 | %{__rm} libffi.so.6 | |
87 | %{__rm} libX11-xcb.so.1 | |
88 | %{__rm} libQt5{Core,DBus,Gui,Network,OpenGL,PrintSupport,Qml,Quick,Sql,WebKit,WebKitWidgets,Widgets,XcbQpa}.so.5 | |
89 | %{__rm} qt.conf | |
90 | %{__rm} -r plugins | |
91 | ||
92 | # keep librsync, won't finish syncing if not using upstream copy | |
93 | test -f librsync.so.1 | |
94 | ||
95 | # fun, let's delete non-linux files from archive | |
96 | unzip -l library.zip | \ | |
97 | grep -E '(arch|dropbox)/(mac|win32)|_(win32|mac)\.py|pymac|ui/cocoa|unittest' | \ | |
98 | grep -vE 'pymac/(__init__|constants|types|lazydll|lazyframework)\.py' | \ | |
99 | grep -vE 'dropbox/mac/(version|__init__).py' | \ | |
100 | awk '{print $NF}' > lib.delete | |
101 | zip library.zip -d $(cat lib.delete) | |
102 | ||
103 | # make into symlink, looks cleaner than hardlink: | |
104 | # we can attach executable attrs to binary and leave no attrs for symlink in | |
105 | # %files section. | |
106 | ln -sf dropbox library.zip | |
107 | ||
108 | %install | |
109 | rm -rf $RPM_BUILD_ROOT | |
110 | install -d $RPM_BUILD_ROOT%{_bindir} | |
111 | ln -s %{_libdir}/%{name}/dropboxd $RPM_BUILD_ROOT%{_bindir}/dropboxd | |
112 | ||
113 | # install everything else | |
114 | install -d $RPM_BUILD_ROOT%{_libdir}/%{name} | |
115 | cp -a . $RPM_BUILD_ROOT%{_libdir}/%{name} | |
116 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/lib.delete | |
117 | ||
118 | # in doc | |
119 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/{ACKNOWLEDGEMENTS,VERSION,README} | |
120 | ||
121 | %clean | |
122 | rm -rf $RPM_BUILD_ROOT | |
123 | ||
124 | %files | |
125 | %defattr(644,root,root,755) | |
126 | %doc ACKNOWLEDGEMENTS VERSION README | |
127 | %attr(755,root,root) %{_bindir}/dropboxd | |
128 | %dir %{_libdir}/%{name} | |
129 | %attr(755,root,root) %{_libdir}/%{name}/*.so* | |
130 | %attr(755,root,root) %{_libdir}/%{name}/dropbox | |
131 | %attr(755,root,root) %{_libdir}/%{name}/dropboxd | |
132 | %{_libdir}/%{name}/library.zip | |
133 | ||
134 | %{_libdir}/%{name}/dropbox_sqlite_ext-*-py*.egg | |
135 | %{_libdir}/%{name}/psutil-*-py*.egg | |
136 | %{_libdir}/%{name}/setuptools-*-py*.egg | |
137 | ||
138 | # need +x bits for .so files | |
139 | %defattr(-,root,root,-) | |
140 | %{_libdir}/%{name}/cryptography-*-py*-linux-*.egg | |
141 | ||
142 | # GUI parts | |
143 | %exclude %{_libdir}/%{name}/PyQt5.*.so | |
144 | %exclude %{_libdir}/%{name}/dbus.mainloop.pyqt5.so | |
145 | ||
146 | %files gui | |
147 | %defattr(644,root,root,755) | |
148 | %attr(755,root,root) %{_libdir}/%{name}/wmctrl | |
149 | %attr(755,root,root) %{_libdir}/%{name}/PyQt5.*.so | |
150 | %attr(755,root,root) %{_libdir}/%{name}/dbus.mainloop.pyqt5.so | |
151 | %dir %{_libdir}/%{name}/images | |
152 | %{_libdir}/%{name}/images/emblems | |
153 | %{_libdir}/%{name}/images/hicolor | |
154 | %{_libdir}/%{name}/resources |