diff options
Diffstat (limited to 'arch/tde-core/tde-tdebase')
-rw-r--r-- | arch/tde-core/tde-tdebase/PKGBUILD | 155 | ||||
-rw-r--r-- | arch/tde-core/tde-tdebase/agent-shutdown.sh | 13 | ||||
-rw-r--r-- | arch/tde-core/tde-tdebase/agent-startup.sh | 19 | ||||
-rw-r--r-- | arch/tde-core/tde-tdebase/tdm-trinity | 40 | ||||
-rw-r--r-- | arch/tde-core/tde-tdebase/tdm.service | 9 | ||||
-rw-r--r-- | arch/tde-core/tde-tdebase/trinity-tdebase.install | 17 | ||||
-rw-r--r-- | arch/tde-core/tde-tdebase/trinity.desktop | 8 | ||||
-rw-r--r-- | arch/tde-core/tde-tdebase/xsession.patch | 28 |
8 files changed, 289 insertions, 0 deletions
diff --git a/arch/tde-core/tde-tdebase/PKGBUILD b/arch/tde-core/tde-tdebase/PKGBUILD new file mode 100644 index 000000000..1f76515b4 --- /dev/null +++ b/arch/tde-core/tde-tdebase/PKGBUILD @@ -0,0 +1,155 @@ +# Maintainer: Michael Manley <mmanley@nasutek.com> +# Contributor: David C. Rankin <drankinatty at gmail dot com> + +_mod=tdebase +_cat=core/ +_kdemod="${_mod/tde/kde}" + +pkgname="tde-${_mod}" +pkgver=14.1.1 +pkgrel=1 +pkgdesc="Trinity Desktop Enviroment base components" +arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'powerpc64le') +url="https://scm.trinitydesktop.org/scm/git/${_mod}" +license=('GPL') +provides=("${_mod}") +groups=('tde-core') +depends=('htdig' + 'libraw1394' + 'libssh' + 'libxss' + 'libxtst' + 'lm_sensors' + 'openssl' + 'tde-dbus-1-tqt' + 'tde-tdelibs' + 'ttf-dejavu' + 'ttf-freefont' + 'xorg-server' + 'xorg-xinit') +makedepends=('tde-cmake-trinity' + 'libxkbfile' + 'rpcsvc-proto' + 'smbclient' + 'systemd-sysvcompat' + 'xorg-bdftopcf' + 'xscreensaver') +optdepends=('desktop-file-utils: Command line utilities for working with desktop entries' + 'pciutils: PCI bus configuration space access library and tools' + 'samba: file sharing over SMB' + 'tde-extra: (meta-package) extra utilities and applications for TDE' + 'tde-multimedia: (meta-package) multimedia applications, k3b, rosegarden, etc..' + 'tde-complete: (meta-package) install all of TDE' + 'tde-avahi-tqt: Trinity Avahi-TQt implementation' + 'tde-libcaldav: A client library adding support for the CalDAV protocol' + 'tde-libcarddav: A client library adding support for the CardDAV protocol' + 'tde-tqca-tls: Trinity SSL/TLS plugin for TQt Cryptographic Architecture (TQCA)' + 'xorg-fonts-75dpi: X.org 75dpi fonts collection' + 'xscreensaver: Screen saver and locker for the X Window System') +conflicts=("trinity-${_kdemod}" "kdemod3-${_kdemod}") +replaces=("trinity-${_mod}") +options=('staticlibs' 'libtool' '!strip') +install="trinity-${_mod}.install" + +source=("https://mirror.ppa.trinitydesktop.org/trinity/releases/R${pkgver}/main/${_cat}${_mod}-trinity-${pkgver}.tar.xz" + 'agent-shutdown.sh' + 'agent-startup.sh' + 'tdm-trinity' + 'trinity.desktop' + 'tdm.service' + 'xsession.patch') + +md5sums=('105b7a69e0ed95af0e4ff0f141958205' + '18e8d01124b19f7df2937c06e177bf7f' + 'c963ef6e37c9051119972a58c67f05fb' + 'bb4c25e560fa719e8e8f49ef80bd1c99' + '091f4e1045867bbbc15bf323731aae82' + 'e0ddb96fc86bd081ce691744a68d2f9a' + 'a761787a4d2f917389ced194552addca') + +[ -n "$TDEDIR" ] || TDEDIR=/opt/trinity + +build() { + msg "Creating out-of-source build directory: ${srcdir}/build" + mkdir -p ${srcdir}/build + cd ${srcdir}/build + + msg "Starting cmake..." + + cmake ${srcdir}/${pkgname#*-}-trinity-${pkgver}/ \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=${TDEDIR} \ + -DSYSCONF_INSTALL_DIR=${TDEDIR}/etc \ + -DWITH_SASL=ON \ + -DWITH_LDAP=ON \ + -DWITH_SAMBA=ON \ + -DWITH_OPENEXR=ON \ + -DWITH_XCOMPOSITE=ON \ + -DWITH_XCURSOR=ON \ + -DWITH_XFIXES=ON \ + -DWITH_XRANDR=ON \ + -DWITH_XRENDER=ON \ + -DWITH_XTEST=ON \ + -DWITH_OPENGL=ON \ + -DWITH_XSCREENSAVER=ON \ + -DWITH_LIBART=ON \ + -DWITH_LIBRAW1394=ON \ + -DWITH_PAM=ON \ + -DWITH_XDMCP=ON \ + -DWITH_XINERAMA=ON \ + -DWITH_ARTS=ON \ + -DWITH_I8K=ON \ + -DWITH_SENSORS=ON \ + -DWITH_TDEHWLIB=ON \ + -DWITH_UPOWER=ON \ + -DBUILD_ALL=ON \ + -DWITH_GCC_VISIBILITY=ON \ + -DKCHECKPASS_PAM_SERVICE=tde-checkpass \ + -DTDM_PAM_SERVICE=tde \ + -DTDESCREENSAVER_PAM_SERVICE=tde-screensaver + + ninja $NUMJOBS +} + +package() { + msg "Packaging - $pkgname-$pkgver" + cd $srcdir/build + DESTDIR="$pkgdir" ninja -j1 install + + # install X11 session file /usr/share/xsessions (changed from /etc/X11 sessions) + install -d -m755 ${pkgdir}/usr/share/xsessions + install -m755 ${srcdir}/trinity.desktop ${pkgdir}/usr/share/xsessions/trinity.desktop + + # update the Xsession file, this resolves problem with kdm dropping back + # to the login screen. + + patch -N ${pkgdir}${TDEDIR}/share/config/tdm/Xsession < ${srcdir}/xsession.patch + + ## we will need systemd service files created + install -D -m644 "${srcdir}"/tdm.service \ + "${pkgdir}"/usr/lib/systemd/system/tdm.service + + # create the starttrinity link + # do we need this? wouldn't be better to rename startkde script + # to starttrinity? (renamed to starttde) Create for compatibility sake. + ln -sf $TDEDIR/bin/starttde ${pkgdir}$TDEDIR/bin/starttrinity + + # install mkpamserv script, so we can auto-generate pam.d configs in post_install() + install -D -m755 ${srcdir}/${pkgname#*-}-trinity-${pkgver}/mkpamserv ${pkgdir}${TDEDIR}/bin/mkpamserv + + # add startup/shutdown agents for ssh and gpg-agent + install -m644 -D $srcdir/agent-startup.sh ${pkgdir}$TDEDIR/env/agent-startup.sh + install -m755 -D $srcdir/agent-shutdown.sh ${pkgdir}$TDEDIR/shutdown/agent-shutdown.sh + + # fix kde icons for gnome by creating symlinks + mkdir -p ${pkgdir}$TDEDIR/share/icons/gnome/{128x128,64x64,32x32,16x16,48x48,22x22,scalable} + mkdir -p ${pkgdir}$TDEDIR/share/icons/crystalsvg/{128x128/apps,64x64/apps,32x32/apps,16x16/apps,48x48/apps,22x22/apps,scalable/apps} + + cd ${pkgdir}$TDEDIR/share/icons/gnome/ + + for i in *; do + cd $i + ln -sf ../../crystalsvg/$i/apps/ apps + cd .. + done +} diff --git a/arch/tde-core/tde-tdebase/agent-shutdown.sh b/arch/tde-core/tde-tdebase/agent-shutdown.sh new file mode 100644 index 000000000..71b056af3 --- /dev/null +++ b/arch/tde-core/tde-tdebase/agent-shutdown.sh @@ -0,0 +1,13 @@ +#!/bin/sh +# +# This file is executed at kde shutdown. +# Uncomment the following lines to kill the agents +# that were started at session startup. + +if [ "${GPG_AGENT_INFO}" ]; then + kill $(echo ${GPG_AGENT_INFO} | cut -d':' -f 2) >/dev/null 2>&1 +fi +# +if [ "${SSH_AGENT_PID}" ]; then + ssh-agent -k +fi diff --git a/arch/tde-core/tde-tdebase/agent-startup.sh b/arch/tde-core/tde-tdebase/agent-startup.sh new file mode 100644 index 000000000..88d1373a1 --- /dev/null +++ b/arch/tde-core/tde-tdebase/agent-startup.sh @@ -0,0 +1,19 @@ +# Agents startup file +# +# This file is sourced at kde startup, so that +# the environment variables set here are available +# throughout the session. + +# Uncomment the following lines to start gpg-agent +# and/or ssh-agent at kde startup. +# If you do so, do not forget to uncomment the respective +# lines in KDEDIR/shutdown/agent-shutdown.sh to +# properly kill the agents when the session ends. + +if [ -x /usr/bin/gpg-agent ]; then + eval "$(/usr/bin/gpg-agent --daemon)" +fi +# +if [ -x /usr/bin/ssh-agent ]; then + eval "$(/usr/bin/ssh-agent -s)" +fi diff --git a/arch/tde-core/tde-tdebase/tdm-trinity b/arch/tde-core/tde-tdebase/tdm-trinity new file mode 100644 index 000000000..9f425b809 --- /dev/null +++ b/arch/tde-core/tde-tdebase/tdm-trinity @@ -0,0 +1,40 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /opt/trinity/bin/tdm` +case "$1" in + start) + #Check for running tdm, start when not running + stat_busy "Starting TDE Desktop Manager (tdm)" + [ -z "$PID" ] && /opt/trinity/bin/tdm &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + echo $PID > /var/run/tdm.pid + add_daemon tdm-trinity + stat_done + fi + ;; + stop) + stat_busy "Stopping TDE Desktop Manager (tdm)" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon tdm-trinity + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac +exit 0 diff --git a/arch/tde-core/tde-tdebase/tdm.service b/arch/tde-core/tde-tdebase/tdm.service new file mode 100644 index 000000000..181f6cf1d --- /dev/null +++ b/arch/tde-core/tde-tdebase/tdm.service @@ -0,0 +1,9 @@ +[Unit] +Description=TDE Display Manager +After=systemd-user-sessions.service + +[Service] +ExecStart=/opt/trinity/bin/tdm + +[Install] +Alias=display-manager.service diff --git a/arch/tde-core/tde-tdebase/trinity-tdebase.install b/arch/tde-core/tde-tdebase/trinity-tdebase.install new file mode 100644 index 000000000..b2ba604ef --- /dev/null +++ b/arch/tde-core/tde-tdebase/trinity-tdebase.install @@ -0,0 +1,17 @@ +post_install() { + ldconfig &> /dev/null + [ -n "$TDEDIR" ] || TDEDIR=/opt/trinity + $TDEDIR/bin/mkpamserv tde + $TDEDIR/bin/mkpamserv tde-screensaver + $TDEDIR/bin/mkpamserv tde-checkpass +} + +post_upgrade() { + post_install +} + +post_remove() { + ldconfig &> /dev/null + rm /etc/pam.d/{tde,tde-screensaver,tde-checkpass} +} + diff --git a/arch/tde-core/tde-tdebase/trinity.desktop b/arch/tde-core/tde-tdebase/trinity.desktop new file mode 100644 index 000000000..6594afb2d --- /dev/null +++ b/arch/tde-core/tde-tdebase/trinity.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=XSession +Exec=/opt/trinity/bin/starttde +TryExec=/opt/trinity/bin/starttde +Name=Trinity +Comment=The Trinity Desktop Environment (TDE). A powerful Open Source graphical desktop environment. + diff --git a/arch/tde-core/tde-tdebase/xsession.patch b/arch/tde-core/tde-tdebase/xsession.patch new file mode 100644 index 000000000..8084fda40 --- /dev/null +++ b/arch/tde-core/tde-tdebase/xsession.patch @@ -0,0 +1,28 @@ +--- /mnt/archlinux/opt/trinity/share/config/kdm/Xsession 2011-12-08 13:08:43.000000000 +0100 ++++ /opt/trinity/share/config/tdm/Xsession 2011-09-24 14:52:28.000000000 +0200 +@@ -43,4 +43,24 @@ + ;; + esac + # invoke global X session script +-. /etc/X11/Xsession ++ ++ ++ case $session in ++ "") ++ exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." ++ ;; ++ failsafe) ++ exec xterm -geometry 80x24-0-0 ++ ;; ++ custom) ++ exec $HOME/.xsession ++ ;; ++ default) ++ exec /opt/trinity/bin/starttde ++ ;; ++ *) ++ eval exec "$session" ++ ;; ++ esac ++ exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop." ++ |