X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=dropbox.spec;h=3a9e2f2d4c76e77ef2eb788edf5fcc7a64b73189;hb=47ecefe51cc0db42c44498caf792f7ad3715fb73;hp=b8193277c49f9aeabb792490f15a18b69b7664ef;hpb=b70c96aeb0ea0f0a73ed872ff89b4a61c9a03829;p=packages%2Fdropbox.git diff --git a/dropbox.spec b/dropbox.spec index b819327..3a9e2f2 100644 --- a/dropbox.spec +++ b/dropbox.spec @@ -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: 37.4.29 +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: 9b7d1019f4e6cb3e626d415c993a9d24 NoSource: 0 Source1: http://dl-web.dropbox.com/u/17/%{name}-lnx.x86_64-%{version}.tar.gz -# NoSource1-md5: 434fb3451d1f638bddde2f5691beb426 +# NoSource1-md5: ad284adde6879437e27b6753a5ac381e 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,78 @@ 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 +%{__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 + +# keep librsync, won't finish syncing if not using upstream copy +test -f librsync.so.1 + +# 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 + +# need +x bits for .so files +%defattr(-,root,root,-) +%{_libdir}/%{name}/dropbox_sqlite_ext-*-py*.egg +%{_libdir}/%{name}/setuptools-*-py*.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