summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>2010-04-04 15:51:48 +0000
committerJorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>2010-04-04 15:51:48 +0000
commit78db21b88b0116b7dcab406863f8721d1d89d26e (patch)
tree94bb96d452e1b096671a284a24883439ac8883a4 /kde-base/kopete
parentalpha/arm/ia64/sparc stable wrt #304229 (diff)
downloadgentoo-2-78db21b88b0116b7dcab406863f8721d1d89d26e.tar.gz
gentoo-2-78db21b88b0116b7dcab406863f8721d1d89d26e.tar.bz2
gentoo-2-78db21b88b0116b7dcab406863f8721d1d89d26e.zip
[kde-base/kopete-4.4.2-r1] Revbumped kopete to apply a few fixes:
Added upstream patch to fix issues with yahoo and stealth. Fixes bug 311445 - thanks to Navid Zamani <navid.zamani@googlemail.com>. Replaced bonjour with zeroconf use flag. Fixes bug 307105 - thanks to Doktor Notor <notordoktor@gmail.com>. Added explicit dep on kde-base/qimageblitz. Fixes bug 307803. (Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'kde-base/kopete')
-rw-r--r--kde-base/kopete/ChangeLog14
-rw-r--r--kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch330
-rw-r--r--kde-base/kopete/kopete-4.4.2-r1.ebuild157
-rw-r--r--kde-base/kopete/metadata.xml1
4 files changed, 501 insertions, 1 deletions
diff --git a/kde-base/kopete/ChangeLog b/kde-base/kopete/ChangeLog
index 98882387c599..ff060604d5d9 100644
--- a/kde-base/kopete/ChangeLog
+++ b/kde-base/kopete/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for kde-base/kopete
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kopete/ChangeLog,v 1.245 2010/03/31 22:57:47 spatz Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kopete/ChangeLog,v 1.246 2010/04/04 15:51:47 jmbsvicetto Exp $
+
+*kopete-4.4.2-r1 (04 Apr 2010)
+
+ 04 Apr 2010; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
+ +kopete-4.4.2-r1.ebuild, +files/kopete-4.4.2-yahoo-stealth-fix.patch,
+ metadata.xml:
+ [kde-base/kopete-4.4.2-r1] Revbumped kopete to apply a few fixes:
+ Added upstream patch to fix issues with yahoo and stealth. Fixes bug
+ 311445 - thanks to Navid Zamani <navid.zamani@googlemail.com>.
+ Replaced bonjour with zeroconf use flag. Fixes bug 307105 - thanks to
+ Doktor Notor <notordoktor@gmail.com>.
+ Added explicit dep on kde-base/qimageblitz. Fixes bug 307803.
31 Mar 2010; Dror Levin <spatz@gentoo.org> -kopete-4.3.4.ebuild,
-kopete-4.4.0.ebuild:
diff --git a/kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch b/kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch
new file mode 100644
index 000000000000..768d3f044747
--- /dev/null
+++ b/kde-base/kopete/files/kopete-4.4.2-yahoo-stealth-fix.patch
@@ -0,0 +1,330 @@
+Index: kopete/protocols/yahoo/libkyahoo/listtask.cpp
+===================================================================
+--- kopete/protocols/yahoo/libkyahoo/listtask.cpp (revision 1110517)
++++ kopete/protocols/yahoo/libkyahoo/listtask.cpp (working copy)
+@@ -34,9 +34,6 @@
+
+ }
+
+-QStringList loginstealthedbuddies;
+-QStringList loginunstealthedbuddies;
+-
+ bool ListTask::take( Transfer* transfer )
+ {
+ if ( !forMe( transfer ) )
+@@ -85,47 +82,30 @@
+ case 301:
+ if( p.second == "319"){
+ emit gotBuddy( buddy, QString(), group );
+- /**
+- * Note: michaelacole
+- * Since you can log in from other places and remove or add Perm Offline status
+- * We have to reset both conditions at login
+- * Yahoo sends this data at this time,
+- * so better to compile list of both now then notify kopete client.
+- */
+- loginunstealthedbuddies.append( buddy );
+ }
+ break;
+ case 317:
+ if( p.second == "2"){
+- kDebug(YAHOO_RAW_DEBUG) << "Stealthed setting on" << buddy ;
+- /** Note: michaelacole
+- * Since you can log in from other places and remove or add Perm Offline status
+- * We have to reset both conditions at login
+- * Yahoo sends this data at this time,
+- * so better to compile list of both now then notify kopete client.
+- */
+- loginstealthedbuddies.append( buddy );
+- loginunstealthedbuddies.removeAll( buddy );
++ kDebug(YAHOO_RAW_DEBUG) << "Stealthed setting on" << buddy ;
++ emit stealthStatusChanged( buddy, Yahoo::StealthActive );
+ };
+ break;
+- /**
+- * Note: michaelacole
+- * Other buddy codes are here for add to list and blacklist
+- * I will need to capute more codes for addition here.
+- * Blacklist is done on the server at Yahoo whereas
+- * Kopete has its own plugin for blacklisting.
+- */
++ /**
++ * Note: michaelacole
++ * Other buddy codes are here for add to list and blacklist
++ * I will need to capute more codes for addition here.
++ * Blacklist is done on the server at Yahoo whereas
++ * Kopete has its own plugin for blacklisting.
++ */
+ }
+ }
+- /**
+- * Note: michaelacole
+- * Since you can log in from other places and remove or add Perm Offline status
+- * We have to reset both conditions at login
+- * Yahoo sends this data at this time,
+- * so better to compile list of both now then notify kopete client.
+- */
+- client()->notifyUnstealthedBuddies( loginunstealthedbuddies );
+- client()->notifyStealthedBuddies( loginstealthedbuddies );
++ /**
++ * Note: michaelacole
++ * Since you can log in from other places and remove or add Perm Offline status
++ * We have to reset both conditions at login
++ * Yahoo sends this data at this time,
++ * so better to compile list of both now then notify kopete client.
++ */
+ }
+
+
+Index: kopete/protocols/yahoo/libkyahoo/client.cpp
+===================================================================
+--- kopete/protocols/yahoo/libkyahoo/client.cpp (revision 1110517)
++++ kopete/protocols/yahoo/libkyahoo/client.cpp (working copy)
+@@ -76,8 +76,7 @@
+ int error;
+ QString errorString;
+ QString errorInformation;
+- QStringList stealthedBuddies;
+- QStringList unstealthedBuddies;
++ QSet<QString> stealthedBuddies;
+ // tasks
+ bool tasksInitialized;
+ LoginTask * loginTask;
+@@ -133,14 +132,13 @@
+
+ QObject::connect( d->loginTask, SIGNAL( haveSessionID( uint ) ), SLOT( lt_gotSessionID( uint ) ) );
+ QObject::connect( d->loginTask, SIGNAL( buddyListReady() ), SLOT( processPictureQueue() ) );
+- QObject::connect( d->loginTask, SIGNAL( buddyListReady() ), SLOT( processStealthQueue() ) );
+ QObject::connect( d->loginTask, SIGNAL( loginResponse( int, const QString& ) ),
+ SLOT( slotLoginResponse( int, const QString& ) ) );
+ QObject::connect( d->loginTask, SIGNAL( haveCookies() ), SLOT( slotGotCookies() ) );
+ QObject::connect( d->listTask, SIGNAL( gotBuddy(const QString &, const QString &, const QString &) ),
+ SIGNAL( gotBuddy(const QString &, const QString &, const QString &) ) );
+ QObject::connect( d->listTask, SIGNAL( stealthStatusChanged( const QString&, Yahoo::StealthStatus ) ),
+- SIGNAL( stealthStatusChanged( const QString&, Yahoo::StealthStatus ) ) );
++ SLOT( notifyStealthStatusChanged( const QString&, Yahoo::StealthStatus ) ) );
+ }
+
+ Client::~Client()
+@@ -182,9 +180,11 @@
+ emit connected();
+ kDebug(YAHOO_RAW_DEBUG) << " starting login task ... ";
+
++ // Clear stealth settings
++ d->stealthedBuddies.clear();
++
+ d->loginTask->setStateOnConnect( (d->statusOnConnect == Yahoo::StatusInvisible) ? Yahoo::StatusInvisible : Yahoo::StatusAvailable );
+ d->loginTask->go();
+- processStealthQueue();
+ d->active = true;
+ }
+
+@@ -615,29 +615,6 @@
+ spt->go( true );
+ }
+
+-// **** Stealth Handling **** michaelacole
+-void Client::processStealthQueue()
+-{
+- if( d->buddyListReady ){
+- while (!d->unstealthedBuddies.isEmpty())
+- {
+- QString it;
+- it = d->unstealthedBuddies.takeFirst();
+- kDebug(YAHOO_RAW_DEBUG) << "unstealthed setting set on" << it;
+- stealthContact( it, Yahoo::StealthOffline , Yahoo::StealthNotActive );
+- }
+-
+- while (!d->stealthedBuddies.isEmpty())
+- {
+- QString it;
+- it = d->stealthedBuddies.takeFirst();
+- kDebug(YAHOO_RAW_DEBUG) << "stealthed setting set on" << it ;
+- stealthContact( it, Yahoo::StealthPermOffline , Yahoo::StealthActive );
+- }
+- }
+-}
+-
+-
+ // ***** Webcam handling *****
+
+ void Client::requestWebcam( const QString &userId )
+@@ -767,14 +744,22 @@
+ emit error( level );
+ }
+
+-void Client::notifyStealthedBuddies( const QStringList &buddies)
++Yahoo::StealthStatus Client::stealthStatus( const QString &userId ) const
+ {
+- d->stealthedBuddies = buddies;
++ if ( d->stealthedBuddies.contains( userId ) )
++ return Yahoo::StealthActive;
++ else
++ return Yahoo::StealthNotActive;
+ }
+
+-void Client::notifyUnstealthedBuddies( const QStringList &buddies)
++void Client::notifyStealthStatusChanged( const QString &userId, Yahoo::StealthStatus state )
+ {
+- d->unstealthedBuddies = buddies;
++ if ( state == Yahoo::StealthActive )
++ d->stealthedBuddies.insert( userId );
++ else
++ d->stealthedBuddies.remove( userId );
++
++ emit stealthStatusChanged( userId, state );
+ }
+
+ QString Client::userId()
+@@ -902,7 +887,7 @@
+ QObject::connect( d->statusTask, SIGNAL( statusChanged(QString,int,const QString,int,int,int) ),
+ SIGNAL( statusChanged(QString,int,const QString,int,int,int) ) );
+ QObject::connect( d->statusTask, SIGNAL( stealthStatusChanged( const QString&, Yahoo::StealthStatus ) ),
+- SIGNAL( stealthStatusChanged( const QString&, Yahoo::StealthStatus ) ) );
++ SLOT( notifyStealthStatusChanged( const QString&, Yahoo::StealthStatus ) ) );
+ QObject::connect( d->statusTask, SIGNAL( loginResponse( int, const QString& ) ),
+ SLOT( slotLoginResponse( int, const QString& ) ) );
+ QObject::connect( d->statusTask, SIGNAL( authorizationRejected( const QString&, const QString& ) ),
+Index: kopete/protocols/yahoo/libkyahoo/listtask.h
+===================================================================
+--- kopete/protocols/yahoo/libkyahoo/listtask.h (revision 1110517)
++++ kopete/protocols/yahoo/libkyahoo/listtask.h (working copy)
+@@ -40,7 +40,7 @@
+
+ signals:
+ void gotBuddy(const QString&, const QString&, const QString&);
+-
++ void stealthStatusChanged( const QString&, Yahoo::StealthStatus );
+ };
+
+ #endif
+Index: kopete/protocols/yahoo/libkyahoo/client.h
+===================================================================
+--- kopete/protocols/yahoo/libkyahoo/client.h (revision 1110517)
++++ kopete/protocols/yahoo/libkyahoo/client.h (working copy)
+@@ -189,6 +189,12 @@
+ void stealthContact( QString const &userId, Yahoo::StealthMode mode, Yahoo::StealthStatus state );
+
+ /**
++ * Get the stealth status of a buddy
++ * @param userId the yahoo ID of the buddy
++ */
++ Yahoo::StealthStatus stealthStatus( const QString &userId ) const;
++
++ /**
+ * Request the buddy's picture
+ * @param userId the yahoo ID of the buddy
+ */
+@@ -456,12 +462,6 @@
+ */
+ void notifyError( const QString &info, const QString &errorString, LogLevel level );
+
+- /**
+- * Steathed information from login..
+- */
+- void notifyStealthedBuddies( const QStringList &buddies);
+- void notifyUnstealthedBuddies( const QStringList &buddies);
+-
+ signals:
+ /** CONNECTION EVENTS */
+ /**
+@@ -723,10 +723,10 @@
+ */
+ void processPictureQueue();
+
+- /**
+- * Update all Stealth info after login
++ /**
++ * Steathed information from login..
+ */
+- void processStealthQueue();
++ void notifyStealthStatusChanged( const QString &, Yahoo::StealthStatus );
+
+ private:
+ void distribute( Transfer *transfer );
+Index: kopete/protocols/yahoo/yahoocontact.h
+===================================================================
+--- kopete/protocols/yahoo/yahoocontact.h (revision 1110517)
++++ kopete/protocols/yahoo/yahoocontact.h (working copy)
+@@ -56,8 +56,8 @@
+
+ void setOnlineStatus(const Kopete::OnlineStatus &status);
+ void setYahooStatus( const Kopete::OnlineStatus& );
+- void setStealthed( bool );
+- bool stealthed();
++ void updateStealthed();
++ bool stealthed() const;
+
+
+ /** The group name getter and setter methods**/
+@@ -121,7 +121,6 @@
+ YahooChatSession *m_manager;
+ YahooWebcamDialog* m_webcamDialog;
+ YahooAccount* m_account;
+- bool m_stealthed;
+ bool m_receivingWebcam;
+ bool m_sessionActive;
+
+Index: kopete/protocols/yahoo/yahoocontact.cpp
+===================================================================
+--- kopete/protocols/yahoo/yahoocontact.cpp (revision 1110517)
++++ kopete/protocols/yahoo/yahoocontact.cpp (working copy)
+@@ -74,7 +74,6 @@
+ m_manager = 0L;
+ m_account = account;
+ m_YABEntry = 0L;
+- m_stealthed = false;
+ m_receivingWebcam = false;
+ m_sessionActive = false;
+
+@@ -109,7 +108,8 @@
+
+ void YahooContact::setOnlineStatus(const Kopete::OnlineStatus &status)
+ {
+- if( m_stealthed && status.internalStatus() <= 999) // Not Stealted -> Stealthed
++ bool isStealthed = stealthed();
++ if( isStealthed && status.internalStatus() <= 999) // Not Stealted -> Stealthed
+ {
+ Contact::setOnlineStatus(
+ Kopete::OnlineStatus(status.status() ,
+@@ -119,7 +119,7 @@
+ status.overlayIcons() + QStringList("yahoo_stealthed") ,
+ i18n("%1|Stealthed", status.description() ) ) );
+ }
+- else if( !m_stealthed && status.internalStatus() > 999 )// Stealthed -> Not Stealthed
++ else if( !isStealthed && status.internalStatus() > 999 )// Stealthed -> Not Stealthed
+ Contact::setOnlineStatus( static_cast< YahooProtocol *>( protocol() )->statusFromYahoo( status.internalStatus() - 1000 ) );
+ else
+ Contact::setOnlineStatus( status );
+@@ -128,15 +128,14 @@
+ setStatusMessage( Kopete::StatusMessage() );
+ }
+
+-void YahooContact::setStealthed( bool stealthed )
++void YahooContact::updateStealthed()
+ {
+- m_stealthed = stealthed;
+ setOnlineStatus( onlineStatus() );
+ }
+
+-bool YahooContact::stealthed()
++bool YahooContact::stealthed() const
+ {
+- return m_stealthed;
++ return (m_account->yahooSession()->stealthStatus( m_userId ) == Yahoo::StealthActive );
+ }
+
+ void YahooContact::serialize(QMap<QString, QString> &serializedData, QMap<QString, QString> &addressBookData)
+Index: kopete/protocols/yahoo/yahooaccount.cpp
+===================================================================
+--- kopete/protocols/yahoo/yahooaccount.cpp (revision 1110517)
++++ kopete/protocols/yahoo/yahooaccount.cpp (working copy)
+@@ -978,7 +978,7 @@
+ kDebug(YAHOO_GEN_DEBUG) << "contact " << who << " doesn't exist.";
+ return;
+ }
+- kc->setStealthed( state == Yahoo::StealthActive );
++ kc->updateStealthed();
+ }
+
+ QString YahooAccount::prepareIncomingMessage( const QString &messageText )
diff --git a/kde-base/kopete/kopete-4.4.2-r1.ebuild b/kde-base/kopete/kopete-4.4.2-r1.ebuild
new file mode 100644
index 000000000000..1542cea9b977
--- /dev/null
+++ b/kde-base/kopete/kopete-4.4.2-r1.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kopete/kopete-4.4.2-r1.ebuild,v 1.1 2010/04/04 15:51:47 jmbsvicetto Exp $
+
+EAPI="3"
+
+KMNAME="kdenetwork"
+inherit kde4-meta
+
+DESCRIPTION="KDE multi-protocol IM client"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug +handbook ssl v4l2"
+
+# tests hang, last checked for 4.2.96
+RESTRICT=test
+
+# Available plugins
+#
+# addbookmarks: NO DEPS
+# alias: NO DEPS (disabled upstream)
+# autoreplace: NO DEPS
+# contactnotes: NO DEPS
+# highlight: NO DEPS
+# history: NO DEPS
+# latex: virtual/latex as RDEPEND
+# nowlistening: NO DEPS
+# otr: libotr
+# pipes: NO DEPS
+# privacy: NO DEPS
+# statistics: dev-db/sqlite:3
+# texteffect: NO DEPS
+# translator: NO DEPS
+# urlpicpreview: NO DEPS
+# webpresence: libxml2 libxslt
+# NOTE: By default we enable all plugins that don't have any dependencies
+PLUGINS="+addbookmarks +autoreplace +contactnotes +highlight +history latex
++nowlistening otr +pipes +privacy +statistics +texteffect +translator
++urlpicpreview webpresence"
+
+# Available protocols
+#
+# gadu: net-libs/libgadu @since 4.3
+# groupwise: app-crypt/qca:2
+# irc: NO DEPS, probably will fail so inform user about it
+# jabber: net-dns/libidn app-crypt/qca:2 ENABLED BY DEFAULT NETWORK
+# jingle: media-libs/speex net-libs/ortp DISABLED BY UPSTREAM
+# meanwhile: net-libs/meanwhile
+# msn: libmsn == this is wlm plugin, we disable msn one
+# oscar: NO DEPS
+# qq: NO DEPS
+# telepathy: net-libs/decibel
+# testbed: NO DEPS
+# winpopup: NO DEPS
+# yahoo: NO DEPS
+# zeroconfg: (bonjour) NO DEPS
+PROTOCOLS="gadu groupwise +jabber jingle meanwhile msn oscar qq skype sms
+testbed winpopup yahoo zeroconf"
+
+# disabled protocols
+# telepathy: net-libs/decibel
+# irc: NO DEPS
+
+IUSE="${IUSE} ${PLUGINS} ${PROTOCOLS}"
+
+COMMONDEPEND="
+ dev-libs/libpcre
+ $(add_kdebase_dep kdepimlibs)
+ kde-base/qimageblitz
+ >=x11-libs/qt-gui-4.4.0:4[mng]
+ !aqua? ( x11-libs/libXScrnSaver )
+ gadu? ( >=net-libs/libgadu-1.8.0[threads] )
+ groupwise? ( app-crypt/qca:2 )
+ jabber? (
+ app-crypt/qca:2
+ net-dns/libidn
+ )
+ jingle? (
+ >=media-libs/mediastreamer-2.3.0
+ media-libs/speex
+ net-libs/ortp
+ )
+ meanwhile? ( net-libs/meanwhile )
+ msn? ( >=net-libs/libmsn-4.0 )
+ otr? ( >=net-libs/libotr-3.2.0 )
+ statistics? ( dev-db/sqlite:3 )
+ webpresence? ( dev-libs/libxml2 dev-libs/libxslt )
+ v4l2? ( media-libs/libv4l )
+"
+RDEPEND="${COMMONDEPEND}
+ latex? (
+ media-gfx/imagemagick
+ virtual/latex-base
+ )
+ sms? ( app-mobilephone/smssend )
+ ssl? ( app-crypt/qca-ossl )
+"
+# telepathy? ( net-libs/decibel )"
+DEPEND="${COMMONDEPEND}
+ !aqua? ( x11-proto/scrnsaverproto )
+"
+
+PATCHES=( "${FILESDIR}/${P}-yahoo-stealth-fix.patch" )
+
+src_prepare() {
+ sed -e "s:lib/mozilla:$(get_libdir)/mozilla:" \
+ -i kopete/protocols/skype/skypebuttons/CMakeLists.txt || die "sed failed"
+ sed -e '/set (LIBV4L2_REQUIRED TRUE)/s/TRUE/FALSE/' \
+ -i kopete/CMakeLists.txt || die 'failed to make v4l2 optional'
+
+ kde4-meta_src_prepare
+}
+
+src_configure() {
+ local x x2
+ # Handle common stuff
+ mycmakeargs=(
+ $(cmake-utils_use_with jingle GOOGLETALK)
+ $(cmake-utils_use_with jingle LiboRTP)
+ $(cmake-utils_use_with jingle Mediastreamer)
+ $(cmake-utils_use_with jingle Speex)
+ $(cmake-utils_use_with v4l2 LibV4L2)
+ )
+ # enable protocols
+ for x in ${PROTOCOLS}; do
+ [[ ${x/+/} = msn ]] && x2=Libmsn || x2=""
+ mycmakeargs+=($(cmake-utils_use_with ${x/+/} ${x2}))
+ [[ ${x/+/} = zeroconf ]] && x2=bonjour || x2=""
+ mycmakeargs+=($(cmake-utils_use_with ${x/+/} ${x2}))
+ done
+
+ # enable plugins
+ for x in ${PLUGINS}; do
+ mycmakeargs+=($(cmake-utils_use_with ${x/+/}))
+ done
+
+ kde4-meta_src_configure
+}
+
+pkg_postinst() {
+ kde4-meta_pkg_postinst
+
+ #if use telepathy; then
+ # elog "To use kopete telepathy plugins, you need to start gabble first:"
+ # elog "GABBLE_PERSIST=1 telepathy-gabble &"
+ # elog "export TELEPATHY_DATA_PATH='${EPREFIX}/usr/share/telepathy/managers/'"
+ #fi
+
+ if ! use ssl; then
+ if use jabber || use msn; then # || use irc; then
+ echo
+ #elog "In order to use ssl in jabber, msn and irc you'll need to"
+ elog "In order to use ssl in jabber and msn you'll need to"
+ elog "install app-crypt/qca-ossl package."
+ echo
+ fi
+ fi
+}
diff --git a/kde-base/kopete/metadata.xml b/kde-base/kopete/metadata.xml
index b2c6eb169963..f63d5abc811c 100644
--- a/kde-base/kopete/metadata.xml
+++ b/kde-base/kopete/metadata.xml
@@ -37,6 +37,7 @@
<flag name="testbed">Enable the testbed protocol.</flag>
<flag name="winpopup">Enable pop-up messages sending on windows. (same as good old "net send" messages ;])</flag>
<flag name="yahoo">Enable yahoo protocol support.</flag>
+ <flag name="zeroconf">Enable Link-Local Messaging via the bonjour protocol.</flag>
</use>
<herd>kde</herd>
</pkgmetadata>