From 7093cd981cafcf8dcf5619d4c5a7876c9acade4f Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 26 May 2014 12:42:08 -0300 Subject: xbmc-libre-lts-12.3-2: updating revision based on xbmc from Arch * cleaned and improved pkgbuild * updated install script for 420 uid/gid FIXES: FS#40264 (https://bugs.archlinux.org/task/40264) - [xbmc] polkit rules should be in /usr/share/polkit-1/rules.d/ FS#40247 (https://bugs.archlinux.org/task/40247) - [xbmc] optional dependency description for upower is wrong FS#40539 (https://bugs.archlinux.org/task/40539) - [xbmc] .desktop entry has executable attributes --- ...pplications-xbmc.desktop-does-nt-have-exe.patch | 27 ++++++ libre/xbmc-libre-lts/PKGBUILD | 103 +++++++++++++-------- libre/xbmc-libre-lts/xbmc.install | 29 ++++-- 3 files changed, 111 insertions(+), 48 deletions(-) create mode 100644 libre/xbmc-libre-lts/0001-make-sure-applications-xbmc.desktop-does-nt-have-exe.patch diff --git a/libre/xbmc-libre-lts/0001-make-sure-applications-xbmc.desktop-does-nt-have-exe.patch b/libre/xbmc-libre-lts/0001-make-sure-applications-xbmc.desktop-does-nt-have-exe.patch new file mode 100644 index 000000000..71841758e --- /dev/null +++ b/libre/xbmc-libre-lts/0001-make-sure-applications-xbmc.desktop-does-nt-have-exe.patch @@ -0,0 +1,27 @@ +From 6abfd7104202121d3e23ddad47e377dfaef22b10 Mon Sep 17 00:00:00 2001 +From: BlackEagle +Date: Sun, 25 May 2014 12:10:01 +0200 +Subject: [PATCH] make sure applications/xbmc.desktop does'nt have executable + flag + +Signed-off-by: BlackEagle +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 754f153..bee1fdd 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -646,7 +646,7 @@ endif + endif + @# Icons and links + @install -d $(DESTDIR)$(datarootdir)/applications +- @install tools/Linux/xbmc.desktop $(DESTDIR)$(datarootdir)/applications/xbmc.desktop ++ @install -m 0644 tools/Linux/xbmc.desktop $(DESTDIR)$(datarootdir)/applications/xbmc.desktop + @install -d $(DESTDIR)$(datadir)/icons/hicolor/48x48/apps + @install -m 0644 media/icon48x48.png $(DESTDIR)$(datadir)/icons/hicolor/48x48/apps/xbmc.png + @install -d $(DESTDIR)$(datadir)/icons/hicolor/256x256/apps +-- +1.9.1 + diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD index bd0ab5108..9be7cda0c 100644 --- a/libre/xbmc-libre-lts/PKGBUILD +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -3,6 +3,7 @@ # Contributor (Arch): [vEX] # Contributor (Arch): Zeqadious # Contributor (Arch): BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Contributor (Arch): Bartłomiej Piotrowski # Maintainer: André Silva _prefix=/usr @@ -11,37 +12,53 @@ _pkgname=xbmc pkgname=xbmc-libre-lts pkgver=12.3 _codename=Frodo -pkgrel=1 +pkgrel=2 pkgdesc="A software media player and entertainment hub for digital media (Frodo version), without nonfree addons and unrar support" arch=('i686' 'x86_64') url="http://xbmc.org" -license=('GPL' 'custom') +license=('GPL2') conflicts=($_pkgname) provides=($_pkgname) -depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' - 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' - 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' - 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' - 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' - 'tinyxml' 'taglib' 'ffmpeg-compat') -makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' - 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') -optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' - 'lirc: remote controller support' - 'udisks: automount external drives' - 'upower: used to trigger power management functionality' - 'xorg-xinit: autostart xbmc') +depends=( +'hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' +'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' +'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' +'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' +'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' +'tinyxml' 'taglib' 'ffmpeg-compat' +) +makedepends=( +'boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' +'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-runtime-headless' +) +optdepends=( +'libcec: support for Pulse-Eight USB-CEC adapter' +'lirc: remote controller support' +'xorg-xinit: autostart xbmc' +'udisks: automount external drives' +'upower: display battery level' +) install="${_pkgname}.install" -mksource=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz") -source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" - "xbmc.service" - "polkit.rules" - "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285") -mkmd5sums=('7ae385ebf8e5cfcb917393235e6efbdb') -md5sums=('7c71af50af55b097e4365a58b70754e8' - 'de331663cc8adc94f2fe44a262cfff58' - '02f7951824ee13103344f36009c0ef2a' - '7fd6399d2ffbdf06b724f0cc2efa0784') +mksource=( + "http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz" +) +source=( + "https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" + 'xbmc.service' + 'polkit.rules' + "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285" + '0001-make-sure-applications-xbmc.desktop-does-nt-have-exe.patch' +) +mkmd5sums=( + '7ae385ebf8e5cfcb917393235e6efbdb' +) +md5sums=( + '7c71af50af55b097e4365a58b70754e8' + 'de331663cc8adc94f2fe44a262cfff58' + '02f7951824ee13103344f36009c0ef2a' + '7fd6399d2ffbdf06b724f0cc2efa0784' + '8998bc505ae4c66604c90b1c005be8c2' +) mksource() { cd "${srcdir}/xbmc-$pkgver-$_codename" @@ -54,6 +71,7 @@ prepare() { cd "${srcdir}/xbmc-$pkgver-$_codename" patch -p0 <$srcdir/libass.patch + patch -p1 -i "$srcdir/0001-make-sure-applications-xbmc.desktop-does-nt-have-exe.patch" # fix lsb_release dependency sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp @@ -64,7 +82,7 @@ prepare() { } build() { - cd "${srcdir}/xbmc-$pkgver-$_codename" + cd "$srcdir/xbmc-$pkgver-$_codename" # Bootstrapping XBMC ./bootstrap @@ -105,34 +123,43 @@ build() { --enable-external-libraries \ --enable-external-ffmpeg \ --disable-non-free + # Now (finally) build make } package() { - cd "${srcdir}/xbmc-$pkgver-$_codename" + cd "$srcdir/xbmc-$pkgver-$_codename" # Running make install - make DESTDIR="${pkgdir}" install + make DESTDIR="$pkgdir" install # run feh with python2 - sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc + sed -i -e 's/python/python2/g' ${pkgdir}$_prefix/bin/xbmc # lsb_release fix - sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc" - sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc" + sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}$_prefix/bin/xbmc" + sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}$_prefix/bin/xbmc" # Tools - install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" - install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" + install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \ + "${pkgdir}$_prefix/lib/xbmc/" # Licenses - install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${_pkgname}" + install -dm755 "${pkgdir}$_prefix/share/licenses/$_pkgname" for licensef in LICENSE.GPL copying.txt; do - mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${_pkgname}" + mv "${pkgdir}$_prefix/share/doc/xbmc/$licensef" \ + "${pkgdir}$_prefix/share/licenses/$_pkgname" done - install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service -# install -Dm0644 $srcdir/polkit.rules $pkgdir/usr/share/polkit-1/rules.d/10-xbmc.rules -# chmod 0700 $pkgdir/usr/share/polkit-1/rules.d/ + # install systemd service + install -Dm0644 "$srcdir/xbmc.service" "$pkgdir/usr/lib/systemd/system/xbmc.service" + + # install polkit rules + install -dm700 "$pkgdir/usr/share/polkit-1/rules.d" + install -Dm0644 "$srcdir/polkit.rules" "$pkgdir/usr/share/polkit-1/rules.d/10-xbmc.rules" + + # XBMC user home + install -dm 700 "${pkgdir}"/var/lib/xbmc + chown 420:420 "${pkgdir}"/var/lib/xbmc } # vim:set ts=2 sw=2 et: diff --git a/libre/xbmc-libre-lts/xbmc.install b/libre/xbmc-libre-lts/xbmc.install index 8076fe2d3..6e477d103 100644 --- a/libre/xbmc-libre-lts/xbmc.install +++ b/libre/xbmc-libre-lts/xbmc.install @@ -1,19 +1,28 @@ post_install() { - [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications - getent group xbmc > /dev/null || groupadd -r xbmc - getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc - usermod -a -G xbmc,audio,video,network,optical xbmc - mkdir -p var/lib/xbmc - chown -R xbmc:xbmc var/lib/xbmc + update_icons + getent group xbmc > /dev/null || groupadd -g 420 xbmc + getent passwd xbmc > /dev/null || useradd -c 'XBMC user' -u 420 -g xbmc -G audio,video,network,optical -d /var/lib/xbmc -s /sbin/nologin xbmc + passwd -l xbmc > /dev/null } post_upgrade() { post_install $1 + if ! getent group xbmc | cut -d: -f3 | grep 420 > /dev/null 2>&1; then + groupmod -g 420 xbmc + fi + if ! id -u xbmc | grep 420 > /dev/null 2>&1; then + usermod -u 420 xbmc + chown -R xbmc:xbmc /var/lib/xbmc + fi } post_remove() { - [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications - getent passwd xbmc > /dev/null && userdel xbmc + update_icons + getent passwd xbmc > /dev/null 2>&1 && userdel xbmc + getent group xbmc > /dev/null 2>&1 && groupdel xbmc +} + +update_icons() { + type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications } -- cgit v1.2.3-54-g00ecf