Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Przeglądając sobie pakiety na archu, dostrzegłem coś o nazwie amarok-minimal — https://aur.archlinux.org/packages/amarok-minimal/ . Skoro oni mogą mieć okrojonego amaroka, to na debianie ja też mogę. I tak zaczołem się zastanawiać jak go okroić. Domyślnie on ma w zależnościach:
amarok-common (= 2.8.0-2), amarok-utils (= 2.8.0-2), kde-runtime (>> 4:4.10), libaio1 (>= 0.3.93), libavcodec54 (>= 6:9.1-1) | libavcodec-extra-54 (>= 6:9.10), libavformat54 (>= 6:9.1-1), libavutil52 (>= 6:9.1-1), libc6 (>= 2.17), libcurl3-gnutls (>= 7.16.2), libgcrypt11 (>= 1.4.5), libgdk-pixbuf2.0-0 (>= 2.22.0), libgl1-mesa-glx | libgl1, libglib2.0-0 (>= 2.14.0), libgpod4-nogtk (>= 0.7.92) | libgpod4 (>= 0.7.92), libkcmutils4 (>= 4:4.8.4), libkdecore5 (>= 4:4.8.4), libkdeui5 (>= 4:4.10.0), libkdewebkit5 (>= 4:4.8.4), libkdnssd4 (>= 4:4.8.4), libkfile4 (>= 4:4.8.4), libkio5 (>= 4:4.8.4), libknewstuff3-4 (>= 4:4.8.4), liblastfm1 (>= 1.0.0), libloudmouth1-0 (>= 1.1.4), libmtp9 (>= 1.1.0), libmysqlclient18 (>= 5.5.24+dfsg-1), libnepomukcore4 (>= 4:4.9.3), libofa0 (>= 0.9.3), libphonon4 (>= 4:4.6.0really4.3.80), libplasma3 (>= 4:4.8.4), libqjson0 (>= 0.7.1), libqt4-dbus (>= 4:4.6.1), libqt4-network (>= 4:4.5.3), libqt4-opengl (>= 4:4.8.0), libqt4-script (>= 4:4.5.3), libqt4-sql (>= 4:4.5.3), libqt4-svg (>= 4:4.5.3), libqt4-xml (>= 4:4.5.3), libqtcore4 (>= 4:4.8.0), libqtgui4 (>= 4:4.8.0), libqtwebkit4 (>= 2.1.0~2011week13), libsolid4 (>= 4:4.8.4), libsoprano4 (>= 2.1.67), libstdc++6 (>= 4.4.0), libthreadweaver4 (>= 4:4.8.4), libx11-6, libxml2 (>= 2.7.4), phonon, zlib1g (>= 1:1.2.0), libqtscript4-core, libqtscript4-gui, libqtscript4-network, libqtscript4-xml, libqtscript4-sql, libqtscript4-uitools
Pobrałem źródła z repo i próbowałem coś wyskrobać z pliku debian/control . Pousuwałem z build dep to co miało w nazwie coś znajomego i to czego nie miałem zamiaru używać. Obecnie on wygląda:
Source: amarok Section: sound Priority: optional Maintainer: Mikhail Morfikov <morfikov@gmail.com> Build-Depends: debhelper (>= 9), cmake (>= 2.6.2), pkg-kde-tools (>= 0.5), libtag1-dev (>= 1.8), libtag-extras-dev (>= 1.0.1), libqtwebkit-dev, libqt4-opengl-dev, kdelibs5-dev (>= 4:4.8.4), libglib2.0-dev, libmysqld-pic (>= 5.5.23+dfsg), libcurl4-gnutls-dev, libxml2-dev, libgtk2.0-dev, libqca2-dev, libavformat-dev (>= 4:0.5), libaio-dev [linux-any], libwrap0-dev Build-Depends-Indep: mysql-server-core-5.5 | mysql-server-core Standards-Version: 3.9.5 Homepage: http://amarok.kde.org Vcs-Git: git://anonscm.debian.org/pkg-kde/kde-extras/amarok.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-kde/kde-extras/amarok.git Package: amarok Architecture: any Depends: amarok-common (= ${source:Version}), amarok-utils (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, libqtscript4-core, libqtscript4-gui, libqtscript4-network, libqtscript4-xml, libqtscript4-sql, libqtscript4-uitools Suggests: amarok-doc (>= ${source:Version}), libqt4-sql-sqlite, libqt4-sql-mysql, libqt4-sql-psql, Description: easy to use media player based on the KDE Platform Amarok is a powerful music player with an intuitive interface. It makes playing the music you love and discovering new music easier than ever before and it looks good doing it! Amarok is based on the powerful Qt4 / KDE4 Platform and nicely integrates with KDE desktop. . Amarok comes with a lot of features including but not limited to: - Scripts - enhance your Amarok experience with community developed scripts. - Dynamic Playlists - create playlists that automatically update. - Context View - customize interface with the Plasma powered Context View. - PopUp Dropper - simplify drag&drop actions with revolutionary menu system. - Multiple Language Translations - Collection Management - organizing your music collection has never been easier with Amarok's powerful tagging, renaming, and sorting abilities. - Scriptable Services - integrate other web services into Amarok. Package: amarok-common Architecture: all Depends: ${misc:Depends}, ${perl:Depends} Recommends: amarok (>= ${source:Version}) Description: architecture independent files for Amarok This package contains architecture independent files needed for Amarok to run properly. Therefore, unless you have 'amarok' package of the same version installed, you will hardly find this package useful. . Amarok is a powerful music player with an intuitive interface. Package: amarok-doc Section: doc Architecture: all Depends: ${misc:Depends} Replaces: amarok-common (<= 2.5.0-2) Breaks: amarok-common (<= 2.5.0-2) Recommends: amarok (>= ${source:Version}) Description: Amarok documentation (Handbook) This package contains Amarok user documentation in various languages. It can be opened from the application menu Help -> Amarok Handbook. . Amarok is a powerful music player with an intuitive interface. Package: amarok-utils Section: utils Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Replaces: amarok (<< 2.8.0) Breaks: amarok (<< 2.8.0) Description: utilities for Amarok media player This package contains command line utilities that are typically used by Amarok media player but might also be useful on systems without Amarok installed. They are designed to be lightweight as they do not depend on KDE libraries. . Currently the package contains the following utilities: - amarokcollectionscanner - scans audio files, collects information from file tags and prints it in the structured XML format. - amarok_afttagger - a helper program which writes/removes custom tags to/from media files required for embedded "Amarok File Tracking". Package: amarok-dbg Priority: extra Section: debug Architecture: any Depends: amarok (= ${binary:Version}), ${misc:Depends} Recommends: kdelibs5-dbg Suggests: libqtwebkit4-dbg Description: debugging symbols for Amarok This package provides debugging symbols for all binary packages built from amarok source package. It's highly recommended to have this package installed before reporting any Amarok crashes to either Amarok developers or Debian package maintainers.
Tam na archwiki jest plik od budowania pakietu dla archa to zajrzałem w niego i wyciągnąłem co nieco i wsadziłem do zwykłego skryptu:
#!/bin/bash # applets sed -i '/albums/d' src/context/applets/CMakeLists.txt sed -i '/info/d' src/context/applets/CMakeLists.txt sed -i '/labels/d' src/context/applets/CMakeLists.txt sed -i '/photos/d' src/context/applets/CMakeLists.txt sed -i '/tabs/d' src/context/applets/CMakeLists.txt sed -i '/wikipedia/d' src/context/applets/CMakeLists.txt sed -i '/analyzer/d' src/context/applets/CMakeLists.txt sed -i '/upcomingevents/d' src/context/applets/CMakeLists.txt sed -i '/similarartists/d' src/context/applets/CMakeLists.txt # engines sed -i '/info/d' src/context/engines/CMakeLists.txt sed -i '/labels/d' src/context/engines/CMakeLists.txt sed -i '/photos/d' src/context/engines/CMakeLists.txt sed -i '/tabs/d' src/context/engines/CMakeLists.txt sed -i '/wikipedia/d' src/context/engines/CMakeLists.txt sed -i '/similarartists/d' src/context/engines/CMakeLists.txt sed -i '/upcomingevents/d' src/context/engines/CMakeLists.txt # collections sed -i '/daap/d' src/core-impl/collections/CMakeLists.txt sed -i '/audiocd/d' src/core-impl/collections/CMakeLists.txt sed -i '/ipodcollection/d' src/core-impl/collections/CMakeLists.txt sed -i '/mtpcollection/d' src/core-impl/collections/CMakeLists.txt sed -i '/umscollection/d' src/core-impl/collections/CMakeLists.txt sed -i '/playdarcollection/d' src/core-impl/collections/CMakeLists.txt sed -i '/upnpcollection/d' src/core-impl/collections/CMakeLists.txt sed -i '/nepomukconnection/d' src/core-impl/collections/CMakeLists.txt # services sed -i '/amazon/d' src/services/CMakeLists.txt sed -i '/magnatune/d' src/services/CMakeLists.txt sed -i '/ampache/d' src/services/CMakeLists.txt sed -i '/mp3tunes/d' src/services/CMakeLists.txt sed -i '/jamendo/d' src/services/CMakeLists.txt sed -i '/opmldirectory/d' src/services/CMakeLists.txt sed -i '/gpodder/d' src/services/CMakeLists.txt sed -i '/lastfm/d' src/services/CMakeLists.txt # scripts sed -i '/free_music_charts_service/d' src/scripts/CMakeLists.txt sed -i '/librivox_service/d' src/scripts/CMakeLists.txt sed -i '/radio_station_service/d' src/scripts/CMakeLists.txt sed -i '/lyrics_lyricwiki/d' src/scripts/CMakeLists.txt # utilities sed -i '/amzdownloader/d' utilities/CMakeLists.txt # languages sed -i '/(sr@ijekavianlatin)/d' po/CMakeLists.txt sed -i '/(fi)/d' po/CMakeLists.txt sed -i '/(el)/d' po/CMakeLists.txt sed -i '/(ca@valencia)/d' po/CMakeLists.txt sed -i '/(sr)/d' po/CMakeLists.txt sed -i '/(sl)/d' po/CMakeLists.txt sed -i '/(fr)/d' po/CMakeLists.txt sed -i '/(zh_CN)/d' po/CMakeLists.txt sed -i '/(de)/d' po/CMakeLists.txt sed -i '/(sr@ijekavian)/d' po/CMakeLists.txt sed -i '/(es)/d' po/CMakeLists.txt sed -i '/(ca)/d' po/CMakeLists.txt sed -i '/(pt)/d' po/CMakeLists.txt sed -i '/(it)/d' po/CMakeLists.txt sed -i '/(sv)/d' po/CMakeLists.txt sed -i '/(et)/d' po/CMakeLists.txt sed -i '/(lt)/d' po/CMakeLists.txt sed -i '/(zh_TW)/d' po/CMakeLists.txt sed -i '/(tr)/d' po/CMakeLists.txt sed -i '/(da)/d' po/CMakeLists.txt sed -i '/(sr@latin)/d' po/CMakeLists.txt sed -i '/(en_GB)/d' po/CMakeLists.txt sed -i '/(nb)/d' po/CMakeLists.txt sed -i '/(ja)/d' po/CMakeLists.txt sed -i '/(eu)/d' po/CMakeLists.txt sed -i '/(nl)/d' po/CMakeLists.txt sed -i '/(uk)/d' po/CMakeLists.txt sed -i '/(lv)/d' po/CMakeLists.txt sed -i '/(ru)/d' po/CMakeLists.txt sed -i '/(ro)/d' po/CMakeLists.txt sed -i '/(bs)/d' po/CMakeLists.txt sed -i '/(cs)/d' po/CMakeLists.txt sed -i '/(hu)/d' po/CMakeLists.txt sed -i '/(pt_BR)/d' po/CMakeLists.txt sed -i '/(gl)/d' po/CMakeLists.txt sed -i '/(ga)/d' po/CMakeLists.txt sed -i '/(pa)/d' po/CMakeLists.txt # documentation languages #sed -i '(en_US)/d' doc/CMakeLists.txt sed -i '/(de)/d' doc/CMakeLists.txt sed -i '/(es)/d' doc/CMakeLists.txt sed -i '/(pt)/d' doc/CMakeLists.txt sed -i '/(sv)/d' doc/CMakeLists.txt sed -i '/(et)/d' doc/CMakeLists.txt sed -i '/(nl)/d' doc/CMakeLists.txt sed -i '/(uk)/d' doc/CMakeLists.txt sed -i '/(ru)/d' doc/CMakeLists.txt sed -i '/(pt_BR)/d' doc/CMakeLists.txt
Większość usuniętych opcji mówi sama za siebie. Trochę to dostosowałem do swoich potrzeb, zostawiając tam chyba 2 rzeczy, których używam.
Dopisałem trochę linijek do pliku debian/rules i obecnie wygląda tak:
#!/usr/bin/make -f #DEB_KDE_LINK_WITH_AS_NEEDED := yes # Add --no-relax when linking on Alpha in order to fix FTBFS (#684932) ifeq (alpha,$(shell dpkg-architecture -qDEB_HOST_ARCH)) export DEB_LDFLAGS_MAINT_APPEND := -Wl,--no-relax endif override_dh_auto_configure: dh_auto_configure -- -DCMAKE_USE_RELATIVE_PATHS=ON \ -DKDE4_BUILD_TESTS=OFF \ -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` \ -DCMAKE_BUILD_TYPE=Release \ -DQT_QMAKE_EXECUTABLE=qmake-qt4 \ -DKDE4_BUILD_TESTS=OFF \ -DWITH_LibLastFm=OFF \ -DWITH_Mtp=OFF \ -DWITH_IPOD=OFF \ -DWITH_LibOFA=OFF \ -DWITH_QJSON=OFF \ -DWITH_Mygpo-qt=OFF \ -DWITH_NepomukCore=OFF \ -DWITH_Soprano=OFF \ -DWITH_PLAYGROUND=OFF \ -DWITH_MP3Tunes=OFF \ -DWITH_SPECTRUM_ANALYZER=OFF override_dh_bugfiles: dh_bugfiles -A override_dh_install: dh_install # Copy English errmsg.sys from mysql-server-core package if [ -d debian/amarok-common ]; then \ cp -a /usr/share/mysql/english/errmsg.sys debian/amarok-common/usr/share/kde4/apps/amarok/mysqle/; \ fi override_dh_makeshlibs: dh_makeshlibs "-Xusr/lib/kde4/*" override_dh_builddeb: dh_builddeb -- -Zxz %: dh $@ --with kde --parallel --dbg-package=amarok-dbg .PHONY: override_dh_auto_test
Pozmieniałem też część plików debian/*.install . Nie pamiętam czy przy każdym majstrowałem coś, w każdym razie wyglądają jak poniżej:
debian/amarok.install
debian/icons/* /usr/share/pixmaps usr/bin/amarok usr/bin/amarokpkg usr/lib/kde4/amarok_collection-mysqlecollection.so usr/lib/kde4/amarok_collection-mysqlservercollection.so usr/lib/kde4/amarok_containment_vertical.so usr/lib/kde4/amarok_context_applet_currenttrack.so usr/lib/kde4/amarok_context_applet_lyrics.so usr/lib/kde4/amarok_data_engine_current.so usr/lib/kde4/amarok_data_engine_lyrics.so usr/lib/libamarok-sqlcollection.so.1* usr/lib/libamarok-transcoding.so.1* usr/lib/libamarokcore.so.1* usr/lib/libamaroklib.so.1* usr/lib/libamarokocsclient.so.4* usr/lib/libamarokpud.so.1* usr/share/applications/kde4/amarok.desktop usr/share/applications/kde4/amarok_containers.desktop usr/share/kde4/apps/kconf_update/amarok.upd usr/share/kde4/services/amarok.protocol
debian/amarok-common.install
usr/share/icons/hicolor/* usr/share/kde4/apps/amarok/amarok.notifyrc usr/share/kde4/apps/amarok/data/* usr/share/kde4/apps/amarok/icons/* usr/share/kde4/apps/amarok/images/* usr/share/kde4/apps/desktoptheme/* usr/share/kde4/apps/kconf_update/amarok-2.4.1-tokens_syntax_update.pl usr/share/kde4/apps/solid/actions/amarok-play-audiocd.desktop usr/share/kde4/config.kcfg/* usr/share/kde4/config/amarok.knsrc usr/share/kde4/config/amarok_homerc usr/share/kde4/config/amarokapplets.knsrc usr/share/kde4/services/ServiceMenus/* usr/share/kde4/services/amarok-containment-vertical.desktop usr/share/kde4/services/amarok-context-applet-currenttrack.desktop usr/share/kde4/services/amarok-context-applet-lyrics.desktop usr/share/kde4/services/amarok-data-engine-current.desktop usr/share/kde4/services/amarok-data-engine-lyrics.desktop usr/share/kde4/services/amarok_collection-mysqlecollection.desktop usr/share/kde4/services/amarok_collection-mysqlservercollection.desktop usr/share/kde4/services/amarokitpc.protocol usr/share/kde4/servicetypes/amarok_codecinstall.desktop usr/share/kde4/servicetypes/amarok_context_applet.desktop usr/share/kde4/servicetypes/amarok_data_engine.desktop usr/share/kde4/servicetypes/amarok_plugin.desktop usr/share/locale/*
debian/amarok-doc.install
usr/share/doc/kde/HTML/en/*
debian/amarok-utils.install
usr/bin/amarok_afttagger usr/bin/amarokcollectionscanner usr/lib/libamarokshared.so.1*
Pakiety się zbudowały (póki co na mojej maszynie), amarok działa, w opcjach syfu zbędnego nie widać:
[img]http://imageshack.com/a/img822/3069/nxun.png[/img]
[img]http://imageshack.com/a/img838/7397/281c.png[/img]
Patrząc po zależnościach nowych paczek amaroka, są tam poniższe pakiety:
amarok:
Depends: amarok-common (= 2.8.0-2), amarok-utils (= 2.8.0-2), kde-runtime (>> 4:4.10), libaio1 (>= 0.3.93), libc6 (>= 2.17), libkcmutils4 (>= 4:4.8.4), libkdecore5 (>= 4:4.8.4), libkdeui5 (>= 4:4.10.0), libkfile4 (>= 4:4.8.4), libkio5 (>= 4:4.8.4), libknewstuff3-4 (>= 4:4.8.4), libmysqlclient18 (>= 5.5.24+dfsg-1), libphonon4 (>= 4:4.7.0.0), libplasma3 (>= 4:4.8.4), libqt4-dbus (>= 4:4.6.1), libqt4-network (>= 4:4.5.3), libqt4-script (>= 4:4.5.3), libqt4-sql (>= 4:4.5.3), libqt4-svg (>= 4:4.5.3), libqt4-xml (>= 4:4.5.3), libqtcore4 (>= 4:4.8.0), libqtgui4 (>= 4:4.8.0), libsolid4 (>= 4:4.8.4), libstdc++6 (>= 4.4.0), libthreadweaver4 (>= 4:4.8.4), libx11-6, phonon, zlib1g (>= 1:1.2.0), libqtscript4-core, libqtscript4-gui, libqtscript4-network, libqtscript4-xml, libqtscript4-sql, libqtscript4-uitools
amarok-utils
Depends: libc6 (>= 2.14), libkdecore5 (>= 4:4.8.4), libqtcore4 (>= 4:4.8.0), libqtgui4 (>= 4:4.5.3), libstdc++6 (>= 4.6), libtag-extras1 (>= 1.0.1), libtag1c2a (>= 1.9.1)
amarok-common
Depends: perl
Te zależności powyżej są generowane przez ${shlibs:Depends}, ${misc:Depends} i ${perl:Depends} . Nie wiem czy to nie dorzuca jakiegoś syfu i tak się zastanawiam czy nie lepiej ręcznie sprecyzować zależności. No bo w tym archlinuxowym PKGBUILD w zależnościach jest: niby:
depends=('kdebase-runtime' 'mariadb' 'qtscriptgenerator' 'taglib-extras' 'ffmpeg')
Da radę coś z tego jeszcze wykroić?
Czy źródła trzeba zmieniać, czy wystarczy edycja tych plików .install w katalogu debian/ ?
I jeszcze taka sprawa, jak podejrzeć opcje, które można podać w debian/rules ? Normalnie jak jest skrypt configure to można tam dać help i podejrzeć opcje ale tutaj nie ma żadnego configure.
Offline
Okrojony Amarok nazywa się Clementine.
Offline
Dokładnie clementine to stary amarok na kde to mi chodziło dwa razy szybciej i było zdecydowanie mniej pamięciożerne niż amarok. Wporzo odtwarzacz i nie instaluje dodatkowych śmieci...
Offline
A dla jakich funkcji używacie Amaroka?
Tak mnie zastanawia, bo ja przez gnome-mplayer lecę :D
Fervi
Offline
Bo jako jedyny ma normalna listę odtwarzania, bez dublowania miliona razy zespołu, roku, albumu, okładki czy gatunku. Obsługuje zajebiście tagi id3 i potrafi do nich zapisywać staty piosenek, i w ten sposób można wyeliminować zewnętrzne bazy danych, bo wszystko siedzi w plikach.
Offline
dobry kombajn, ale właśnie nawet po obkrojeniu to dalej kombajn, audacious z winampowym interfejsem 9mb ramu je, żeby uzyskać taki wynik w amaroku to zostałby sam przycisk play po obkrojeniu;)
Ale na lepszym sprzęcie pewnie... jakby nie patrzeć to nadal najlepszy i najbardziej funkcjonalny kombajn...
Ostatnio edytowany przez menel (2014-01-03 18:32:02)
Offline
Może miałeś jakąś kopniętą wersję Clementine? U mnie pobiera stabilnie 32mb ram. Nie jest to szczyt lekkości, ale z większości jej ficzerów korzystam. (Takich jak androidowy pilot, scroobler, uzupełnianie tagów i okładek czy nawet strumienie).
Offline
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00100 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.227.209.101' WHERE u.id=1 |
0.00058 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.227.209.101', 1732892792) |
0.00045 | SELECT * FROM punbb_online WHERE logged<1732892492 |
0.00192 | DELETE FROM punbb_online WHERE ident='54.36.148.106' |
0.00055 | DELETE FROM punbb_online WHERE ident='54.36.149.68' |
0.00058 | SELECT topic_id FROM punbb_posts WHERE id=250219 |
0.00120 | SELECT id FROM punbb_posts WHERE topic_id=24927 ORDER BY posted |
0.00030 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24927 AND t.moved_to IS NULL |
0.00025 | SELECT search_for, replace_with FROM punbb_censoring |
0.00140 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24927 ORDER BY p.id LIMIT 0,25 |
0.00067 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24927 |
Total query time: 0.00907 s |