File asuswebstorage.spec of Package asuswebstorage
#
# spec file for package asuswebstorage
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: asuswebstorage
# asuswebstorage license does not permit redistributability without permission.
# Only private builds can set PACKAGE_ORIG to 1.
%define PACKAGE_ORIG 0
Version: 0.9.5.24
Release: 0
%if %PACKAGE_ORIG
Summary: ASUS WebStorage
%else
Summary: ASUS WebStorage Online Installer
%endif
License: SUSE-NonFree
Group: System/GUI/GNOME
Url: http://www.asuswebstorage.com/
%if !%PACKAGE_ORIG
Requires(post): binutils
Requires(post): curl
Requires(post): fdupes
Requires(post): icns-utils
%else
Source: http://dl.asuswebstorage.com/asuswebstorage/client_update/asp/usync/ASUSWebStorage.deb
BuildRequires: binutils
BuildRequires: fdupes
BuildRequires: icns-utils
%endif
BuildRequires: hicolor-icon-theme
Requires: mono-winforms
Requires: mono(glade-sharp) = 2.12.0.0
Requires: mono(notify-sharp) = 0.4.0.0
Requires: /bin/bash
BuildRequires: desktop-file-utils
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
ASUS WebStorage turns your computer as an extension storage,
synchronized between every device of yours with WebStorage installed to
makes your digital life complete. From office documents, photos, videos,
anything you can think of, put it on ASUS WebStorage then access anytime
and access it instant synchronize from your computer, mobile devices or
from the web. Find out why millions of people worldwide use ASUS
WebStorage: please visit www.asuswebstorage.com
Synchronize between multiple devices supported ¡V Windows, OS X, iOS,
Android Just a click you can share files or folders to your friends
**ASUS WebStorage is compatible with any brand of computer
%if !%PACKAGE_ORIG
WARNING: Due to licensing issues (ASUS WebStorage package is not
re-distributable), this is only a rpm installation wrapper package and
does not contain ASUS WebStorage program. It will fetch ASUS WebStorage
package from the ASUS web site every time you install it, unpacks it and
integrates to the RPM package. You have to be online. Installation could
fail if the file is not available or it is changed.
%endif
%prep
%setup -T -c %{name}-%{version}
%if %PACKAGE_ORIG
ar -x %{S:0}
tar -zxf data.tar.gz
chmod -x usr/lib/ASUSWebStorage/*/*
chmod -x etc/xdg/autostart/*.desktop usr/share/applications/*.desktop
# en_US lines are malformed. Removing them does not cause any regression.
sed -i '1{/^$/d};/en_US/d;s/= /=/;s/= /=/' etc/xdg/autostart/aws-autostart.desktop usr/share/applications/aws-autostart.desktop
# Remove icon used by ASUSWebStorage.deb that does not match standard sizes.
rm "usr/local/share/ASUS WebStorage/ASUS WebStorage.png" "usr/local/share/ASUS WebStorage/ASUSWebStorage.png" "usr/local/share/ASUSWebStorage/ASUS WebStorage.png" usr/local/share/ASUSWebStorage/ASUSWebStorage.png
rmdir "usr/local/share/ASUS WebStorage" "usr/local/share/ASUSWebStorage" usr/local/share usr/local
# Use icons from desktop_icon.icns which are exactly the same, but have proper sizes.
icns2png -x usr/lib/ASUSWebStorage/Image/desktop_icon.icns >/dev/null
for SIZE in 16 32 48 128 256 ; do
mkdir -p usr/share/icons/hicolor/${SIZE}x${SIZE}/apps
mv desktop_icon_${SIZE}x${SIZE}x32.png usr/share/icons/hicolor/${SIZE}x${SIZE}/apps/ASUSWebStorage.png
done
# This icon does not match any standard size:
rm desktop_icon_512x512x32.png
sed -i "s:/usr/local/share/ASUSWebStorage/ASUS WebStorage.png:ASUSWebStorage:" etc/xdg/autostart/*.desktop usr/share/applications/*.desktop
echo "Categories=Network;FileTransfer;" >>usr/share/applications/aws-autostart.desktop
sed -i "s:mono /usr/lib/ASUSWebStorage/ASUSWebStorage.exe:/usr/lib/ASUSWebStorage/ASUSWebStorage.sh:" etc/xdg/autostart/*.desktop
mv etc/xdg/autostart/aws-autostart.desktop etc/xdg/autostart/ASUSWebStorage.desktop
mv usr/share/applications/aws-autostart.desktop usr/share/applications/ASUSWebStorage.desktop
rm control.tar.gz data.tar.gz debian-binary
%else
mkdir -p usr/lib/ASUSWebStorage
%endif
%build
cat >usr/lib/ASUSWebStorage/ASUSWebStorage.sh <<EOF2
#!/bin/bash
# Prevent ASUSWebStorage login dialog popup on every login.
# User has to launch the first time login dialog manually.
if test -f ~/.ASUS/ASUS\ WebStorage/aws/A1_system_info.eeesync ; then
# Remove no more supported nautilus integration
rm -f ~/".gnome2/nautilus-scripts/Share to WebStorage" ~/".local/share/nautilus/scripts/Share to WebStorage Sync" ~/".local/share/nautilus/scripts/Share to WebStorage"
rmdir --ignore-fail-on-non-empty ~/.gnome2/nautilus-scripts
rmdir --ignore-fail-on-non-empty ~/.gnome2
exec mono /usr/lib/ASUSWebStorage/ASUSWebStorage.exe
else
exit 0
fi
EOF2
chmod +x usr/lib/ASUSWebStorage/ASUSWebStorage.sh
%install
cp -a ./* %buildroot/
%fdupes %buildroot/usr/lib
%if ! %PACKAGE_ORIG
mkdir -p %buildroot%{_datadir}/applications %buildroot%{_datadir}/pixmaps %buildroot%{_sysconfdir}/xdg/autostart
touch %buildroot%{_datadir}/applications/ASUSWebStorage.desktop
for SIZE in 16 32 48 128 256 ; do
mkdir -p %buildroot%{_datadir}/icons/hicolor/${SIZE}x${SIZE}/apps
touch %buildroot%{_datadir}/icons/hicolor/${SIZE}x${SIZE}/apps/ASUSWebStorage.png
done
mkdir -p %buildroot%{_prefix}/lib/ASUSWebStorage
touch %buildroot%{_prefix}/lib/ASUSWebStorage/ASUSWebStorage.exe
chmod +x %buildroot%{_prefix}/lib/ASUSWebStorage/ASUSWebStorage.exe
mkdir -p %buildroot%{_prefix}/lib/ASUSWebStorage/Image
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/MySyncFolder.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/bg00.png
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/bg01.png
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/bg03.png
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/desktop_hard.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/desktop_icon.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/icon-idle.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/icon-init.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/icon-nonetwork.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/icon-syncing.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/icon-syncing2.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/icon-syncing3.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/icon-syncing4.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/logo.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/logout.ico
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/nowifi.icns
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/oobe_pic01.png
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Image/oobe_pic02.png
mkdir -p %buildroot%{_prefix}/lib/ASUSWebStorage/Language
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/URL.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/de-de.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/en-us.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/es-es.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/fr-fr.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/it-it.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/ja-jp.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/ko-kr.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/pt-pt.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/ru-ru.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/zh-cn.resx
touch %buildroot%{_prefix}/lib/ASUSWebStorage/Language/zh-tw.resx
touch %buildroot%{_sysconfdir}/xdg/autostart/ASUSWebStorage.desktop
%endif
%clean
rm -rf %buildroot
%post
%if ! %PACKAGE_ORIG
# Perform online installation
# Do not perform online installation while building.
if test -z "$BUILD_ROOT" ; then
if TEMPDIR=$(mktemp -d /tmp/rpm-ASUSWebStorage.XXXXXXXXXX) ; then
cd "$TEMPDIR"
if curl -s -O http://dl.asuswebstorage.com/asuswebstorage/client_update/asp/usync/ASUSWebStorage.deb ; then
if ! test "$(sha1sum ASUSWebStorage.deb)" = "61144cfeedf89085c64f283109c17311691cf412 ASUSWebStorage.deb" ; then
echo >&2 "ASUSWebStorage.deb file downloaded from the net do not match the one expected by the package."
exit 1
fi
# Verbatim copy of %prep
ar -x ASUSWebStorage.deb
tar -zxf data.tar.gz
chmod -x usr/lib/ASUSWebStorage/*/*
chmod -x etc/xdg/autostart/*.desktop usr/share/applications/*.desktop
# en_US lines are malformed. Removing them does not cause any regression.
sed -i '1{/^$/d};/en_US/d;s/= /=/;s/= /=/' etc/xdg/autostart/aws-autostart.desktop usr/share/applications/aws-autostart.desktop
# Remove icon used by ASUSWebStorage.deb that does not match standard sizes.
rm "usr/local/share/ASUS WebStorage/ASUS WebStorage.png" "usr/local/share/ASUS WebStorage/ASUSWebStorage.png" "usr/local/share/ASUSWebStorage/ASUS WebStorage.png" usr/local/share/ASUSWebStorage/ASUSWebStorage.png
rmdir "usr/local/share/ASUS WebStorage" "usr/local/share/ASUSWebStorage" usr/local/share usr/local
# Use icons from desktop_icon.icns which are exactly the same, but have proper sizes.
icns2png -x usr/lib/ASUSWebStorage/Image/desktop_icon.icns >/dev/null
for SIZE in 16 32 48 128 256 ; do
mkdir -p usr/share/icons/hicolor/${SIZE}x${SIZE}/apps
mv desktop_icon_${SIZE}x${SIZE}x32.png usr/share/icons/hicolor/${SIZE}x${SIZE}/apps/ASUSWebStorage.png
done
# This icon does not match any standard size:
rm desktop_icon_512x512x32.png
sed -i "s:/usr/local/share/ASUSWebStorage/ASUS WebStorage.png:ASUSWebStorage:" etc/xdg/autostart/*.desktop usr/share/applications/*.desktop
echo "Categories=Network;FileTransfer;" >>usr/share/applications/aws-autostart.desktop
sed -i "s:mono /usr/lib/ASUSWebStorage/ASUSWebStorage.exe:/usr/lib/ASUSWebStorage/ASUSWebStorage.sh:" etc/xdg/autostart/*.desktop
mv etc/xdg/autostart/aws-autostart.desktop etc/xdg/autostart/ASUSWebStorage.desktop
mv usr/share/applications/aws-autostart.desktop usr/share/applications/ASUSWebStorage.desktop
rm control.tar.gz data.tar.gz debian-binary
# Copy of %install on local directory
%fdupes usr/lib
# Now install files.
rm ASUSWebStorage.deb
chown -R root:root .
cp -a * /
cd - >/dev/null
rm -r $TEMPDIR
else
echo >&2 "ASUSWebStorage online install rpm: ASUSWebStorage.deb download failed."
echo >&2 " Please uninstall this package and try again later."
cd - >/dev/null
rm -r $TEMPDIR
exit 1
fi
else
echo >&2 "ASUSWebStorage online install rpm: Fatal error! mktemp failed."
exit 1
fi
fi
%endif
# Remove not-overwritten files from manually installed ASUSWebStorage.deb.
rm -rf /etc/xdg/autostart/aws-autostart.desktop /usr/local/share/ASUS\ WebStorage /usr/local/share/ASUSWebStorage /usr/share/applications/aws-autostart.desktop
%icon_theme_cache_post
%desktop_database_post
%postun
%icon_theme_cache_postun
%desktop_database_postun
%files
%defattr(-,root,root)
%if %PACKAGE_ORIG
%{_datadir}/applications/ASUSWebStorage.desktop
%{_datadir}/icons/hicolor/16x16/apps/ASUSWebStorage.png
%{_datadir}/icons/hicolor/32x32/apps/ASUSWebStorage.png
%{_datadir}/icons/hicolor/48x48/apps/ASUSWebStorage.png
%{_datadir}/icons/hicolor/128x128/apps/ASUSWebStorage.png
%{_datadir}/icons/hicolor/256x256/apps/ASUSWebStorage.png
%dir %{_prefix}/lib/ASUSWebStorage
%{_prefix}/lib/ASUSWebStorage/ASUSWebStorage.exe
%{_prefix}/lib/ASUSWebStorage/ASUSWebStorage.sh
%dir %{_prefix}/lib/ASUSWebStorage/Image
%{_prefix}/lib/ASUSWebStorage/Image/MySyncFolder.icns
%{_prefix}/lib/ASUSWebStorage/Image/bg00.png
%{_prefix}/lib/ASUSWebStorage/Image/bg01.png
%{_prefix}/lib/ASUSWebStorage/Image/bg03.png
%{_prefix}/lib/ASUSWebStorage/Image/desktop_hard.icns
%{_prefix}/lib/ASUSWebStorage/Image/desktop_icon.icns
%{_prefix}/lib/ASUSWebStorage/Image/icon-idle.icns
%{_prefix}/lib/ASUSWebStorage/Image/icon-init.icns
%{_prefix}/lib/ASUSWebStorage/Image/icon-nonetwork.icns
%{_prefix}/lib/ASUSWebStorage/Image/icon-syncing.icns
%{_prefix}/lib/ASUSWebStorage/Image/icon-syncing2.icns
%{_prefix}/lib/ASUSWebStorage/Image/icon-syncing3.icns
%{_prefix}/lib/ASUSWebStorage/Image/icon-syncing4.icns
%{_prefix}/lib/ASUSWebStorage/Image/logo.icns
%{_prefix}/lib/ASUSWebStorage/Image/logout.ico
%{_prefix}/lib/ASUSWebStorage/Image/nowifi.icns
%{_prefix}/lib/ASUSWebStorage/Image/oobe_pic01.png
%{_prefix}/lib/ASUSWebStorage/Image/oobe_pic02.png
%dir %{_prefix}/lib/ASUSWebStorage/Language
%{_prefix}/lib/ASUSWebStorage/Language/URL.resx
%{_prefix}/lib/ASUSWebStorage/Language/de-de.resx
%{_prefix}/lib/ASUSWebStorage/Language/en-us.resx
%{_prefix}/lib/ASUSWebStorage/Language/es-es.resx
%{_prefix}/lib/ASUSWebStorage/Language/fr-fr.resx
%{_prefix}/lib/ASUSWebStorage/Language/it-it.resx
%{_prefix}/lib/ASUSWebStorage/Language/ja-jp.resx
%{_prefix}/lib/ASUSWebStorage/Language/ko-kr.resx
%{_prefix}/lib/ASUSWebStorage/Language/pt-pt.resx
%{_prefix}/lib/ASUSWebStorage/Language/ru-ru.resx
%{_prefix}/lib/ASUSWebStorage/Language/zh-cn.resx
%{_prefix}/lib/ASUSWebStorage/Language/zh-tw.resx
%{_sysconfdir}/xdg/autostart/ASUSWebStorage.desktop
%else
%ghost %{_datadir}/applications/ASUSWebStorage.desktop
%ghost %{_datadir}/icons/hicolor/16x16/apps/ASUSWebStorage.png
%ghost %{_datadir}/icons/hicolor/32x32/apps/ASUSWebStorage.png
%ghost %{_datadir}/icons/hicolor/48x48/apps/ASUSWebStorage.png
%ghost %{_datadir}/icons/hicolor/128x128/apps/ASUSWebStorage.png
%ghost %{_datadir}/icons/hicolor/256x256/apps/ASUSWebStorage.png
%dir %{_prefix}/lib/ASUSWebStorage
%ghost %{_prefix}/lib/ASUSWebStorage/ASUSWebStorage.exe
%{_prefix}/lib/ASUSWebStorage/ASUSWebStorage.sh
%ghost %dir %{_prefix}/lib/ASUSWebStorage/Image
%ghost %{_prefix}/lib/ASUSWebStorage/Image/MySyncFolder.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/bg00.png
%ghost %{_prefix}/lib/ASUSWebStorage/Image/bg01.png
%ghost %{_prefix}/lib/ASUSWebStorage/Image/bg03.png
%ghost %{_prefix}/lib/ASUSWebStorage/Image/desktop_hard.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/desktop_icon.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/icon-idle.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/icon-init.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/icon-nonetwork.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/icon-syncing.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/icon-syncing2.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/icon-syncing3.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/icon-syncing4.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/logo.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/logout.ico
%ghost %{_prefix}/lib/ASUSWebStorage/Image/nowifi.icns
%ghost %{_prefix}/lib/ASUSWebStorage/Image/oobe_pic01.png
%ghost %{_prefix}/lib/ASUSWebStorage/Image/oobe_pic02.png
%ghost %dir %{_prefix}/lib/ASUSWebStorage/Language
%ghost %{_prefix}/lib/ASUSWebStorage/Language/URL.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/de-de.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/en-us.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/es-es.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/fr-fr.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/it-it.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/ja-jp.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/ko-kr.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/pt-pt.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/ru-ru.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/zh-cn.resx
%ghost %{_prefix}/lib/ASUSWebStorage/Language/zh-tw.resx
%ghost %{_sysconfdir}/xdg/autostart/ASUSWebStorage.desktop
%endif
%changelog