mirror of
https://gitdl.cn/https://github.com/chakralinux/desktop.git
synced 2025-02-03 14:27:15 +08:00
xbmc: fix install file + some changes to PKGBUILD
This commit is contained in:
parent
e166d327f7
commit
ae09895215
24
xbmc/FEH.sh
24
xbmc/FEH.sh
@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
RETVAL=0
|
||||
|
||||
if [[ -z $(glxinfo | grep "direct rendering.*Yes" | uniq) ]]; then
|
||||
echo "XBMC needs hardware accelerated OpenGL rendering."
|
||||
echo "Install an appropriate graphics driver."
|
||||
echo
|
||||
echo "Please consult XBMC Wiki for supported hardware"
|
||||
echo "http://xbmc.org/wiki/?title=Supported_hardware"
|
||||
echo
|
||||
RETVAL=1
|
||||
fi
|
||||
|
||||
if [[ -z $(xdpyinfo | grep "depth of root.*24" | uniq) ]]; then
|
||||
echo "XBMC cannot run unless the"
|
||||
echo "screen color depth is atleast 24 bit."
|
||||
echo
|
||||
echo "Please reconfigure your screen."
|
||||
RETVAL=1
|
||||
fi
|
||||
|
||||
exit ${RETVAL}
|
||||
|
@ -3,7 +3,8 @@
|
||||
|
||||
pkgname=xbmc
|
||||
pkgver=12.3
|
||||
pkgrel=2
|
||||
_codename=Frodo
|
||||
pkgrel=3
|
||||
pkgdesc="XBMC Media Center"
|
||||
arch=('x86_64')
|
||||
url="http://xbmc.org"
|
||||
@ -29,17 +30,27 @@ screenshot=('http://xbmc.org/wp-content/gallery/back-row/screenshot000.jpg')
|
||||
install=${pkgname}.install
|
||||
options=('makeflags')
|
||||
source=("http://mirrors.xbmc.org/releases/source/xbmc-${pkgver}.tar.gz"
|
||||
"FEH.sh"
|
||||
"${pkgname}.service")
|
||||
"${pkgname}.service"
|
||||
"polkit.rules"
|
||||
"libass.patch::https://bugs.archlinux.org/index.php?getfile=11285")
|
||||
sha256sums=('3e15c960d034efdea5f92a7b74716cb48094842d077b076025fd8640754ede73'
|
||||
'1b391dfbaa07f81e5a5a7dfd1288bf2bdeab8dc50bbb6dbf39a80d8797dfaeb0'
|
||||
'547e06f3141866cd34b1df34025517e9826992b67543af7621d954bcdfa0ba94')
|
||||
'547e06f3141866cd34b1df34025517e9826992b67543af7621d954bcdfa0ba94'
|
||||
'4ea78374a08e13a64dcf6a424b111b8bfc11de03ed5829744fc6d9b5fc1ec96e'
|
||||
'e157ec0ff047b7573777aa93844c4c15eafc4f9d7506529047ba22ad439daf21')
|
||||
|
||||
prepare() {
|
||||
cd xbmc-$pkgver-$_codename
|
||||
|
||||
patch -p0 <$srcdir/libass.patch
|
||||
|
||||
# fix lsb_release dependency
|
||||
sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp
|
||||
sed -i -e 's:#include <libsmbclient.h>:#include <samba-4.0/libsmbclient.h>:' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp
|
||||
}
|
||||
|
||||
build() {
|
||||
cd xbmc-${pkgver}-Frodo
|
||||
sed -i -e 's:#include <libsmbclient.h>:#include <samba-4.0/libsmbclient.h>:' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp
|
||||
cd xbmc-${pkgver}-$_codename
|
||||
|
||||
|
||||
msg "Bootstrapping XBMC"
|
||||
./bootstrap
|
||||
|
||||
@ -76,30 +87,21 @@ build() {
|
||||
--disable-debug
|
||||
|
||||
msg "Running make"
|
||||
make
|
||||
make -C lib/addons/script.module.pil
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd xbmc-${pkgver}-Frodo
|
||||
cd xbmc-${pkgver}-$_codename
|
||||
msg "Running make install"
|
||||
make prefix="${pkgdir}/usr" install
|
||||
|
||||
# Replace FEH.py with FEH.sh (and thus remove external python dependency)
|
||||
install -D -m 0755 "${srcdir}/FEH.sh" "${pkgdir}/usr/share/xbmc/FEH.sh"
|
||||
sed -i -e 's/^python \(.*\)FEH.py \(.*\)$/\1FEH.sh \2/' "${pkgdir}/usr/bin/xbmc"
|
||||
make DESTDIR="${pkgdir}" install
|
||||
|
||||
# lsb_release fix
|
||||
sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}/usr/bin/xbmc"
|
||||
sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}/usr/bin/xbmc"
|
||||
|
||||
# .desktop files
|
||||
install -D -m 0644 "${srcdir}/xbmc-$pkgver-Frodo/tools/Linux/xbmc.desktop" "${pkgdir}/usr/share/applications/xbmc.desktop"
|
||||
install -D -m 0644 "${srcdir}/xbmc-$pkgver-Frodo/tools/Linux/xbmc-48x48.png" "${pkgdir}/usr/share/pixmaps/xbmc.png"
|
||||
sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/chakra-release ]/g' "${pkgdir}/usr/bin/xbmc"
|
||||
sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/chakra-release/g" "${pkgdir}/usr/bin/xbmc"
|
||||
|
||||
# Tools
|
||||
install -D -m 0755 "${srcdir}/xbmc-$pkgver-Frodo/xbmc-xrandr" "${pkgdir}/usr/share/xbmc/xbmc-xrandr"
|
||||
install -D -m 0755 "${srcdir}/xbmc-$pkgver-Frodo/tools/TexturePacker/TexturePacker" "${pkgdir}/usr/share/xbmc/"
|
||||
install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}/usr/share/xbmc/xbmc-xrandr"
|
||||
install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}/usr/share/xbmc/"
|
||||
|
||||
# Licenses
|
||||
install -d -m 0755 "${pkgdir}/usr/share/licenses/${pkgname}"
|
||||
@ -107,15 +109,8 @@ package() {
|
||||
mv "${pkgdir}/usr/share/doc/xbmc/${licensef}" "${pkgdir}/usr/share/licenses/${pkgname}"
|
||||
done
|
||||
|
||||
# Docs
|
||||
install -d -m 0755 "${pkgdir}/usr/share/doc/${pkgname}"
|
||||
|
||||
# cleanup some stuff
|
||||
msg "Cleanup unneeded files"
|
||||
rm -rf "${pkgdir}/usr/share/xsessions"
|
||||
rm -f "${pkgdir}/usr/share/xbmc/FEH.py"
|
||||
rm -f "${pkgdir}/usr/share/icons/hicolor/icon-theme.cache"
|
||||
|
||||
# Systemd service
|
||||
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/
|
||||
}
|
||||
|
12
xbmc/polkit.rules
Normal file
12
xbmc/polkit.rules
Normal file
@ -0,0 +1,12 @@
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (subject.user == "xbmc") {
|
||||
polkit.log("action=" + action);
|
||||
polkit.log("subject=" + subject);
|
||||
if (action.id.indexOf("org.freedesktop.login1.") == 0) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
if (action.id.indexOf("org.freedesktop.udisks.") == 0) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
}
|
||||
});
|
@ -1,13 +1,19 @@
|
||||
[Unit]
|
||||
Description = Starts instance of XBMC using xinit
|
||||
After = remote-fs.target
|
||||
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,power,network,optical,storage,disk xbmc
|
||||
mkdir -p var/lib/xbmc
|
||||
chown -R xbmc:xbmc var/lib/xbmc
|
||||
}
|
||||
|
||||
[Service]
|
||||
User = xbmc
|
||||
Group = xbmc
|
||||
Type = simple
|
||||
ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -- :0 -nolisten tcp
|
||||
Restart = always
|
||||
post_upgrade() {
|
||||
post_install $1
|
||||
}
|
||||
|
||||
[Install]
|
||||
WantedBy = multi-user.target
|
||||
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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user