app-misc/tracker: bump to 1.10.5; includes security hardening via seccomp and mediaar...
authorMart Raudsepp <leio@gentoo.org>
Thu, 23 Mar 2017 04:35:16 +0000 (06:35 +0200)
committerMart Raudsepp <leio@gentoo.org>
Thu, 23 Mar 2017 04:41:05 +0000 (06:41 +0200)
mediaart is suggested to be disabled in the 1.10 branch per upstream, probably because
it isn't secured via seccomp or otherwise yet.

Package-Manager: Portage-2.3.4, Repoman-2.3.1

app-misc/tracker/Manifest
app-misc/tracker/tracker-1.10.5.ebuild [new file with mode: 0644]

index 51c7f9eeb6ab8a9fdcc3d5a7c1e47a1f31556b6b..238779a2e94599ea6acce8ae44c1781658de6992 100644 (file)
@@ -1,2 +1,3 @@
 DIST tracker-1.10.1.tar.xz 5027912 SHA256 67ea78cca8ebbd6633dddcdd40b5205683cc886b872cde987e2a8bae171f4191 SHA512 aa523fad1c577926ec1f33692314afe673bdc6a84917c4ed506d29e8d0ec17dfacf0a6694cd794d140fc1498770b58d640ed4886c2827644665c92461764d7ce WHIRLPOOL 6947aef1420f15c879ae26a7c5e17ce0a34316077cba20b12dbb5be7e5f55ea840d6d0e145d3c19f47f3db640e07b043a6a25a7bd810bd6ac9a3de336f30f6d3
+DIST tracker-1.10.5.tar.xz 5033992 SHA256 3b8488f0e372054790f2fd4207227c5b15425bf1ab829d76928ac0b32de9c5b7 SHA512 e26f394681d0da28fb28536655f3c584de4aa7ce38c5a9762f81c9bfd21185d8df542b8d72ab337fb63ab91a1df9c733053fb6fa02cdffdc4edd873e0f70b800 WHIRLPOOL 0ab0a66cee2eb14b7893dd3719b0095e3cb3f49cb4db8bebcaa4f5174e726fb7db5f5706a635ffc71d89ab05494f991d4e8b2e62077c5cf2db85f5d9d7a3f4f8
 DIST tracker-1.8.3.tar.xz 4985156 SHA256 9bbf8c8525b3a1496716a350bc50ba06af5e880a4386506ca3e45d6779065c42 SHA512 122d84d88fb170c0b9f3db0038ada88b9cca75698d1d3bc6a70d019e97ad77a9b21e145b9ec23c0eb9f46778505438ff30f131b4719d3126178cd7ddd752eccd WHIRLPOOL 75a14ca80ceeb23a7d7985cf22f72c88e2c11a4e69c107cbe536575a6fbce335268dcb9fe8514da8f98ebfbbdf59a63d7253fc5de5abf9d64b3a508bd355843d
diff --git a/app-misc/tracker/tracker-1.10.5.ebuild b/app-misc/tracker/tracker-1.10.5.ebuild
new file mode 100644 (file)
index 0000000..139b1fc
--- /dev/null
@@ -0,0 +1,248 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools bash-completion-r1 eutils gnome2 linux-info multilib python-any-r1 vala versionator virtualx
+
+DESCRIPTION="A tagging metadata database, search tool and indexer"
+HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0/100"
+IUSE="cue elibc_glibc exif ffmpeg firefox-bookmarks flac gif gsf gstreamer
+gtk iptc +iso +jpeg libav +miner-fs mp3 nautilus networkmanager pdf playlist
+rss seccomp stemmer test thunderbird +tiff upnp-av upower +vorbis +xml xmp xps"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+REQUIRED_USE="
+       ?? ( gstreamer ffmpeg )
+       cue? ( gstreamer )
+       upnp-av? ( gstreamer )
+       !miner-fs? ( !cue !exif !flac !gif !gsf !iptc !iso !jpeg !mp3 !pdf !playlist !tiff !vorbis !xml !xmp !xps )
+"
+
+# According to NEWS, introspection is non-optional
+# glibc-2.12 needed for SCHED_IDLE (see bug #385003)
+# seccomp is automagic, though we want to use it whenever possible (linux)
+# >=media-libs/libmediaart-1.9:2.0 is suggested to be disabled for 1.10 for security; revisit for 1.12 (configure flag)
+RDEPEND="
+       >=app-i18n/enca-1.9
+       >dev-db/sqlite-3.8.4.2:=
+       >=dev-libs/glib-2.44:2
+       >=dev-libs/gobject-introspection-0.9.5:=
+       >=dev-libs/icu-4.8.1.1:=
+       >=media-libs/libpng-1.2:0=
+       >=x11-libs/pango-1:=
+       sys-apps/util-linux
+       virtual/imagemagick-tools[png,jpeg?]
+
+       cue? ( media-libs/libcue )
+       elibc_glibc? ( >=sys-libs/glibc-2.12 )
+       exif? ( >=media-libs/libexif-0.6 )
+       ffmpeg? (
+               libav? ( media-video/libav:= )
+               !libav? ( media-video/ffmpeg:0= )
+       )
+       firefox-bookmarks? ( || (
+               >=www-client/firefox-4.0
+               >=www-client/firefox-bin-4.0 ) )
+       flac? ( >=media-libs/flac-1.2.1 )
+       gif? ( media-libs/giflib:= )
+       gsf? ( >=gnome-extra/libgsf-1.14.24 )
+       gstreamer? (
+               media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0 )
+       gtk? (
+               >=dev-libs/libgee-0.3:0.8
+               >=x11-libs/gtk+-3:3 )
+       iptc? ( media-libs/libiptcdata )
+       iso? ( >=sys-libs/libosinfo-0.2.9:= )
+       jpeg? ( virtual/jpeg:0 )
+       upower? ( || ( >=sys-power/upower-0.9 sys-power/upower-pm-utils ) )
+       mp3? ( >=media-libs/taglib-1.6 )
+       networkmanager? ( >=net-misc/networkmanager-0.8:= )
+       pdf? (
+               >=x11-libs/cairo-1:=
+               >=app-text/poppler-0.16:=[cairo,utils]
+               >=x11-libs/gtk+-2.12:2 )
+       playlist? ( >=dev-libs/totem-pl-parser-3 )
+       rss? ( >=net-libs/libgrss-0.7:0 )
+       stemmer? ( dev-libs/snowball-stemmer )
+       thunderbird? ( || (
+               >=mail-client/thunderbird-5.0
+               >=mail-client/thunderbird-bin-5.0 ) )
+       tiff? ( media-libs/tiff:0 )
+       upnp-av? ( >=media-libs/gupnp-dlna-0.9.4:2.0 )
+       vorbis? ( >=media-libs/libvorbis-0.22 )
+       xml? ( >=dev-libs/libxml2-2.6 )
+       xmp? ( >=media-libs/exempi-2.1 )
+       xps? ( app-text/libgxps )
+       !gstreamer? ( !ffmpeg? ( || ( media-video/totem media-video/mplayer ) ) )
+       seccomp? ( >=sys-libs/libseccomp-2.0 )
+"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       $(vala_depend)
+       dev-util/gdbus-codegen
+       >=dev-util/gtk-doc-am-1.8
+       >=dev-util/intltool-0.40.0
+       >=sys-devel/gettext-0.17
+       virtual/pkgconfig
+       gtk? ( >=dev-libs/libgee-0.3:0.8 )
+       test? (
+               >=dev-libs/dbus-glib-0.82-r1
+               >=sys-apps/dbus-1.3.1[X] )
+"
+PDEPEND="nautilus? ( ~gnome-extra/nautilus-tracker-tags-${PV} )"
+
+function inotify_enabled() {
+       if linux_config_exists; then
+               if ! linux_chkconfig_present INOTIFY_USER; then
+                       ewarn "You should enable the INOTIFY support in your kernel."
+                       ewarn "Check the 'Inotify support for userland' under the 'File systems'"
+                       ewarn "option. It is marked as CONFIG_INOTIFY_USER in the config"
+                       die 'missing CONFIG_INOTIFY'
+               fi
+       else
+               einfo "Could not check for INOTIFY support in your kernel."
+       fi
+}
+
+pkg_setup() {
+       linux-info_pkg_setup
+       inotify_enabled
+
+       python-any-r1_pkg_setup
+}
+
+src_prepare() {
+       # Don't run 'firefox --version' or 'thunderbird --version'; it results in
+       # access violations on some setups (bug #385347, #385495).
+       create_version_script "www-client/firefox" "Mozilla Firefox" firefox-version.sh
+       create_version_script "mail-client/thunderbird" "Mozilla Thunderbird" thunderbird-version.sh
+
+       eautoreconf # See bug #367975
+       gnome2_src_prepare
+       vala_src_prepare
+}
+
+src_configure() {
+       local myconf=""
+
+       if use gstreamer ; then
+               myconf="${myconf} --enable-generic-media-extractor=gstreamer"
+               if use upnp-av; then
+                       myconf="${myconf} --with-gstreamer-backend=gupnp-dlna"
+               else
+                       myconf="${myconf} --with-gstreamer-backend=discoverer"
+               fi
+       elif use ffmpeg ; then
+               myconf="${myconf} --enable-generic-media-extractor=libav"
+       else
+               myconf="${myconf} --enable-generic-media-extractor=external"
+       fi
+
+       # unicode-support: libunistring, libicu or glib ?
+       # According to NEWS, introspection is required
+       # is not being generated
+       # nautilus extension is in a separate package, nautilus-tracker-tags
+       # miner-evolution disabled as it's incompatible with current eds
+       gnome2_src_configure \
+               --disable-hal \
+               --disable-miner-evolution \
+               --disable-nautilus-extension \
+               --disable-static \
+               --enable-abiword \
+               --enable-artwork \
+               --enable-dvi \
+               --enable-enca \
+               --enable-guarantee-metadata \
+               --enable-icon \
+               --enable-introspection \
+               --disable-libmediaart \
+               --enable-libpng \
+               --enable-miner-apps \
+               --enable-miner-user-guides \
+               --enable-ps \
+               --enable-text \
+               --enable-tracker-fts \
+               --enable-tracker-writeback \
+               --with-unicode-support=libicu \
+               --with-bash-completion-dir="$(get_bashcompdir)" \
+               $(use_enable cue libcue) \
+               $(use_enable exif libexif) \
+               $(use_enable firefox-bookmarks miner-firefox) \
+               $(use_with firefox-bookmarks firefox-plugin-dir "${EPREFIX}"/usr/$(get_libdir)/firefox/extensions) \
+               FIREFOX="${S}"/firefox-version.sh \
+               $(use_enable flac libflac) \
+               $(use_enable gif libgif) \
+               $(use_enable gsf libgsf) \
+               $(use_enable gtk tracker-needle) \
+               $(use_enable gtk tracker-preferences) \
+               $(use_enable iptc libiptcdata) \
+               $(use_enable iso libosinfo) \
+               $(use_enable jpeg libjpeg) \
+               $(use_enable upower upower) \
+               $(use_enable miner-fs) \
+               $(use_enable mp3 taglib) \
+               $(use_enable mp3) \
+               $(use_enable networkmanager network-manager) \
+               $(use_enable pdf poppler) \
+               $(use_enable playlist) \
+               $(use_enable rss miner-rss) \
+               $(use_enable stemmer libstemmer) \
+               $(use_enable test functional-tests) \
+               $(use_enable test unit-tests) \
+               $(use_enable thunderbird miner-thunderbird) \
+               $(use_with thunderbird thunderbird-plugin-dir "${EPREFIX}"/usr/$(get_libdir)/thunderbird/extensions) \
+               THUNDERBIRD="${S}"/thunderbird-version.sh \
+               $(use_enable tiff libtiff) \
+               $(use_enable vorbis libvorbis) \
+               $(use_enable xml libxml2) \
+               $(use_enable xmp exempi) \
+               $(use_enable xps libgxps) \
+               ${myconf}
+}
+
+src_test() {
+       # G_MESSAGES_DEBUG, upstream bug #699401#c1
+       virtx emake check TESTS_ENVIRONMENT="dbus-run-session" G_MESSAGES_DEBUG="all"
+}
+
+src_install() {
+       gnome2_src_install
+
+       # Manually symlink extensions for {firefox,thunderbird}-bin
+       if use firefox-bookmarks; then
+               dosym /usr/share/xul-ext/trackerfox \
+                       /usr/$(get_libdir)/firefox-bin/extensions/trackerfox@bustany.org
+       fi
+
+       if use thunderbird; then
+               dosym /usr/share/xul-ext/trackerbird \
+                       /usr/$(get_libdir)/thunderbird-bin/extensions/trackerbird@bustany.org
+       fi
+}
+
+create_version_script() {
+       # Create script $3 that prints "$2 MAX(VERSION($1), VERSION($1-bin))"
+
+       local v=$(best_version ${1})
+       v=${v#${1}-}
+       local vbin=$(best_version ${1}-bin)
+       vbin=${vbin#${1}-bin-}
+
+       if [[ -z ${v} ]]; then
+               v=${vbin}
+       else
+               version_compare ${v} ${vbin}
+               [[ $? -eq 1 ]] && v=${vbin}
+       fi
+
+       echo -e "#!/bin/sh\necho $2 $v" > "$3" || die
+       chmod +x "$3" || die
+}