]> git.pld-linux.org Git - packages/dropbox.git/blobdiff - dropbox.spec
use system qt5 packages; add link to their versioning changes
[packages/dropbox.git] / dropbox.spec
index b8193277c49f9aeabb792490f15a18b69b7664ef..2ee2973930fa3c3173e38427e3d93abba4fff4f8 100644 (file)
@@ -1,23 +1,31 @@
+# TODO
+# - avoid dropboxd relaunching itself with newer version if there's update available (disable auto updating):
+#   glen     25034 19.9  1.5 1496132 81256 pts/46  Sl+  11:02   1:02 /home/glen/.dropbox-dist/dropbox /newerversion
 # NOTES:
 # - Upstream Dropbox Support (https://www.dropbox.com/ticket)
+# - Release Notes (check new versions here): https://www.dropbox.com/release_notes
 # - Download instructions (click the download link to find current version):
+#   http://www.dropbox.com/downloading?os=lnx
 #   http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall
 Summary:       Sync and backup files between computers
 Name:          dropbox
-Version:       0.7.110
-Release:       0.10
+# https://www.dropboxforum.com/hc/en-us/community/posts/206682016-New-Versioning-Scheme
+Version:       5.4.24
+Release:       1
 License:       Proprietary
 Group:         Daemons
-URL:           http://www.dropbox.com/
 Source0:       http://dl-web.dropbox.com/u/17/%{name}-lnx.x86-%{version}.tar.gz
-# NoSource0-md5:       e6cb1751ba33542a82b794cea7dc8dbd
+# NoSource0-md5:       812050dfd781ea1937481f0fb6953547
 NoSource:      0
 Source1:       http://dl-web.dropbox.com/u/17/%{name}-lnx.x86_64-%{version}.tar.gz
-# NoSource1-md5:       434fb3451d1f638bddde2f5691beb426
+# NoSource1-md5:       aeef1a6ba78ac3d1ee11dab539c181d9
 NoSource:      1
+URL:           http://www.dropbox.com/
 BuildRequires: rpmbuild(macros) >= 1.566
 BuildRequires: sed >= 4.0
 BuildRequires: tar >= 1:1.15.1
+BuildRequires: unzip
+BuildRequires: zip
 Conflicts:     nautilus-dropbox < 0.6.3-2
 ExclusiveArch: %{ix86} %{x8664}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -25,8 +33,11 @@ BuildRoot:   %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # generate no Provides from private modules
 %define                _noautoprovfiles        %{_libdir}/%{name}
 
+# libicu-42, but pld th already has 54
+%define                icu_libs        libicudata.so.42 libicui18n.so.42 libicuuc.so.42
+
 # provided by package itself, but autodeps disabled
-%define                _noautoreq              libcrypto.so libssl.so libwx_.*.so
+%define                _noautoreq              libwx_.*.so %{icu_libs} libffi.so.6 librsync.so.1
 
 # a zip and executable at the same time
 %define                _noautostrip    .*/library.zip\\|.*/dropbox
@@ -35,7 +46,7 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _enable_debug_packages  0
 
 # prelinked library, it is missing some cairo symbols
-%define                skip_post_check_so      libwx_gtk2ud_core-2.8.so.0
+#define                skip_post_check_so      libwx_gtk2ud_core-2.8.so.0
 
 %description
 Dropbox is software that syncs your files online and across your
@@ -47,6 +58,14 @@ installed Dropbox on (Windows, Mac, and Linux too!) Because a copy of
 your files are stored on Dropbox's secure servers, you can also access
 them from any computer or mobile device using the Dropbox website.
 
+%package gui
+Summary:       Gtk+2 GUI of Dropbox
+Group:         X11/Applications
+Requires:      %{name} = %{version}-%{release}
+
+%description gui
+Gtk+2 Systray of Dropbox Daemon status.
+
 %prep
 %setup -qcT
 %ifarch %{ix86}
@@ -55,53 +74,79 @@ them from any computer or mobile device using the Dropbox website.
 %ifarch %{x8664}
 %{__tar} --strip-components=1 -xzf %{SOURCE1}
 %endif
+mv dropbox-lnx.*-%{version}/* .
+
+# no need to package this
+# altho system python is also 2.7, don't know how to enforce using it system libs
+#%{__rm} -r distribute-0.6.26-py2.7.egg
+
+# libraries to be taken from system
+# for a in *.so*; do ls -ld /lib64/$a /us?/lib64/$a; done 2>/dev/null
+%{__rm} libpopt.so.0 libdrm.so.2 libGL.so.1
+%{__rm} libffi.so.6 librsync.so.1
+%{__rm} libX11-xcb.so.1
+%{__rm} libQt5{Core,DBus,Gui,Network,OpenGL,PrintSupport,Qml,Quick,Sql,WebKit,WebKitWidgets,Widgets,XcbQpa}.so.5
+%{__rm} qt.conf
+%{__rm} -r plugins
+
+# fun, let's delete non-linux files from archive
+unzip -l library.zip | \
+       grep -E '(arch|dropbox)/(mac|win32)|_(win32|mac)\.py|pymac|ui/cocoa|unittest' | \
+       grep -vE 'pymac/(__init__|constants|types|lazydll|lazyframework)\.py' | \
+       grep -vE 'dropbox/mac/(version|__init__).py' | \
+       awk '{print $NF}' > lib.delete
+zip library.zip -d $(cat lib.delete)
 
 # make into symlink, looks cleaner than hardlink:
 # we can attach executable attrs to binary and leave no attrs for symlink in
 # %files section.
 ln -sf dropbox library.zip
 
-# use system lib, or we get weird errors like:
-# (dropbox:13225): Gtk-WARNING **: Error loading theme icon 'gtk-ok' for stock:
-# Unable to load image-loading module: /usr/lib64/gtk-2.0/2.10.0/loaders/svg_loader.so:
-# /usr/lib64/dropbox/libz.so.1: version `ZLIB_1.2.3.3' not found (required by /usr/lib64/libxml2.so.2)
-rm -f libz.so.1
-
-# don't really need test at runtime
-rm -rf ncrypt-*.egg/ncrypt/test
-
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_bindir}
-ln -s %{_libdir}/dropbox/dropboxd $RPM_BUILD_ROOT%{_bindir}/dropboxd
+ln -s %{_libdir}/%{name}/dropboxd $RPM_BUILD_ROOT%{_bindir}/dropboxd
 
 # install everything else
-install -d $RPM_BUILD_ROOT%{_libdir}/dropbox
-cp -a . $RPM_BUILD_ROOT%{_libdir}/dropbox
+install -d $RPM_BUILD_ROOT%{_libdir}/%{name}
+cp -a . $RPM_BUILD_ROOT%{_libdir}/%{name}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/lib.delete
 
 # in doc
-rm -f $RPM_BUILD_ROOT%{_libdir}/dropbox/{ACKNOWLEDGEMENTS,VERSION}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/{ACKNOWLEDGEMENTS,VERSION,README}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc ACKNOWLEDGEMENTS VERSION
+%doc ACKNOWLEDGEMENTS VERSION README
 %attr(755,root,root) %{_bindir}/dropboxd
-%dir %{_libdir}/dropbox
-%attr(755,root,root) %{_libdir}/dropbox/*.so*
-%attr(755,root,root) %{_libdir}/dropbox/dropbox
-%attr(755,root,root) %{_libdir}/dropbox/dropboxd
-%{_libdir}/dropbox/library.zip
-
-%dir %{_libdir}/dropbox/ncrypt-*.egg
-%attr(755,root,root) %{_libdir}/dropbox/ncrypt-*.egg/*.so
-%{_libdir}/dropbox/ncrypt-*.egg/*.pyc
-%{_libdir}/dropbox/ncrypt-*.egg/ncrypt
-%{_libdir}/dropbox/ncrypt-*.egg/EGG-INFO
-
-%dir %{_libdir}/dropbox/netifaces-*.egg
-%attr(755,root,root) %{_libdir}/dropbox/netifaces-*.egg/*.so
-%{_libdir}/dropbox/netifaces-*.egg/*.pyc
-%{_libdir}/dropbox/netifaces-*.egg/EGG-INFO
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/*.so*
+%attr(755,root,root) %{_libdir}/%{name}/dropbox
+%attr(755,root,root) %{_libdir}/%{name}/dropboxd
+%{_libdir}/%{name}/library.zip
+
+%{_libdir}/%{name}/dropbox_sqlite_ext-*-py*.egg
+%{_libdir}/%{name}/psutil-*-py*.egg
+%{_libdir}/%{name}/setuptools-*-py*.egg
+%{_libdir}/%{name}/tornado-*-py*.egg
+
+# need +x bits for .so files
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/cryptography-*-py*-linux-*.egg
+
+# GUI parts
+%exclude %{_libdir}/%{name}/PyQt5.*.so
+%exclude %{_libdir}/%{name}/dbus.mainloop.pyqt5.so
+
+%files gui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/wmctrl
+%attr(755,root,root) %{_libdir}/%{name}/PyQt5.*.so
+%attr(755,root,root) %{_libdir}/%{name}/dbus.mainloop.pyqt5.so
+%dir %{_libdir}/%{name}/images
+%{_libdir}/%{name}/images/emblems
+%{_libdir}/%{name}/images/hicolor
+%{_libdir}/%{name}/resources
This page took 0.139272 seconds and 4 git commands to generate.