]> git.pld-linux.org Git - packages/dropbox.git/blobdiff - dropbox.spec
libffi.so.6 librsync.so.1 bundled, noautoreq
[packages/dropbox.git] / dropbox.spec
index 58b7c2d1ac206e302b5df4d19da08cc0fdeed004..b564c071a24f2382ef48fb6079dff650bbc6f0d2 100644 (file)
@@ -1,24 +1,30 @@
+# 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://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall
 #   http://www.dropbox.com/downloading?os=lnx
+#   http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall
 Summary:       Sync and backup files between computers
 Name:          dropbox
-Version:       1.0.20
+Version:       3.4.3
 Release:       0.4
 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:       2bee70c090d48485bf6da98099d975f7
+# NoSource0-md5:       b3beb92548b7c7cf0cc279582d69ed85
 NoSource:      0
 Source1:       http://dl-web.dropbox.com/u/17/%{name}-lnx.x86_64-%{version}.tar.gz
-# NoSource1-md5:       ee0bde299a11d1edb95a192856822aad
+# NoSource1-md5:       8e3430df10bdb876a1e3cd374faa0594
 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)
@@ -26,8 +32,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 librsync.so.1
+%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
@@ -36,7 +45,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
@@ -48,6 +57,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}
@@ -56,32 +73,42 @@ 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 %{_libdir}/$a; done 2>/dev/null
+%{__rm} libpopt.so.0 libdrm.so.2 libGL.so.1
+#%{__rm} libffi.so.6 librsync.so.1
+#%{__rm} libQt5{Core,DBus,Gui,Network,OpenGL,PrintSupport,Qml,Quick,Sql,WebKit,WebKitWidgets,Widgets}.so.5
 
 # 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:
-# %{_libdir}/dropbox/libz.so.1: version `ZLIB_1.2.3.3' not found (required by /usr/lib64/libxml2.so.2)
-%{__rm} libz.so.1
-
-# don't really need test at runtime
-%{__rm} -r ncrypt-*.egg/ncrypt/test
+# 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' | \
+       awk '{print $NF}' > lib.delete
+zip library.zip -d $(cat lib.delete)
 
 %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} $RPM_BUILD_ROOT%{_libdir}/dropbox/{ACKNOWLEDGEMENTS,VERSION,README}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/{ACKNOWLEDGEMENTS,VERSION,README}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -90,21 +117,40 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %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
-
-%{_libdir}/dropbox/icons
+%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}/backports.ssl_match_hostname-*-py*.egg
+%{_libdir}/%{name}/cffi-*-py*.egg
+%{_libdir}/%{name}/distribute-*-py*.egg
+%{_libdir}/%{name}/dropbox_sqlite_ext-*-py*.egg
+%{_libdir}/%{name}/futures-*-py*.egg
+%{_libdir}/%{name}/mock-*-py*.egg
+%{_libdir}/%{name}/psutil-*-py*.egg
+%{_libdir}/%{name}/pycparser-*-py*.egg-info
+%{_libdir}/%{name}/requests-*-py*.egg
+%{_libdir}/%{name}/tornado-*-py*.egg
+
+# GUI parts
+%exclude %{_libdir}/%{name}/PyQt5.*.so
+%exclude %{_libdir}/%{name}/libQt5*.so.5
+%exclude %{_libdir}/%{name}/libX11-xcb.so.1
+%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}/libQt5*.so.5
+%attr(755,root,root) %{_libdir}/%{name}/libX11-xcb.so.1
+%attr(755,root,root) %{_libdir}/%{name}/dbus.mainloop.pyqt5.so
+%dir %{_libdir}/%{name}/plugins
+%dir %{_libdir}/%{name}/plugins/platforms
+%attr(755,root,root) %{_libdir}/%{name}/plugins/platforms/libqxcb.so
+%{_libdir}/%{name}/qt.conf
+%dir %{_libdir}/%{name}/images
+%{_libdir}/%{name}/images/emblems
+%{_libdir}/%{name}/images/hicolor
This page took 0.106662 seconds and 4 git commands to generate.