[amarok/el6] Fixing EPEL

Keiran Smith affix at fedoraproject.org
Sun Mar 18 21:56:31 UTC 2012


commit 21ba70b4cc16222226ceb924cb83f69394e04533
Author: Keiran Smith <affix at affix.me>
Date:   Sun Mar 18 21:56:13 2012 +0000

    Fixing EPEL

 ...Load-all-tracks-from-XSPF-using-MetaProxy.patch |  753 +++++++++++++++++
 amarok-2.5.0-kde48_context_view.patch              |   59 ++
 amarok-2.5.0-onlinedoc.patch                       |   91 ++
 amarok.spec~                                       |  887 ++++++++++++++++++++
 4 files changed, 1790 insertions(+), 0 deletions(-)
---
diff --git a/0001-Load-all-tracks-from-XSPF-using-MetaProxy.patch b/0001-Load-all-tracks-from-XSPF-using-MetaProxy.patch
new file mode 100644
index 0000000..6ee7849
--- /dev/null
+++ b/0001-Load-all-tracks-from-XSPF-using-MetaProxy.patch
@@ -0,0 +1,753 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 4241e69..bbe3f75 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -284,6 +284,7 @@ set(libmetaimpl_SRCS
+     core-impl/meta/multi/MultiTrack.cpp
+     core-impl/meta/cue/CueFileSupport.cpp
+     core-impl/meta/proxy/MetaProxy.cpp
++    core-impl/meta/proxy/MetaProxyWorker.cpp
+     core-impl/meta/stream/Stream.cpp
+     core-impl/playlists/types/file/PlaylistFile.cpp
+     core-impl/statistics/providers/url/PermanentUrlStatisticsProvider.cpp
+diff --git a/src/core-impl/collections/support/CollectionManager.cpp b/src/core-impl/collections/support/CollectionManager.cpp
+index 37fe03a..9085b5a 100644
+--- a/src/core-impl/collections/support/CollectionManager.cpp
++++ b/src/core-impl/collections/support/CollectionManager.cpp
+@@ -463,6 +463,7 @@ CollectionManager::trackForUrl( const KUrl &url )
+         }
+     }
+ 
++    //TODO: create specific TrackProviders for these:
+     if( url.protocol() == QLatin1String("http") || url.protocol() == QLatin1String("mms") ||
+         url.protocol() == QLatin1String("smb") )
+         return Meta::TrackPtr( new MetaStream::Track( url ) );
+diff --git a/src/core-impl/meta/proxy/MetaProxy.h b/src/core-impl/meta/proxy/MetaProxy.h
+index d8329be..060223f 100644
+--- a/src/core-impl/meta/proxy/MetaProxy.h
++++ b/src/core-impl/meta/proxy/MetaProxy.h
+@@ -17,6 +17,8 @@
+ #ifndef AMAROK_METAPROXY_H
+ #define AMAROK_METAPROXY_H
+ 
++#include "MetaProxyWorker.h"
++
+ #include "core/meta/Meta.h"
+ #include "core/capabilities/Capability.h"
+ 
+@@ -82,6 +84,7 @@ namespace MetaProxy
+             virtual void setDiscNumber( int discNumber );
+ 
+             virtual qint64 length() const;
++            virtual void setLength( qint64 length );
+             virtual int filesize() const;
+             virtual int sampleRate() const;
+             virtual int bitrate() const;
+@@ -110,11 +113,12 @@ namespace MetaProxy
+ 		 * allows subclasses to create an instance of trackprovider which will only check the TrackProvider
+ 		 * passed to lookupTrack(TrackProvider*) for the real track.
+ 		 */
+-		Track( const KUrl &url, bool awaitLookupNotification);
++        Track( const KUrl &url, bool awaitLookupNotification );
++
+ 		/**
+ 		 * MetaProxy will check the given trackprovider if it can provide the track for the proxy's url.
+ 		 */
+-		void lookupTrack(Collections::TrackProvider *provider);
++        void lookupTrack( Collections::TrackProvider *provider );
+ 
+         /**
+          * MetaProxy will update the proxy with the track.
+@@ -123,7 +127,7 @@ namespace MetaProxy
+ 
+         private:
+ 			void init( const KUrl &url, bool awaitLookupNotification );
+-            Private * const d;
++            Private *const d;
+     };
+ 
+ }
+diff --git a/src/core-impl/meta/proxy/MetaProxy.cpp b/src/core-impl/meta/proxy/MetaProxy.cpp
+index d1577a2..6a27f0e 100644
+--- a/src/core-impl/meta/proxy/MetaProxy.cpp
++++ b/src/core-impl/meta/proxy/MetaProxy.cpp
+@@ -17,6 +17,7 @@
+ #include "core-impl/meta/proxy/MetaProxy.h"
+ #include "core-impl/meta/proxy/MetaProxy_p.h"
+ #include "core-impl/meta/proxy/MetaProxy_p.moc"
++#include "core-impl/meta/proxy/MetaProxyWorker.h"
+ 
+ #include "core/capabilities/EditCapability.h"
+ 
+@@ -27,6 +28,7 @@
+ #include <QTimer>
+ 
+ #include <KSharedPtr>
++#include <threadweaver/ThreadWeaver.h>
+ 
+ using namespace MetaProxy;
+ 
+@@ -83,18 +85,20 @@ MetaProxy::Track::init( const KUrl &url, bool awaitLookupNotification )
+ 	d->url = url;
+     d->proxy = this;
+     d->cachedLength = 0;
+-
+-	if( !awaitLookupNotification )
+-    {
+-        QObject::connect( CollectionManager::instance(), SIGNAL( trackProviderAdded( Collections::TrackProvider* ) ), d, SLOT( slotNewTrackProvider( Collections::TrackProvider* ) ) );
+-        QObject::connect( CollectionManager::instance(), SIGNAL( collectionAdded( Collections::Collection* ) ), d, SLOT( slotNewCollection( Collections::Collection* ) ) );
+-    }
+-
+     d->albumPtr = Meta::AlbumPtr( new ProxyAlbum( d ) );
+     d->artistPtr = Meta::ArtistPtr( new ProxyArtist( d ) );
+     d->genrePtr = Meta::GenrePtr( new ProxyGenre( d ) );
+     d->composerPtr = Meta::ComposerPtr( new ProxyComposer( d ) );
+     d->yearPtr = Meta::YearPtr( new ProxyYear( d ) );
++
++    if( !awaitLookupNotification )
++    {
++        Worker *worker = new Worker( d->url );
++        QObject::connect( worker, SIGNAL(finishedLookup( const Meta::TrackPtr & )),
++                d, SLOT(slotUpdateTrack(Meta::TrackPtr)) );
++
++        ThreadWeaver::Weaver::instance()->enqueue( worker );
++    }
+ }
+ 
+ MetaProxy::Track::~Track()
+@@ -345,6 +349,12 @@ MetaProxy::Track::length() const
+     return d->cachedLength;
+ }
+ 
++void
++MetaProxy::Track::setLength( qint64 length )
++{
++    d->cachedLength = length;
++}
++
+ int
+ MetaProxy::Track::filesize() const
+ {
+@@ -424,7 +434,7 @@ MetaProxy::Track::inCollection() const
+     return false;
+ }
+ 
+-Collections::Collection*
++Collections::Collection *
+ MetaProxy::Track::collection() const
+ {
+     if( d->realTrack )
+@@ -450,7 +460,11 @@ MetaProxy::Track::unsubscribe( Meta::Observer *observer )
+ void
+ MetaProxy::Track::lookupTrack( Collections::TrackProvider *provider )
+ {
+-	d->slotNewTrackProvider( provider );
++    if( provider->possiblyContainsTrack( d->url ) )
++    {
++        Meta::TrackPtr track = provider->trackForUrl( d->url );
++        d->slotUpdateTrack( track );
++    }
+ }
+ 
+ void
+@@ -470,7 +484,7 @@ MetaProxy::Track::hasCapabilityInterface( Capabilities::Capability::Type type )
+     return false;
+ }
+ 
+-Capabilities::Capability*
++Capabilities::Capability *
+ MetaProxy::Track::createCapabilityInterface( Capabilities::Capability::Type type )
+ {
+     if( d->realTrack )
+@@ -484,7 +498,7 @@ MetaProxy::Track::createCapabilityInterface( Capabilities::Capability::Type type
+ bool
+ MetaProxy::Track::operator==( const Meta::Track &track ) const
+ {
+-    const MetaProxy::Track *proxy = dynamic_cast<const MetaProxy::Track*>( &track );
++    const MetaProxy::Track *proxy = dynamic_cast<const MetaProxy::Track *>( &track );
+     if( proxy && d->realTrack )
+         return d->realTrack == proxy->d->realTrack;
+     else if( proxy )
+diff --git a/src/core-impl/meta/proxy/MetaProxyWorker.h b/src/core-impl/meta/proxy/MetaProxyWorker.h
+new file mode 100644
+index 0000000..557f29d
+--- /dev/null
++++ b/src/core-impl/meta/proxy/MetaProxyWorker.h
+@@ -0,0 +1,42 @@
++/****************************************************************************************
++ * Copyright (c) 2012 Bart Cerneels <bart.cerneels at kde.org>                             *
++ *                                                                                      *
++ * This program is free software; you can redistribute it and/or modify it under        *
++ * the terms of the GNU General Public License as published by the Free Software        *
++ * Foundation; either version 2 of the License, or (at your option) any later           *
++ * version.                                                                             *
++ *                                                                                      *
++ * This program is distributed in the hope that it will be useful, but WITHOUT ANY      *
++ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A      *
++ * PARTICULAR PURPOSE. See the GNU General Public License for more details.             *
++ *                                                                                      *
++ * You should have received a copy of the GNU General Public License along with         *
++ * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
++ ****************************************************************************************/
++
++#ifndef METAPROXY_METAPROXYWORKER_H
++#define METAPROXY_METAPROXYWORKER_H
++
++#include <core/collections/support/TrackForUrlWorker.h>
++#include <core/collections/Collection.h>
++
++namespace MetaProxy {
++
++class Worker : public Amarok::TrackForUrlWorker
++{
++    Q_OBJECT
++    public:
++        explicit Worker( const KUrl &url );
++
++        //TrackForUrlWorker virtual methods
++        virtual void run();
++
++    private slots:
++        void slotNewTrackProvider( Collections::TrackProvider *newTrackProvider );
++        void slotNewCollection( Collections::Collection *newCollection );
++
++};
++
++} // namespace MetaProxy
++
++#endif // METAPROXY_METAPROXYWORKER_H
+diff --git a/src/core-impl/meta/proxy/MetaProxyWorker.cpp b/src/core-impl/meta/proxy/MetaProxyWorker.cpp
+new file mode 100644
+index 0000000..0cde280
+--- /dev/null
++++ b/src/core-impl/meta/proxy/MetaProxyWorker.cpp
+@@ -0,0 +1,82 @@
++/****************************************************************************************
++ * Copyright (c) 2012 Bart Cerneels <bart.cerneels at kde.org>                             *
++ *                                                                                      *
++ * This program is free software; you can redistribute it and/or modify it under        *
++ * the terms of the GNU General Public License as published by the Free Software        *
++ * Foundation; either version 2 of the License, or (at your option) any later           *
++ * version.                                                                             *
++ *                                                                                      *
++ * This program is distributed in the hope that it will be useful, but WITHOUT ANY      *
++ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A      *
++ * PARTICULAR PURPOSE. See the GNU General Public License for more details.             *
++ *                                                                                      *
++ * You should have received a copy of the GNU General Public License along with         *
++ * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
++ ****************************************************************************************/
++
++#include "MetaProxyWorker.h"
++
++#include "core-impl/collections/support/CollectionManager.h"
++
++namespace MetaProxy {
++
++Worker::Worker( const KUrl &url )
++    : Amarok::TrackForUrlWorker( url )
++{
++
++}
++
++void
++Worker::run()
++{
++    Meta::TrackPtr track = CollectionManager::instance()->trackForUrl( m_url );
++
++    //no TrackProvider has a track for us yet, query new ones that are added.
++    if( track.isNull() )
++    {
++        //TODO: should only have to connecto to TrackProvider signals.
++        //Each Collection contains a TrackProvider
++        connect( CollectionManager::instance(),
++                 SIGNAL(trackProviderAdded( Collections::TrackProvider * )),
++                 SLOT(slotNewTrackProvider( Collections::TrackProvider * )) );
++        connect( CollectionManager::instance(),
++                 SIGNAL(collectionAdded( Collections::Collection * )),
++                 SLOT(slotNewCollection( Collections::Collection * )) );
++
++        return;
++    }
++
++    emit( finishedLookup( track ) );
++}
++
++void
++Worker::slotNewTrackProvider( Collections::TrackProvider *newTrackProvider )
++{
++    if( !newTrackProvider )
++    {
++        return;
++    }
++
++    if( newTrackProvider->possiblyContainsTrack( m_url ) )
++    {
++        Meta::TrackPtr track = newTrackProvider->trackForUrl( m_url );
++        emit( finishedLookup( track ) );
++    }
++}
++
++void
++Worker::slotNewCollection( Collections::Collection *newCollection )
++{
++    if( !newCollection )
++    {
++        return;
++    }
++
++    if( newCollection->possiblyContainsTrack( m_url ) )
++    {
++        Meta::TrackPtr track = newCollection->trackForUrl( m_url );
++        emit( finishedLookup( track ) );
++    }
++}
++
++} // namespace MetaProxy
+diff --git a/src/core-impl/meta/proxy/MetaProxy_p.h b/src/core-impl/meta/proxy/MetaProxy_p.h
+index 792675d..ac8efb0 100644
+--- a/src/core-impl/meta/proxy/MetaProxy_p.h
++++ b/src/core-impl/meta/proxy/MetaProxy_p.h
+@@ -43,7 +43,7 @@ class MetaProxy::Track::Private : public QObject, public Meta::Observer
+ 
+         Meta::TrackPtr realTrack;
+ 
+-        QList<Meta::Observer*> observers;
++        QList<Meta::Observer *> observers;
+ 
+         QString cachedArtist;
+         QString cachedAlbum;
+@@ -82,34 +82,6 @@ class MetaProxy::Track::Private : public QObject, public Meta::Observer
+         }
+ 
+     public slots:
+-        void slotNewTrackProvider( Collections::TrackProvider *newTrackProvider )
+-        {
+-            if ( !newTrackProvider )
+-            {
+-                return;
+-            }
+-
+-            if( newTrackProvider->possiblyContainsTrack( url ) )
+-            {
+-                Meta::TrackPtr track = newTrackProvider->trackForUrl( url );
+-                slotUpdateTrack( track );
+-            }
+-        }
+-
+-        void slotNewCollection( Collections::Collection *newCollection )
+-        {
+-            if ( !newCollection )
+-            {
+-                return;
+-            }
+-
+-            if( newCollection->possiblyContainsTrack( url ) )
+-            {
+-                Meta::TrackPtr track = newCollection->trackForUrl( url );
+-                slotUpdateTrack( track );
+-            }
+-        }
+-
+         void slotUpdateTrack( Meta::TrackPtr track )
+         {
+             if( track )
+diff --git a/src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp b/src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp
+index 4cb49fb..01cf1e6 100644
+--- a/src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp
++++ b/src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp
+@@ -233,8 +233,7 @@ XSPFPlaylist::trackCount() const
+ Meta::TrackList
+ XSPFPlaylist::tracks()
+ {
+-    //If you do not load before, m_tracks
+-    //can be empty before usage.
++    //If you do not load, m_tracks can be empty before usage.
+     triggerTrackLoad();
+ 
+     return m_tracks;
+@@ -251,76 +250,14 @@ XSPFPlaylist::triggerTrackLoad()
+ 
+     foreach( const XSPFTrack &track, xspfTracks )
+     {
+-        Meta::TrackPtr trackPtr;
+-        if( !track.identifier.isEmpty() )
+-            trackPtr = CollectionManager::instance()->trackForUrl( track.identifier );
+-        else
+-            trackPtr = CollectionManager::instance()->trackForUrl( track.location );
+-        if( trackPtr )
+-        {
+-            /**
+-             * NOTE: If this is a MetaProxy::Track, it probably isn't playable yet,
+-             *       but that's okay. However, it's not a good idea to get another
+-             *       one from the same provider, since the proxy probably means that
+-             *       making one involves quite a bit of work.
+-             *         - Andy Coder <andrew.coder at gmail.com>
+-             */
+-            if( !trackPtr->isPlayable() && ( typeid( * trackPtr.data() ) != typeid( MetaProxy::Track ) ) )
+-                trackPtr = CollectionManager::instance()->trackForUrl( track.identifier );
+-        }
+-
+-        if( trackPtr )
+-        {
+-            if( typeid( * trackPtr.data() ) == typeid( MetaStream::Track ) )
+-            {
+-                MetaStream::Track * streamTrack = dynamic_cast<MetaStream::Track *> ( trackPtr.data() );
+-                if ( streamTrack )
+-                {
+-                    streamTrack->setTitle( track.title );
+-                    streamTrack->setAlbum( track.album );
+-                    streamTrack->setArtist( track.creator );
+-                }
+-            }
+-            else if( typeid( * trackPtr.data() ) == typeid( Meta::TimecodeTrack ) )
+-            {
+-                Meta::TimecodeTrack * timecodeTrack =
+-                        dynamic_cast<Meta::TimecodeTrack *>( trackPtr.data() );
+-                if( timecodeTrack )
+-                {
+-                    timecodeTrack->beginMetaDataUpdate();
+-                    timecodeTrack->setTitle( track.title );
+-                    timecodeTrack->setAlbum( track.album );
+-                    timecodeTrack->setArtist( track.creator );
+-                    timecodeTrack->endMetaDataUpdate();
+-                }
+-            }
+-
+-            m_tracks << trackPtr;
+-        }
+-
+-
+-        // why do we need this? sqlplaylist is not doing this
+-        // we don't want (probably) unplayable tracks
+-        // and it causes problems for me (DanielW) as long
+-        // amarok not respects Track::isPlayable()
+-        /*else {
+-
+-            MetaProxy::Track *proxyTrack = new MetaProxy::Track( track.location );
+-            {
+-                //Fill in values from xspf..
+-                QVariantMap map;
+-                map.insert( Meta::Field::TITLE, track.title );
+-                map.insert( Meta::Field::ALBUM, track.album );
+-                map.insert( Meta::Field::ARTIST, track.creator );
+-                map.insert( Meta::Field::LENGTH, track.duration );
+-                map.insert( Meta::Field::TRACKNUMBER, track.trackNum );
+-                map.insert( Meta::Field::URL, track.location );
+-                Meta::Field::updateTrack( proxyTrack, map );
+-            }
+-            m_tracks << Meta::TrackPtr( proxyTrack );
+-    //         m_tracks << CollectionManager::instance()->trackForUrl( track.location );
+-        }*/
+-
++       MetaProxy::Track *proxyTrack = new MetaProxy::Track( track.location );
++       //Fill in values from xspf..
++       proxyTrack->setName( track.title );
++       proxyTrack->setAlbum( track.album );
++       proxyTrack->setArtist( track.creator );
++       proxyTrack->setLength( track.duration );
++       proxyTrack->setTrackNumber( track.trackNum );
++       m_tracks << Meta::TrackPtr( proxyTrack );
+     }
+ 
+     m_tracksLoaded = true;
+diff --git a/src/core/collections/support/TrackForUrlWorker.h b/src/core/collections/support/TrackForUrlWorker.h
+index 64d23bd..16d764e 100644
+--- a/src/core/collections/support/TrackForUrlWorker.h
++++ b/src/core/collections/support/TrackForUrlWorker.h
+@@ -35,17 +35,17 @@ class AMAROK_CORE_EXPORT TrackForUrlWorker : public ThreadWeaver::Job
+ {
+     Q_OBJECT
+ public:
+-    TrackForUrlWorker ( const KUrl &url );
+-    TrackForUrlWorker ( const QString &url );
++    TrackForUrlWorker( const KUrl &url );
++    TrackForUrlWorker( const QString &url );
+     ~TrackForUrlWorker();
+ 
+-    virtual void run () = 0;
++    virtual void run() = 0;
+ signals:
+-    void finishedLookup ( const Meta::TrackPtr  &track );
++    void finishedLookup( const Meta::TrackPtr &track );
+ 
+ protected:
+-    KUrl mUrl;
+-    Meta::TrackPtr mTrack;
++    KUrl m_url;
++    Meta::TrackPtr m_track;
+ 
+ private slots:
+     void completeJob();
+diff --git a/src/core/collections/support/TrackForUrlWorker.cpp b/src/core/collections/support/TrackForUrlWorker.cpp
+index 7e8f289..28d92bb 100644
+--- a/src/core/collections/support/TrackForUrlWorker.cpp
++++ b/src/core/collections/support/TrackForUrlWorker.cpp
+@@ -16,14 +16,18 @@
+ 
+ #include "TrackForUrlWorker.h"
+ 
+-Amarok::TrackForUrlWorker::TrackForUrlWorker ( const KUrl &url ) : ThreadWeaver::Job(), mUrl ( url )
++Amarok::TrackForUrlWorker::TrackForUrlWorker( const KUrl &url )
++    : ThreadWeaver::Job()
++    , m_url( url )
+ {
+-    connect ( this, SIGNAL ( done ( ThreadWeaver::Job* ) ), SLOT ( completeJob() ) );
++    connect( this, SIGNAL(done( ThreadWeaver::Job * )), SLOT( completeJob()) );
+ }
+ 
+-Amarok::TrackForUrlWorker::TrackForUrlWorker( const QString &url ) : ThreadWeaver::Job(), mUrl ( KUrl ( url ) )
++Amarok::TrackForUrlWorker::TrackForUrlWorker( const QString &url )
++    : ThreadWeaver::Job()
++    , m_url( KUrl( url ) )
+ {
+-    connect ( this, SIGNAL ( done ( ThreadWeaver::Job* ) ), SLOT ( completeJob() ) );
++    connect( this, SIGNAL(done( ThreadWeaver::Job * )), SLOT( completeJob()) );
+ }
+ 
+ Amarok::TrackForUrlWorker::~TrackForUrlWorker()
+@@ -32,6 +36,6 @@ Amarok::TrackForUrlWorker::~TrackForUrlWorker()
+ void
+ Amarok::TrackForUrlWorker::completeJob()
+ {
+-    emit ( finishedLookup ( mTrack ) );
++    emit( finishedLookup( m_track ) );
+     deleteLater();
+ }
+diff --git a/src/services/ampache/AmpacheServiceCollection.h b/src/services/ampache/AmpacheServiceCollection.h
+index a48c8f2..cc49775 100644
+--- a/src/services/ampache/AmpacheServiceCollection.h
++++ b/src/services/ampache/AmpacheServiceCollection.h
+@@ -25,14 +25,16 @@ class AmpacheTrackForUrlWorker : public Amarok::TrackForUrlWorker
+ {
+     Q_OBJECT
+     public:
+-        AmpacheTrackForUrlWorker( const KUrl &url, MetaProxy::TrackPtr track, const QString &server, const QString &sessionId, ServiceBase* service);
++        AmpacheTrackForUrlWorker( const KUrl &url, MetaProxy::TrackPtr track,
++                                  const QString &server, const QString &sessionId,
++                                  ServiceBase *service);
+         ~AmpacheTrackForUrlWorker();
+-        virtual void run ();
++        virtual void run();
+         void parseTrack( const QString &xml );
+     signals:
+         void authenticationNeeded();
+     private:
+-        MetaProxy::TrackPtr mProxy;
++        MetaProxy::TrackPtr m_proxy;
+         int m_urlTrackId;
+         int m_urlAlbumId;
+         int m_urlArtistId;
+@@ -44,7 +46,7 @@ class AmpacheTrackForUrlWorker : public Amarok::TrackForUrlWorker
+         QString m_server;
+         QString m_sessionId;
+ 
+-        ServiceBase* m_service;
++        ServiceBase *m_service;
+ };
+ 
+ namespace Collections {
+@@ -59,11 +61,12 @@ class AmpacheServiceCollection : public ServiceCollection
+     Q_OBJECT
+ 
+ public:
+-    AmpacheServiceCollection( ServiceBase * service, const QString &server, const QString &sessionId );
++    AmpacheServiceCollection( ServiceBase *service, const QString &server,
++                              const QString &sessionId );
+ 
+     virtual ~AmpacheServiceCollection();
+ 
+-    virtual QueryMaker* queryMaker();
++    virtual QueryMaker *queryMaker();
+ 
+     virtual QString collectionId() const;
+     virtual QString prettyName() const;
+@@ -76,16 +79,13 @@ signals:
+ 
+ public slots:
+     void slotAuthenticationNeeded();
+-    void slotLookupComplete( const Meta::TrackPtr& );
++    void slotLookupComplete( const Meta::TrackPtr & );
+ 
+ private:
+-    /*void parseAlbum( const QString &xml );
+-    void parseArtist( const QString &xml );*/
+-
+     QString m_server;
+     QString m_sessionId;
+ 
+-    AmpacheTrackForUrlWorker * m_trackForUrlWorker;
++    AmpacheTrackForUrlWorker *m_trackForUrlWorker;
+ };
+ 
+ } //namespace Collections
+-- 
+1.7.5.4
+
+diff --git a/src/services/ampache/AmpacheServiceCollection.cpp b/src/services/ampache/AmpacheServiceCollection.cpp
+index b684e34..c3b5115 100644
+--- a/src/services/ampache/AmpacheServiceCollection.cpp
++++ b/src/services/ampache/AmpacheServiceCollection.cpp
+@@ -27,7 +27,9 @@
+ 
+ using namespace Collections;
+ 
+-AmpacheServiceCollection::AmpacheServiceCollection( ServiceBase * service, const QString &server, const QString &sessionId )
++AmpacheServiceCollection::AmpacheServiceCollection( ServiceBase *service,
++                                                    const QString &server,
++                                                    const QString &sessionId )
+     : ServiceCollection( service, "AmpacheCollection", "AmpacheCollection" )
+     , m_server( server )
+     , m_sessionId( sessionId )
+@@ -58,7 +60,7 @@ AmpacheServiceCollection::prettyName() const
+ }
+ 
+ bool
+-AmpacheServiceCollection::possiblyContainsTrack(const KUrl & url) const
++AmpacheServiceCollection::possiblyContainsTrack( const KUrl &url ) const
+ {
+     return url.url().contains( m_server );
+ }
+@@ -70,77 +72,82 @@ AmpacheServiceCollection::slotAuthenticationNeeded()
+ }
+ 
+ Meta::TrackPtr
+-AmpacheServiceCollection::trackForUrl( const KUrl & url )
++AmpacheServiceCollection::trackForUrl( const KUrl &url )
+ {
+-    MetaProxy::Track* ptrack = new MetaProxy::Track( url.url(), true );
+-    MetaProxy::TrackPtr trackptr(ptrack);
+-    AmpacheTrackForUrlWorker * worker =  new AmpacheTrackForUrlWorker(url, trackptr, m_server, m_sessionId, service() );
+-//     connect( worker, SIGNAL( finishedLookup ( const Meta::TrackPtr& ) ), this,
+-//              SLOT( slotLookupComplete( const Meta::TrackPtr& ) ) );
+-    connect( worker, SIGNAL( authenticationNeeded() ), this,
+-             SLOT( slotAuthenticationNeeded() ) );
++    MetaProxy::Track *ptrack = new MetaProxy::Track( url.url(), true );
++    MetaProxy::TrackPtr trackptr( ptrack );
++    AmpacheTrackForUrlWorker *worker = new AmpacheTrackForUrlWorker( url, trackptr,
++                                                                     m_server,
++                                                                     m_sessionId,
++                                                                     service() );
++    connect( worker, SIGNAL(authenticationNeeded()), SLOT(slotAuthenticationNeeded()) );
+     ThreadWeaver::Weaver::instance()->enqueue( worker );
+ 
+     return Meta::TrackPtr::staticCast( trackptr );
+ }
++
+ void AmpacheServiceCollection::slotLookupComplete( const Meta::TrackPtr& )
+ {
+ }
+ 
+ void AmpacheTrackForUrlWorker::parseTrack( const QString &xml )
+ {
+-//     DEBUG_BLOCK
+-
+-//      debug() << "Received track response: " << xml;
+-
+-     //so lets figure out what we got here:
++    //so lets figure out what we got here:
+     QDomDocument doc( "reply" );
+     doc.setContent( xml );
+-    QDomElement root = doc.firstChildElement("root");
+-    QDomElement song = root.firstChildElement("song");
++    QDomElement root = doc.firstChildElement( "root" );
++    QDomElement song = root.firstChildElement( "song" );
+ 
+-    m_urlTrackId = song.attribute( "id", "0").toInt();
++    m_urlTrackId = song.attribute( "id", "0" ).toInt();
+ 
+-    QDomElement element = song.firstChildElement("title");
++    QDomElement element = song.firstChildElement( "title" );
+ 
+     QString title = element.text();
+     if ( title.isEmpty() ) title = "Unknown";
+ 
+-    element = song.firstChildElement("url");
++    element = song.firstChildElement( "url" );
+ 
+     m_urlTrack = new Meta::AmpacheTrack( title, m_service );
+     Meta::TrackPtr trackPtr( m_urlTrack );
+ 
+-    //debug() << "Adding track: " <<  title;
+     m_urlTrack->setUidUrl( element.text() );
+     m_urlTrack->setId( m_urlTrackId );
+ 
+-    element = song.firstChildElement("time");
++    element = song.firstChildElement( "time" );
+     m_urlTrack->setLength( element.text().toInt() * 1000 );
+ 
+-    element = song.firstChildElement("track");
++    element = song.firstChildElement( "track" );
+     m_urlTrack->setTrackNumber( element.text().toInt() );
+ 
+-    QDomElement albumElement = song.firstChildElement("album");
+-    //m_urlAlbumId = albumElement.attribute( "id", "0").toInt();
++    QDomElement albumElement = song.firstChildElement( "album" );
++    m_urlAlbumId = albumElement.attribute( "id", "0" ).toInt();
+ 
+-    Meta::AmpacheAlbum * album = new Meta::AmpacheAlbum( albumElement.text() );
++    Meta::AmpacheAlbum *album = new Meta::AmpacheAlbum( albumElement.text() );
+ 
+-    QDomElement artElement = song.firstChildElement("art");
++    QDomElement artElement = song.firstChildElement( "art" );
+     album->setCoverUrl( artElement.text() );
+ 
+     album->addTrack( trackPtr );
+     m_urlTrack->setAlbumPtr( Meta::AlbumPtr( album ) );
+ 
+-    QDomElement artistElement = song.firstChildElement("artist");
+-    Meta::ServiceArtist * artist = new Meta::ServiceArtist( artistElement.text() );
++    QDomElement artistElement = song.firstChildElement( "artist" );
++    Meta::ServiceArtist *artist = new Meta::ServiceArtist( artistElement.text() );
+ 
+     Meta::ArtistPtr artistPtr( artist );
+     m_urlTrack->setArtist( artistPtr );
+     album->setAlbumArtist( artistPtr );
+ }
+ 
+-AmpacheTrackForUrlWorker::AmpacheTrackForUrlWorker(const KUrl &url, MetaProxy::TrackPtr track, const QString &server, const QString &sessionId, ServiceBase* service) : Amarok::TrackForUrlWorker(url), mProxy(track), m_server(server), m_sessionId(sessionId), m_service(service)
++AmpacheTrackForUrlWorker::AmpacheTrackForUrlWorker( const KUrl &url,
++                                                    MetaProxy::TrackPtr track,
++                                                    const QString &server,
++                                                    const QString &sessionId,
++                                                    ServiceBase *service )
++    : Amarok::TrackForUrlWorker( url )
++    , m_proxy( track )
++    , m_server( server )
++    , m_sessionId( sessionId )
++    , m_service( service )
+ {
+ }
+ 
+@@ -150,8 +157,6 @@ AmpacheTrackForUrlWorker::~AmpacheTrackForUrlWorker()
+ void
+ AmpacheTrackForUrlWorker::run()
+ {
+-    // DEBUG_BLOCK;
+-
+     m_urlTrack = 0;
+     m_urlAlbum = 0;
+     m_urlArtist = 0;
+@@ -162,9 +167,9 @@ AmpacheTrackForUrlWorker::run()
+ 
+     //send url_to_song to Ampache
+ 
+-    QString requestUrl = QString( "%1/server/xml.server.php?action=url_to_song&auth=%2&url=%3")
+-    . arg(  m_server,  m_sessionId,  QUrl::toPercentEncoding( mUrl.url() ) );
+-    //     debug() << "request url: " << requestUrl;
++    QString requestUrl =
++            QString( "%1/server/xml.server.php?action=url_to_song&auth=%2&url=%3" )
++                    .arg( m_server, m_sessionId, QUrl::toPercentEncoding( m_url.url() ) );
+ 
+     QNetworkRequest req( requestUrl );
+     QNetworkReply *reply = The::networkAccessManager()->get( req );
+@@ -178,7 +183,7 @@ AmpacheTrackForUrlWorker::run()
+         }
+     }
+     parseTrack( reply->readAll() );
+-    mTrack = Meta::TrackPtr( m_urlTrack );
+-    mProxy->updateTrack( mTrack );
++    m_track = Meta::TrackPtr( m_urlTrack );
++    m_proxy->updateTrack( m_track );
+     reply->deleteLater();
+ }
diff --git a/amarok-2.5.0-kde48_context_view.patch b/amarok-2.5.0-kde48_context_view.patch
new file mode 100644
index 0000000..bc10491
--- /dev/null
+++ b/amarok-2.5.0-kde48_context_view.patch
@@ -0,0 +1,59 @@
+diff -up amarok-2.5.0/src/context/toolbar/AppletToolbar.cpp.kde48-1 amarok-2.5.0/src/context/toolbar/AppletToolbar.cpp
+--- amarok-2.5.0/src/context/toolbar/AppletToolbar.cpp.kde48-1	2011-12-15 01:36:48.000000000 -0600
++++ amarok-2.5.0/src/context/toolbar/AppletToolbar.cpp	2012-01-27 08:07:40.125916151 -0600
+@@ -67,6 +67,19 @@ Context::AppletToolbar::~AppletToolbar()
+ }
+ 
+ void
++
++Context::AppletToolbar::setContainment( Containment * containment )
++{
++    m_cont = containment;
++}
++
++Context::Containment *
++Context::AppletToolbar::containment() const
++{
++    return m_cont;
++}
++
++void
+ Context::AppletToolbar::resizeEvent( QGraphicsSceneResizeEvent * event )
+ {
+     debug() << "setting layout to" << QRectF( QPointF( 0, 0 ), event->newSize() );
+diff -up amarok-2.5.0/src/context/toolbar/AppletToolbar.h.kde48-1 amarok-2.5.0/src/context/toolbar/AppletToolbar.h
+--- amarok-2.5.0/src/context/toolbar/AppletToolbar.h.kde48-1	2011-12-15 01:36:48.000000000 -0600
++++ amarok-2.5.0/src/context/toolbar/AppletToolbar.h	2012-01-27 08:07:40.123916180 -0600
+@@ -55,6 +55,9 @@ class AppletToolbar : public QGraphicsWi
+         
+         void appletRemoved( Plasma::Applet* applet );
+ 
++        void setContainment( Containment * containment );
++        Containment* containment() const;
++
+     signals:
+         void showApplet( Plasma::Applet* );
+         void appletAddedToToolbar( Plasma::Applet* applet, int loc );
+diff -up amarok-2.5.0/src/context/ToolbarView.cpp.kde48-1 amarok-2.5.0/src/context/ToolbarView.cpp
+--- amarok-2.5.0/src/context/ToolbarView.cpp.kde48-1	2011-12-15 01:36:48.000000000 -0600
++++ amarok-2.5.0/src/context/ToolbarView.cpp	2012-01-27 08:07:40.122916194 -0600
+@@ -74,7 +74,9 @@ Context::ToolbarView::ToolbarView( Plasm
+     setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
+ 
+     // now we create the toolbar
+-    m_toolbar = new AppletToolbar( containment );
++    m_toolbar = new AppletToolbar(0);
++    scene->addItem(m_toolbar.data());
++    m_toolbar.data()->setContainment( qobject_cast<Context::Containment *>(containment) );
+     m_toolbar.data()->setZValue( m_toolbar.data()->zValue() + 1000 );
+     m_toolbar.data()->setPos( TOOLBAR_X_OFFSET, 0 );
+ 
+@@ -96,7 +98,7 @@ Context::ToolbarView::ToolbarView( Plasm
+ 
+ Context::ToolbarView::~ToolbarView()
+ {
+-
++    delete m_toolbar.data();
+ }
+ 
+ void
diff --git a/amarok-2.5.0-onlinedoc.patch b/amarok-2.5.0-onlinedoc.patch
new file mode 100644
index 0000000..dc731d4
--- /dev/null
+++ b/amarok-2.5.0-onlinedoc.patch
@@ -0,0 +1,91 @@
+diff -ur amarok-2.5.0/src/ActionClasses.cpp amarok-2.5.0-onlinedoc/src/ActionClasses.cpp
+--- amarok-2.5.0/src/ActionClasses.cpp	2011-12-15 08:36:48.000000000 +0100
++++ amarok-2.5.0-onlinedoc/src/ActionClasses.cpp	2012-01-29 08:23:50.000000000 +0100
+@@ -31,10 +31,12 @@
+ #include "playlist/PlaylistActions.h"
+ #include "playlist/PlaylistModelStack.h"
+ 
++#include <QFile>
+ #include <KAuthorized>
+ #include <KHelpMenu>
+ #include <KLocale>
+ #include <KToolBar>
++#include <KToolInvocation>
+ #include <Osd.h>
+ #include <EqualizerDialog.h>
+ 
+@@ -63,6 +65,7 @@
+ using namespace Amarok;
+ 
+ KHelpMenu *Menu::s_helpMenu = 0;
++OnlineHelpHandler *Menu::s_onlineHelpHandler = 0;
+ 
+ static void
+ safePlug( KActionCollection *ac, const char *name, QWidget *w )
+@@ -152,6 +155,20 @@
+ 
+     KMenu* menu = s_helpMenu->menu();
+ 
++    // If amarok-doc is not installed, bring up the online version instead.
++    if ( !QFile::exists( "/usr/share/doc/HTML/en/amarok/index.docbook" ) ) {
++        QAction *contentsAction = s_helpMenu->action( KHelpMenu::menuHelpContents );
++        // disconnect the default slot which fires up KHelpCenter
++        disconnect( contentsAction, SIGNAL(triggered(bool)), s_helpMenu, SLOT(appHelpActivated()) );
++        if ( s_onlineHelpHandler == 0 )
++            s_onlineHelpHandler = new OnlineHelpHandler( parent );
++        else
++            // ensure no duplicate connection
++            disconnect( contentsAction, SIGNAL(triggered(bool)), s_onlineHelpHandler, SLOT(onlineHelpActivated()) );
++        // connect our custom slot which fires up a browser on UserBase instead
++        connect( contentsAction, SIGNAL(triggered(bool)), s_onlineHelpHandler, SLOT(onlineHelpActivated()) );
++    }
++
+     // NOTE: We hide "Report Bug..." because we need to add it on our own to name the dialog
+     // so it can be blacklisted from LikeBack.
+     s_helpMenu->action( KHelpMenu::menuReportBug )->setVisible( false );
+@@ -164,6 +181,17 @@
+     return menu;
+ }
+ 
++OnlineHelpHandler::OnlineHelpHandler( QObject* parent )
++        : QObject( parent )
++{
++}
++
++void
++OnlineHelpHandler::onlineHelpActivated()
++{
++    KToolInvocation::invokeBrowser( "http://userbase.kde.org/Amarok/Manual" );
++}
++
+ //////////////////////////////////////////////////////////////////////////////////////////
+ // PlayPauseAction
+ //////////////////////////////////////////////////////////////////////////////////////////
+diff -ur amarok-2.5.0/src/ActionClasses.h amarok-2.5.0-onlinedoc/src/ActionClasses.h
+--- amarok-2.5.0/src/ActionClasses.h	2011-12-15 08:36:48.000000000 +0100
++++ amarok-2.5.0-onlinedoc/src/ActionClasses.h	2012-01-29 08:08:13.000000000 +0100
+@@ -34,6 +34,16 @@
+ 
+ namespace Amarok
+ {
++    class OnlineHelpHandler : public QObject
++    {
++        Q_OBJECT
++        public:
++            OnlineHelpHandler( QObject* parent );
++
++        public slots:
++            void onlineHelpActivated();
++    };
++
+     class Menu : public KMenu
+     {
+         Q_OBJECT
+@@ -45,6 +55,7 @@
+         private:
+             static Menu       *s_instance;
+             static KHelpMenu  *s_helpMenu;
++            static OnlineHelpHandler *s_onlineHelpHandler;
+     };
+ 
+     class MenuAction : public KAction
diff --git a/amarok.spec~ b/amarok.spec~
new file mode 100644
index 0000000..4bdf16e
--- /dev/null
+++ b/amarok.spec~
@@ -0,0 +1,887 @@
+
+Name:    amarok
+Summary: Media player
+Version: 2.5.0
+Release: 8%{?dist}
+
+# KDE e.V. may determine that future GPL versions are accepted
+License: GPLv2 or GPLv3
+Url:     http://amarok.kde.org/
+Source0: http://download.kde.org/stable/amarok/%{version}/src/amarok-%{version}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+# Invoke a browser on the online UserBase documentation instead of KHelpCenter
+# for the help contents if the amarok-doc subpackage is not installed.
+Patch0:  amarok-2.5.0-onlinedoc.patch
+
+#Patch50: amarok-2.2.1.90-qtscript_not_required.patch
+
+## upstream patches
+# https://bugs.kde.org/show_bug.cgi?id=290123
+Patch100: amarok-2.5.0-kde48_context_view.patch 
+# Load all tracks from XSPF using MetaProxy.
+# https://bugs.kde.org/show_bug.cgi?id=295199
+Patch101: 0001-Load-all-tracks-from-XSPF-using-MetaProxy.patch
+
+BuildRequires: curl-devel
+BuildRequires: desktop-file-utils
+## non-modular MusicBrainz-based audio fingerprint tag lookup support :( 
+#BuildRequires: ffmpeg-devel libofa-devel
+BuildRequires: gettext
+BuildRequires: kdelibs4-devel 
+BuildRequires: liblastfm-devel
+# extra libaio linkage comes from use of mysql_config --libs
+BuildRequires: mysql-embedded-devel libaio-devel
+BuildRequires: pkgconfig(libgpod-1.0) >= 0.7.0
+BuildRequires: pkgconfig(libmtp) >= 0.3.0
+BuildRequires: pkgconfig(libmygpo-qt) >= 1.0.5
+BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(loudmouth-1.0)
+BuildRequires: pkgconfig(qca2)
+BuildRequires: pkgconfig(soprano)
+BuildRequires: pkgconfig(taglib) >= 1.6
+BuildRequires: pkgconfig(taglib-extras) >= 1.0.1
+
+# not strictly required at buildtime, but if it's not available here,
+# then you're hosed at runtime anyway
+BuildRequires: qtscriptbindings
+Requires: qtscriptbindings%{?_isa}
+Requires: %{name}-utils = %{version}-%{release}
+Requires: kdebase-runtime%{?_kde4_version: >= %{_kde4_version}}
+%if 0%{?fedora} == 14
+# lame, see http://bugzilla.redhat.com/666173
+Requires: libmtp-hal
+%endif
+
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+
+%description
+Amarok is a multimedia player with:
+ - fresh playlist concept, very fast to use, with drag and drop
+ - plays all formats supported by the various engines
+ - audio effects, like reverb and compressor
+ - compatible with the .m3u and .pls formats for playlists
+ - nice GUI, integrates into the KDE look, but with a unique touch
+
+%package libs
+Summary: Runtime libraries for %{name}
+Requires: %{name} = %{version}-%{release}
+%{?_qt4_version:Requires: qt4%{?_isa} >= %{_qt4_version}}
+%description libs
+%{summary}.
+
+%package utils
+Summary: Amarok standalone utilities
+Obsoletes: amarok-collectionscanner < 2.0.90-2
+Obsoletes: amarok-utilities < 2.0.96
+%description utils 
+%{summary}, including amarokcollectionscanner.
+
+%package doc
+Summary: Application handbook, documentation.
+# for upgrade path
+Obsoletes: amarok < 2.5.0-4
+Requires:  amarok = %{version}-%{release}
+BuildArch: noarch
+%description doc
+%{summary}.
+
+
+%prep
+%setup -q 
+
+%patch0 -p1 -b .onlinedoc
+#patch50 -p1 -b .qtscript_not_required
+%patch100 -p1 -b .kde48_context_view
+%patch101 -p1 -b .loadall_xspf
+
+
+%build
+mkdir -p %{_target_platform}
+pushd %{_target_platform}
+%{cmake_kde4} ..
+popd
+
+make %{?_smp_mflags} -C %{_target_platform}
+
+
+%install
+rm -rf %{buildroot}
+
+make install/fast DESTDIR=%{buildroot} -C %{_target_platform}
+
+%find_lang amarok --with-kde --without-mo && mv amarok.lang amarok-doc.lang
+%find_lang amarok
+%find_lang amarokcollectionscanner_qt 
+%find_lang amarokpkg && cat amarokpkg.lang >> amarok.lang
+%find_lang amarok_scriptengine_qscript && cat amarok_scriptengine_qscript.lang >> amarok.lang
+
+# unpackaged files
+rm -fv %{buildroot}%{_kde4_libdir}/libamarok{-sqlcollection,_taglib,core,lib,plasma,pud,ocsclient,-transcoding}.so
+
+
+%check
+desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/amarok.desktop
+desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/amarok_containers.desktop
+
+
+%post
+touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || :
+
+%posttrans
+gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
+update-desktop-database -q &> /dev/null ||:
+
+%postun
+if [ $1 -eq 0 ] ; then
+touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || :
+gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
+update-desktop-database -q &> /dev/null ||:
+fi
+
+%files -f amarok.lang
+%doc AUTHORS COPYING ChangeLog README
+%{_kde4_bindir}/amarok
+%{_kde4_bindir}/amarokpkg
+%{_kde4_bindir}/amarok_afttagger
+%{_kde4_bindir}/amarokmp3tunesharmonydaemon
+%{_kde4_appsdir}/amarok/
+%{_kde4_appsdir}/kconf_update/amarok*
+%{_kde4_appsdir}/desktoptheme/Amarok-Mockup/
+%{_kde4_appsdir}/desktoptheme/default/widgets/*
+%{_kde4_appsdir}/solid/actions/amarok-play-audiocd.desktop
+%{_kde4_configdir}/amarok.knsrc
+%{_kde4_configdir}/amarok_homerc
+%{_kde4_configdir}/amarokapplets.knsrc
+%{_kde4_datadir}/applications/kde4/amarok.desktop
+%{_kde4_datadir}/applications/kde4/amarok_containers.desktop
+%{_kde4_datadir}/config.kcfg/amarokconfig.kcfg
+%{_kde4_datadir}/kde4/services/*.desktop
+%{_kde4_datadir}/kde4/services/*.protocol
+%{_kde4_datadir}/kde4/services/ServiceMenus/amarok_append.desktop
+%{_kde4_datadir}/kde4/servicetypes/*.desktop
+%{_kde4_iconsdir}/hicolor/*/*/*
+%{_kde4_libdir}/kde4/*.so
+%{_datadir}/dbus-1/interfaces/*.xml
+
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
+%files libs
+%{_kde4_libdir}/libamarokcore.so.1*
+%{_kde4_libdir}/libamaroklib.so.1*
+%{_kde4_libdir}/libamarokocsclient.so.4*
+%{_kde4_libdir}/libamarokpud.so.1*
+%{_kde4_libdir}/libamarok-sqlcollection.so.1*
+%{_kde4_libdir}/libamarok-transcoding.so.1*
+%{_kde4_libdir}/libampache_account_login.so
+
+%files utils -f amarokcollectionscanner_qt.lang
+%{_kde4_bindir}/amarokcollectionscanner
+
+%files doc -f amarok-doc.lang
+
+
+%changelog
+* Tue Mar 13 2012 Rex Dieter <rdieter at fedoraproject.org> 2.5.0-8
+- Load all XSPF tracks (kde#295199)
+
+* Tue Feb 28 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.5.0-7
+- Rebuilt for c++ ABI breakage
+
+* Sun Jan 29 2012 Kevin Kofler <Kevin at tigcc.ticalc.org> 2.5.0-6
+- help: invoke a browser on the online UserBase doc if amarok-doc not installed
+
+* Fri Jan 27 2012 Rex Dieter <rdieter at fedoraproject.org> 2.5.0-5
+- make -doc only handbook, put translations back in main pkg
+
+* Fri Jan 27 2012 Rex Dieter <rdieter at fedoraproject.org> 2.5.0-4
+- -doc subpkg for large'ish application handbook and translations
+
+* Fri Jan 27 2012 Rex Dieter <rdieter at fedoraproject.org> 2.5.0-3
+- fix context view when on kde48 (kde#290123)
+
+* Thu Jan 12 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.5.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Fri Dec 16 2011 Rex Dieter <rdieter at fedoraproject.org> 2.5.0-1
+- 2.5.0
+
+* Mon Nov 14 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.90-1
+- 2.4.90
+
+* Wed Nov 09 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.3-4
+- pkgconfig-style deps
+- drop extraneous/old BR's
+
+* Mon Sep 19 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.3-3
+- Wikipedia applet crashes (kde#279813)
+
+* Fri Sep 16 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.3-2
+- re-enable libgpod support inadvertantly lost in 2.4.1.90-1
+
+* Sat Jul 30 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.3-1
+- 2.4.3
+
+* Sun Jul 24 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.2-2
+- don't query kwallet for lastfm credentials on every track change (kde#278177)
+
+* Fri Jul 22 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.2-1
+- 2.4.2
+
+* Fri Jul 08 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.1.90-1
+- 2.4.1.90
+- drop no-longer-needed %%ifarch s390 conditionals
+
+* Fri Jun 10 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.1-4
+- drop ancient Obsoletes
+
+* Fri Jun 10 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.1-3
+- rebuild (libmtp)
+
+* Tue May 24 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.1-2
+- BR: libmygpo-qt-devel
+
+* Fri May 06 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.1-1
+- 2.4.1 (final)
+
+* Wed Mar 23 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.0.90-2
+- rebuild (mysql)
+
+* Mon Mar 21 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.0.90-1
+- 2.4.1 beta1
+
+* Wed Feb 09 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.0-3
+- License: GPLv2 or GPLv3 
+
+* Mon Feb 07 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.4.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Tue Jan 11 2011 Rex Dieter <rdieter at fedoraproject.org> 2.4.0-1
+- 2.4.0
+- libmtp-hal dependency missing for amarok (#666173)
+
+* Tue Dec 28 2010 Rex Dieter <rdieter at fedoraproject.org> 2.3.90-3
+- rebuild (mysql)
+
+* Tue Dec 07 2010 Thomas Janssen <thomasj at fedoraproject.org> 2.3.90-2
+- fixed missing libampache
+
+* Mon Dec 06 2010 Thomas Janssen <thomasj at fedoraproject.org> 2.3.90-1
+- 2.3.90 (2.4beta1)
+
+* Tue Nov 30 2010 Rex Dieter <rdieter at fedoraproject.org> 2.3.2-7
+- recognize audio/flac mimetype too (kde#257488)
+
+* Fri Nov 05 2010 Thomas Janssen <thomasj at fedoraproject.org> 2.3.2-6
+- rebuild for new libxml2
+
+* Thu Nov 04 2010 Rex Dieter <rdieter at fedoraproject.org> 2.3.2-5
+- appletsize patch
+- fix/improve ipod3 support patch
+- another collectionscanner patch
+
+* Wed Sep 29 2010 jkeating - 2.3.2-4
+- Rebuilt for gcc bug 634757
+
+* Fri Sep 24 2010 Thomas Janssen <thomasj at fedoraproject.org> 2.3.2-3
+- added patch to fix scanning qt bug/regression
+
+* Mon Sep 20 2010 Thomas Janssen <thomasj at fedoraproject.org> 2.3.2-2
+- added patch to fix BPM tags in flac
+
+* Thu Sep 16 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.2-1
+- amarok-2.3.2
+
+* Thu Sep 16 2010 Dan HorĂ¡k <dan[at]danny.cz> - 2.3.1.90-3
+- no libgpod on s390(x)
+
+* Tue Aug 16 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.1.90-2
+- fix/patch installation of amarok handbooks
+
+* Mon Aug 16 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.1.90-1
+- amarok-2.3.1.90 (2.3.2 beta1)
+
+* Fri Jul 09 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.1-2
+- No Notification Area icon for non-KDE desktops (kde#232578,rh#603336)
+
+* Fri May 28 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.1-1
+- amarok-2.3.1
+
+* Sat Apr 17 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.0.90-1
+- amarok-2.3.0.90
+
+* Thu Mar 25 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.0-5
+- fix mp3 support logic
+
+* Mon Mar 22 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.0-4
+- rebuild (libgpod) 
+
+* Mon Mar 22 2010 Rex Dieter <rdieter at fedoraproject.org>  - 2.3.0-3
+- workaround info applet crasher (kde#227639,kde#229756)
+
+* Thu Mar 11 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.3.0-2
+- fix Source0 URL
+- -libs: drop unused/extraneous kdelibs4 dep
+
+* Thu Mar 11 2010 Thomas Janssen <thomasj at fedoraproject.org> 2.3.0-1
+- amarok 2.3.0
+
+* Sat Feb 13 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.2.2.90-1
+- amarok-2.2.2.90 (2.3beta1)
+
+* Thu Jan 28 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.2.2-4
+- use %%{_kde4_version} provided elsewhere (kde-filesystem)
+
+* Sun Jan 10 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.2.2-3
+- collection scan crash patch, take 2 (kde#220532)
+
+* Fri Jan 08 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.2.2-2
+- collection scan crash patch (kde#220532)
+
+* Wed Jan 05 2010 Rex Dieter <rdieter at fedoraproject.org> - 2.2.2-1
+- amarok-2.2.2
+
+* Thu Dec 10 2009 Rex Dieter <rdieter at fedoraproject.org> - 2.2.1.90-1
+- amarok-2.2.1.90 (2.2.2 beta1)
+
+* Mon Nov 23 2009 Rex Dieter <rdieter at fedoraproject.org> - 2.2.1-3 
+- rebuild (for qt-4.6.0-rc1, f13+)
+
+* Mon Nov 16 2009 Rex Dieter <rdieter at fedoraproject.org> 2.2.1-2
+- playlist_default_layout_fix.diff (kde#211717)
+
+* Wed Nov 11 2009 Rex Dieter <rdieter at fedoraproject.org> 2.2.1-1
+- amarok-2.2.1
+
+* Thu Oct 08 2009 Rex Dieter <rdieter at fedoraproject.org> 2.2.0-3
+- upstream lyric.patch
+
+* Fri Oct 02 2009 Rex Dieter <rdieter at fedoraproject.org> 2.2.0-2
+- Requires: kdebase-runtime (need kio_trash, kcm_phonon, etc)
+
+* Tue Sep 29 2009 Rex Dieter <rdieter at fedoraproject.org> 2.2.0-1
+- amarok-2.2.0
+
+* Wed Sep 23 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.90-2.20090923git
+- 20090923git snapshot
+
+* Mon Sep 21 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.90-1
+- amarok-2.1.90 (2.2rc1)
+
+* Thu Sep 17 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.85-2
+- BR: taglib-devel >= 1.6, taglib-extras-devel >= 1.0
+
+* Mon Sep 14 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.85-1
+- amarok-2.1.85 (2.2beta2)
+
+* Wed Sep 02 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.80-2
+- another lyricwiki fix
+
+* Wed Sep 02 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.80-1
+- amarok-2.1.80 (2.2beta1)
+- -libs subpkg
+
+* Fri Aug 21 2009 Tomas Mraz <tmraz at redhat.com> - 2.1.1-5
+- rebuilt with new openssl
+
+* Sat Aug 08 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.1-4
+- lyricwiki patch (kdebug#202366)
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.1.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Tue Jul 07 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.1-2
+- Requires: qtscriptbindings%%{?_isa}  (#510133)
+
+* Fri Jun 12 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1.1-1
+- amarok-2.1.1
+
+* Sat May 30 2009 Rex Dieter <rdieter at fedoraproject.org> 2.1-1
+- amarok-2.1
+
+* Mon May 18 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.96-2.20090518
+- 20090518svn snapshot
+
+* Mon May 11 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.96-1
+- amarok-2.9.96 (2.1 beta2)
+- -utilities -> -utils
+
+* Fri Apr 10 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.90-2
+- -collectionscanner -> -utilities
+
+* Fri Apr 10 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.90-1
+- amarok-2.0.90 (amarok-2.1 beta1)
+
+* Wed Apr 08 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.2-6
+- fix lastfm (kdebug#188678, rhbz#494871)
+- fix qtscriptgenerator/qtscriptbindings deps
+
+* Tue Apr 07 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.2-5
+- enable external qtscriptgenerator/qtscriptbindings
+- optimize scriptlets
+
+* Tue Mar 10 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.2-4
+- Req: qtscriptgenerator (f11+) (not enabled, pending review)
+- use desktop-file-validate
+
+* Fri Mar 06 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.2-3
+- add minimal qt4,kdelibs4 deps
+
+* Wed Mar 04 2009 Rex Dieter <rdieter at fedoraproject.org> 2.0.2-1
+- amarok-2.0.2
+
+* Tue Feb 24 2009 Than Ngo <than at redhat.com> 2.0.1.1-6
+- fix build issue against gcc-4.4
+
+* Mon Feb 23 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.0.1.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Mon Feb 23 2009 Rex Dieter <rdieter at fedoraproject.org> - 2.0.1.1-4
+- qt45 patch
+
+* Fri Feb 20 2009 Todd Zullinger <tmz at pobox.com> - 2.0.1.1-3
+- Rebuild against libgpod-0.7.0
+- Drop gtk2-devel BR, libgpod properly requires that now
+
+* Thu Jan 22 2009 Rex Dieter <rdieter at fedoraproject.org> - 2.0.1.1-2 
+- respin (mysql)
+
+* Fri Jan 09 2009 Rex Dieter <rdieter at fedoraproject.org> - 2.0.1.1-1
+- amarok-2.0.1.1
+
+* Tue Jan 06 2009 Rex Dieter <rdieter at fedoraproject.org> - 2.0.1-1
+- amarok-2.0.1
+
+* Tue Dec 09 2008 Rex Dieter <rdieter at fedoraproject.org> - 2.0-2
+- respin tarball
+
+* Fri Dec 05 2008 Rex Dieter <rdieter at fedoraproject.org> - 2.0-1
+- amarok-2.0 (final, first cut)
+
+* Fri Nov 21 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.98-1
+- amarok-1.98 (2rc1)
+
+* Fri Oct 31 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.94-2
+- amarok-1.94 (2beta4)
+
+* Wed Oct 15 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.92.2-1
+- amarok-1.92.2 (2beta3)
+
+* Thu Oct 02 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.92-2
+- BR: gtk2-devel (gdk-pixbuf ipod artwork support)
+
+* Thu Oct 02 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.92-1
+- amarok-1.92 (2beta2)
+
+* Wed Aug 20 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.90-1
+- amarok-1.90 (2beta1)
+
+* Tue Jul 22 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.86-1
+- amarok-1.86 (amarok2 alpha 2)
+
+* Wed Jun 11 2008 Dennis Gilmore <dennis at ausil.us> - 1.4.9.1-4
+- we are building sparc32 as sparcv9 not sparc now  fix ifnarch
+
+* Fri May  2 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.9.1-3
+- fix libnjb support (#444940)
+
+* Thu May  1 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.9.1-2.1
+- --with-libvisual fedora-only (epel misses libvisual-plugins)
+
+* Thu Apr 17 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.9.1-2
+- specfile typo (unclosed macro)
+
+* Tue Apr 15 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.9.1-1
+- amarok-1.4.9.1
+
+* Wed Mar 12 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.8-5
+- -konqueror: drop Obsoletes: %%name < 1.4.8-4 , which breaks 
+  multilib upgrades (#436578)
+
+* Thu Feb 21 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.8-4
+- -konqueror subpkg (#426803)
+- fix multiarch conflicts (#340641)
+  drop Provides: amarok-devel (f9+), add Obsoletes: amarok-devel
+- gcc43 patch (#433904)
+
+* Mon Feb 18 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> - 1.4.8-3
+- Autorebuild for GCC 4.3
+
+* Wed Jan 09 2008 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.8-2
+- f9+: don't build/include konq(3) side bar support
+
+* Thu Dec 20 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.8-1
+- amarok-1.4.8
+
+* Fri Dec 07 2007 Alex Lancaster <alexlan[AT]fedoraproject.org> 1.4.7-14
+- Rebuild for new openssl
+
+* Thu Nov 29 2007 Rex Dieter <rdieter[AT]fedoraproejct.org> 1.4.7-13
+- fix --with-mp4v2 handling (#346011#c5,6)
+
+* Thu Nov 29 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.7-12
+- --with-mp4v2 (#346011#c3)
+- fix asf/wma support (rh#346011,kde#151733)
+
+* Wed Nov 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.7-11
+- dynamic mode floods playlist ... (kde #148317)
+
+* Wed Nov 21 2007 Todd Zullinger <tmz at pobox.com> 1.4.7-10
+- rebuild for libgpod-0.6.0
+
+* Tue Nov 20 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.7-9
+- cosmetics (cleanup/sort BR's mostly)
+- omit "for KDE" from summary/description
+- make gst support toggled by macro (disabled by default)
+
+* Sat Nov 10 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-8
+- rebuild
+
+* Sun Oct 07 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-7
+- use xdg-open to start the configured browser
+
+* Sat Oct 06 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-6
+- add "alpha" to the list of archs where HelixPlayer is not available
+  (bug 318431)
+
+* Fri Sep 28 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-5
+- add patch 1 to fix Fedora bug 242862: Amarok doesn't support transfer
+  of Unicode filenames to MTP devices
+
+* Sun Sep 02 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-4
+- add patch for kde bug 147126 : amarok freezes when trying to play
+  mp3 files without mp3 support
+
+* Fri Aug 24 2007 Todd Zullinger <tmz at pobox.com> 1.4.7-3
+- rebuild with libgpod-0.5.2
+
+* Sat Aug 18 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-2
+- version 1.4.7
+
+* Sun Aug 05 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.6-3
+- rebuild for new libmtp (bug 250905)
+
+* Wed Jun 27 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.6-2
+- add explicit Requires on kdelibs >= 3.5.7 to fix bug 245386
+
+* Mon Jun 18 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.6-1
+- version 1.4.6
+
+* Mon Feb 19 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.5-4
+- have the visualisation subpackage require libvisual-plugins (bug 229131)
+
+* Thu Feb 15 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.5-3
+- fix patch (provided by upstream)
+
+* Wed Feb 14 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.5-2
+- add patch to fix CVE-2006-6979 (bug 228138)
+
+* Sat Feb 03 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.5-1
+- version 1.4.5
+- drop patch0 and patch1 (merged upstream)
+
+* Thu Jan 25 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-7
+- add patch to enable building with libgpod >= 0.4.2, thanks go to Todd Zullinger
+
+* Wed Jan 17 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-6
+- rebuild for new libgpod
+
+* Thu Jan 11 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-5
+- HelixPlayer is not available on Sparc, exclude it from this arch too
+  (#221058)
+
+* Tue Dec 19 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-4
+- add patch to make lastfm work with xine-lib 1.1.3 (sent by upstream)
+
+* Sat Dec 09 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-3
+- rebuild
+
+* Wed Dec 06 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-2
+- rebuild
+
+* Fri Oct 27 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-1
+- version 1.4.4
+- enable xine support since xine is now in Fedora
+
+* Sat Oct 07 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-6
+- rebuild for new libtunepimp
+
+* Thu Oct 05 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-5
+- add libmtp support
+
+* Sun Oct 01 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-4
+- rebuild
+
+* Fri Sep 15 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-3
+- add patch for playlist encoding
+
+* Wed Sep 13 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-2
+- buildrequires ruby-devel (checked by configure)
+
+* Wed Sep 13 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-1
+- update to 1.4.3
+
+* Thu Aug 31 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.2-2
+- add amarok patchset 1
+
+* Wed Aug 30 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.2-1
+- update to 1.4.2
+- don't build on x86_64 (requested by the amarok devs)
+
+* Wed Jul 19 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.1-3
+- fix the gstreamer engine (wrong X-KDE-Amarok-framework-version)
+
+* Sat Jul 08 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.1-2
+- BuildRequires ruby
+
+* Sat Jul 08 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.1-1
+- version 1.4.1
+- make it possible to build the gst10 engine with a "--with gst10" switch
+
+* Wed May 24 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4.0-5
+- Require HelixPlayer on archs where it is the only engine available
+
+* Sun May 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4.0-4
+- really fix building gst engine on x86_64
+
+* Sun May 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4.0-3
+- missing buildrequires
+
+* Sun May 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4.0-2
+- gstreamer engine has been disabled, bring it back in SOURCE1
+  where Helix is unavailable (only engine available)
+
+* Mon May 15 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-1
+- version 1.4 final
+
+* Mon May 01 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.13.rc1
+- rc1
+
+* Fri Apr 14 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.12.beta3
+- add patch to make Gstreamer sufficient to build (only engine available
+  on x86_64
+
+* Sun Apr 09 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.11.beta3
+- drop the non-free bits
+- beta 3 (akode has been disabled)
+
+* Wed Mar 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.10.beta2
+- enable libgpod support
+
+* Wed Mar 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.9.beta2
+- make amarok build even with gstreamer only
+
+* Sun Mar 05 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.8.beta2
+- version 1.4 beta2
+
+* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.7.beta1
+- disable build of Helix engine on x86_64
+
+* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.6.beta1
+- remove requirement on HelixPlayer for x86_64, amarok include the headers
+
+* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.5.beta1
+- build Helix engine on x86_64
+
+* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.4.beta1
+- fix gstramer 0.10 detection again
+
+* Mon Feb 20 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.3.beta1
+- fix gstreamer 0.10 detection
+
+* Fri Feb 17 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.1.beta1
+- fix gstreamer dependency
+
+* Wed Feb 15 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.1.beta1
+- version 1.4-beta1
+
+* Sun Feb 12 2006 Aurelien Bompard <gauret[AT]free.fr> 1.3.8-2
+- fix BR for gstreamer < 0.10
+
+* Sat Jan 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.3.8-1
+- version 1.3.8
+
+* Wed Dec 07 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.7-1
+- version 1.3.7
+
+* Sun Nov 20 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.6-2
+- build with libtunepimp
+- add patch to use libtunepimp 0.4.0 (api changed)
+
+* Tue Nov 08 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.6-1
+- version 1.3.6
+- BR libGL instead of xorg-x11-Mesa-libGL to prepare for X11R7
+
+* Tue Oct 25 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.5-1
+- version 1.3.5
+
+* Mon Oct 24 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.4-1
+- version 1.3.4
+- add mysql and postgresql support
+- update desktop database
+- add %%doc files
+
+* Thu Oct 13 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.3-1
+- version 1.3.3
+- drop endian patch
+
+* Wed Sep 21 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.2-1
+- version 1.3.2
+- remove patch 4 (applied upstream)
+
+* Sat Sep 10 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.1-2
+- add patch from upstream to fix alsasink in gstreamer
+- default to autoaudiosink for gstreamer
+
+* Mon Sep 05 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.1-1
+- version 1.3.1
+
+* Tue Aug 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-6
+- add version to obsoletes
+
+* Tue Aug 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-5
+- add missing Obsoletes.
+
+* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-4
+- fix endian declaration on ppc
+
+* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-3
+- dont build the Helix engine on arches where HelixPlayer is not built
+
+* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-2
+- disable the akode engine (disabled upstream, see Changelog)
+- merge in the Helix engine, since it does not have special Requires.
+  HelixPlayer or RealPlayer need to be installed manually (either one)
+- updated description
+
+* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-1
+- update to version 1.3
+- add Michel Salim's improvements:
+  - call gtk-update-icon-cache to (de-)register icons
+  - new output plugin subpackage: helix
+  - patched gst and helix plugins' default settings
+
+* Fri Jul 01 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.4-6
+- remove -arts subpackage, it is useless
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-6.fc5
+- remove temporary work-around from 1.2.4-2.fc4
+- add patch to fix several missing forward declarations which let
+  compilation with gcc >= 4.0.0-9 fail
+- re-enable SMP make flags
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-5.fc4
+- disable SMP make flags, since previous release failed miserably on
+  i386 while the one before it succeeded
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-4.fc4
+- set QTLIB and QTINC, so configure script does not search for Qt in
+  QTDIR/lib64 on 64-bit multilib platforms
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-3.fc4
+- try to fix build problems (#158654): always set QTDIR, always
+  buildrequire libtool-ltdl-devel, disable %%fedora conditional BR
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-2.fc4
+- temporarily add patch to work around Fedora Core bug 159090
+
+* Mon May 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.4-1
+- version 1.2.4
+- use dist tag
+- conditional builds for fc3 and fc4
+
+* Sun May 22 2005 Jeremy Katz <katzj at redhat.com> - 1.2.3-2.fc4
+- rebuild on all arches
+
+* Tue Mar 29 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.3-1.fc4
+- version 1.2.3
+- add libtool to BuildRequirements
+- change release tag for FC4
+- add a subpackage for aKode engine
+
+* Mon Mar 14 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.2-1
+- version 1.2.2
+
+* Sat Mar 05 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.1-1
+- version 1.2.1 (bugfixes)
+
+* Mon Feb 14 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2-2
+- show in the GNOME menus too
+
+* Sun Feb 13 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2-1
+- version 1.2 final
+- drop --disable-rpath, won't build with it.
+- drop epoch
+
+* Thu Feb 10 2005 Aurelien Bompard <gauret[AT]free.fr> 0:1.2-0.2.beta4
+- version 1.2 beta 4
+
+* Sat Nov 27 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.2-0.fdr.0.1.beta1
+- version 1.2beta 1
+- minor cleanups
+- don't ship the desktop files, split the provided one instead
+
+* Sun Oct 24 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.1-0.fdr.2
+- clean-up buildrequires
+- fix --with xine switch
+- make a -visualisation subpackage for visualisation plugins
+- make a -arts subpackage to lower dependencies
+
+* Wed Oct 20 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.1-0.fdr.1
+- version 1.1.1
+
+* Mon Sep 27 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.2
+- improve buildrequires
+
+* Sun Sep 26 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.1
+- version 1.1 final
+
+* Tue Sep 14 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.0.1.beta2
+- version 1.1 beta2
+
+* Thu Aug 05 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.2-0.fdr.1
+- version 1.0.2
+- added new xine engine
+
+* Tue Jul 13 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.3
+- remove BR: libselinux-devel: RH fixed the bug
+
+* Wed Jun 30 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.2
+- add Requires: xorg-x11-devel because of a qt packaging bug
+
+* Tue Jun 29 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.1
+- version 1.0.1 (bugfixes)
+
+* Mon Jun 21 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.3
+- remove BR: xine-lib-devel
+- add BR: xorg-x11-Mesa-libGL and libselinux-devel
+
+* Thu Jun 17 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.2
+- add translations
+
+* Thu Jun 17 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.1
+- version 1.0 final
+
+* Tue Jun 01 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.0.1.beta4
+- update to beta4
+
+* Sun May 09 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta3
+- version 1.0-beta3
+
+* Fri Apr 23 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta2
+- version 1.0-beta2
+- use desktop-file-install
+- remove .la files
+- remove --enable-final (won't build with it)
+
+* Thu Apr 15 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta1
+- version 1.0-beta1
+- reduce BuildRequires : arts-devel already requires arts, libvorbis-devel
+  and audiofile-devel
+
+* Mon Mar 08 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.9-0.fdr.1
+- version 0.9
+
+* Wed Feb 11 2004 Aurelien Bompard <gauret[AT]free.fr> 0.8.3-0.fdr.1
+- initial package


More information about the scm-commits mailing list