summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorreplabrobin2015-08-29 13:44:05 +0100
committerreplabrobin2015-08-29 13:44:05 +0100
commitf412564d3ef6842b376fcea09aa69d559fa8f867 (patch)
treeab34eb487435e7af97dab7e28945825870055e58
downloadaur-f412564d3ef6842b376fcea09aa69d559fa8f867.tar.gz
initial check in
-rw-r--r--.SRCINFO41
-rw-r--r--PKGBUILD82
-rw-r--r--slim-1.3.6-add-sessiondir.patch28
-rw-r--r--slim-1.3.6-fix-libslim-libraries.patch20
-rw-r--r--slim-1.3.6-systemd-session.patch29
-rw-r--r--slim-1.3.6-xserver-ready.patch36
-rw-r--r--slim.logrotate9
-rw-r--r--slim.pam7
8 files changed, 252 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..5b1ddc2df402
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,41 @@
+pkgbase = slim-xserver-ready
+ pkgdesc = graphical login manager for X11 with xserver_ready command
+ pkgver = 1.3.6
+ pkgrel = 5
+ url = http://sourceforge.net/projects/slim.berlios/
+ arch = i686
+ arch = x86_64
+ license = GPL2
+ makedepends = cmake
+ makedepends = freeglut
+ depends = pam
+ depends = libxmu
+ depends = libpng
+ depends = libjpeg
+ depends = libxft
+ depends = libxrandr
+ depends = xorg-xauth
+ depends = ttf-font
+ provides = slim
+ conflicts = slim
+ backup = etc/slim.conf
+ backup = etc/logrotate.d/slim
+ backup = etc/pam.d/slim
+ backup = etc/slimlock.conf
+ source = https://downloads.sourceforge.net/project/slim.berlios/slim-1.3.6.tar.gz
+ source = slim-1.3.6-fix-libslim-libraries.patch
+ source = slim-1.3.6-add-sessiondir.patch
+ source = slim-1.3.6-systemd-session.patch
+ source = slim.pam
+ source = slim.logrotate
+ source = slim-1.3.6-xserver-ready.patch
+ sha256sums = 21defeed175418c46d71af71fd493cd0cbffd693f9d43c2151529125859810df
+ sha256sums = 3dfa697f8c058390c7e02e7aba769475057ef8ddde945dc43b8cb7f9724dbda0
+ sha256sums = 0dffd53a69eb9033a67fad964df6fc150ee7a483e29d8eb8b559010fbd14e5fd
+ sha256sums = 900b7ffe723b741c05bcc0ca857f300a2131a0029c6532eb17be935451bf2c70
+ sha256sums = b9a77a614c451287b574c33d41e28b5b149c6d2464bdb3a5274799842bca51a4
+ sha256sums = 5bf44748b5003f2332d8b268060c400120b9100d033fa9d35468670d827f6def
+ sha256sums = 209e769b7584c5ef26bc657103bc1b00a5892ab280d361f0117626df419b3f9f
+
+pkgname = slim-xserver-ready
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..222d254d27f1
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,82 @@
+#based on slim PKGBUILD
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+#
+# replabrobin:
+# added xserver_ready command to be executed synchronously
+# after X is started e.g execute VBoxClient-all etc etc
+
+pkgname=slim-xserver-ready
+pkgver=1.3.6
+pkgrel=5
+pkgdesc="graphical login manager for X11 with xserver_ready command"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/slim.berlios/"
+license=('GPL2')
+conflicts=('slim')
+provides=('slim')
+depends=('pam' 'libxmu' 'libpng' 'libjpeg' 'libxft' 'libxrandr' 'xorg-xauth'
+ 'ttf-font')
+makedepends=('cmake' 'freeglut')
+backup=('etc/slim.conf' 'etc/logrotate.d/slim' 'etc/pam.d/slim'
+ 'etc/slimlock.conf')
+source=(https://downloads.sourceforge.net/project/slim.berlios/slim-$pkgver.tar.gz
+ slim-1.3.6-fix-libslim-libraries.patch
+ slim-1.3.6-add-sessiondir.patch
+ slim-1.3.6-systemd-session.patch
+ slim.pam
+ slim.logrotate
+ slim-1.3.6-xserver-ready.patch
+ )
+sha256sums=('21defeed175418c46d71af71fd493cd0cbffd693f9d43c2151529125859810df'
+ '3dfa697f8c058390c7e02e7aba769475057ef8ddde945dc43b8cb7f9724dbda0'
+ '0dffd53a69eb9033a67fad964df6fc150ee7a483e29d8eb8b559010fbd14e5fd'
+ '900b7ffe723b741c05bcc0ca857f300a2131a0029c6532eb17be935451bf2c70'
+ 'b9a77a614c451287b574c33d41e28b5b149c6d2464bdb3a5274799842bca51a4'
+ '5bf44748b5003f2332d8b268060c400120b9100d033fa9d35468670d827f6def'
+ '209e769b7584c5ef26bc657103bc1b00a5892ab280d361f0117626df419b3f9f'
+ )
+
+prepare() {
+ cd slim-$pkgver
+
+ # Fix installation path of slim.service
+ sed -i 's|set(LIBDIR "/lib")|set(LIBDIR "/usr/lib")|' CMakeLists.txt
+
+ patch -Np1 -i ../slim-1.3.6-fix-libslim-libraries.patch
+ patch -Np1 -i ../slim-1.3.6-add-sessiondir.patch
+ patch -Np1 -i ../slim-1.3.6-systemd-session.patch
+ patch -Np1 -i ../slim-1.3.6-xserver-ready.patch
+}
+
+build() {
+ cd slim-$pkgver
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DUSE_PAM=yes \
+ -DUSE_CONSOLEKIT=no
+ make
+}
+
+package() {
+ cd slim-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir/slim.pam" "$pkgdir/etc/pam.d/slim"
+ install -Dm644 "$srcdir/slim.logrotate" "$pkgdir/etc/logrotate.d/slim"
+ install -Dm644 slimlock.conf "$pkgdir/etc/slimlock.conf"
+
+ # Provide sane defaults
+ sed -i -e 's|#xserver_arguments.*|xserver_arguments -nolisten tcp vt07|' \
+ -e 's|/var/run/slim.lock|/var/lock/slim.lock|' \
+ "$pkgdir/etc/slim.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/slim-1.3.6-add-sessiondir.patch b/slim-1.3.6-add-sessiondir.patch
new file mode 100644
index 000000000000..f6abf0bc72ad
--- /dev/null
+++ b/slim-1.3.6-add-sessiondir.patch
@@ -0,0 +1,28 @@
+From 741e43960a4ea3a8bc230b1f599311d800c2cc83 Mon Sep 17 00:00:00 2001
+From: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+Date: Wed, 02 Oct 2013 23:23:24 +0000
+Subject: Update slim.conf. Add sessiondir.
+
+Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+---
+diff --git a/slim.conf b/slim.conf
+index a8e2e1c..c5f1d38 100644
+--- a/slim.conf
++++ b/slim.conf
+@@ -47,11 +47,9 @@ login_cmd exec /bin/bash -login ~/.xinitrc %session
+ # options "-d" and "-nodaemon"
+ # daemon yes
+
+-# Available sessions (first one is the default).
+-# The current chosen session name is replaced in the login_cmd
+-# above, so your login command can handle different sessions.
+-# see the xinitrc.sample file shipped with slim sources
+-sessions xfce4,icewm-session,wmaker,blackbox
++# Set directory that contains the xsessions.
++# slim reads xsesion from this directory, and be able to select.
++sessiondir /usr/share/xsessions/
+
+ # Executed when pressing F11 (requires imagemagick)
+ screenshot_cmd import -window root /slim.png
+--
+cgit v0.9.2
diff --git a/slim-1.3.6-fix-libslim-libraries.patch b/slim-1.3.6-fix-libslim-libraries.patch
new file mode 100644
index 000000000000..b6c90f9f46e3
--- /dev/null
+++ b/slim-1.3.6-fix-libslim-libraries.patch
@@ -0,0 +1,20 @@
+diff -upr slim-1.3.6.orig/CMakeLists.txt slim-1.3.6/CMakeLists.txt
+--- slim-1.3.6.orig/CMakeLists.txt 2013-10-02 16:16:22.000000000 +0300
++++ slim-1.3.6/CMakeLists.txt 2013-10-02 16:19:57.000000000 +0300
+@@ -119,6 +119,7 @@ if(USE_PAM)
+ if(PAM_FOUND)
+ message("\tPAM Found")
+ set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DUSE_PAM")
++ target_link_libraries(libslim ${PAM_LIBRARY})
+ target_link_libraries(${PROJECT_NAME} ${PAM_LIBRARY})
+ target_link_libraries(slimlock ${PAM_LIBRARY})
+ include_directories(${PAM_INCLUDE_DIR})
+@@ -178,6 +179,8 @@ include_directories(
+ )
+
+ target_link_libraries(libslim
++ ${X11_Xft_LIB}
++ ${X11_Xrandr_LIB}
+ ${JPEG_LIBRARIES}
+ ${PNG_LIBRARIES}
+ )
diff --git a/slim-1.3.6-systemd-session.patch b/slim-1.3.6-systemd-session.patch
new file mode 100644
index 000000000000..be5f529829b3
--- /dev/null
+++ b/slim-1.3.6-systemd-session.patch
@@ -0,0 +1,29 @@
+--- a/app.cpp 2013-10-23 16:19:57.074100282 -0400
++++ b/app.cpp 2013-10-23 16:33:13.302122574 -0400
+@@ -829,8 +829,13 @@
+
+ StopServer();
+ RemoveLock();
+- while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
+- Run();
++ if (force_nodaemon) {
++ delete LoginPanel;
++ exit(ERR_EXIT); /* use ERR_EXIT so that systemd's RESTART=on-failure works */
++ } else {
++ while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
++ Run();
++ }
+ }
+
+ void App::KillAllClients(Bool top) {
+--- a/slim.service 2013-10-23 16:19:57.074100282 -0400
++++ b/slim.service 2013-10-23 16:45:14.901142776 -0400
+@@ -4,6 +4,7 @@
+
+ [Service]
+ ExecStart=/usr/bin/slim -nodaemon
++Restart=on-failure
+
+ [Install]
+ Alias=display-manager.service
+Common subdirectories: slim-1.3.6/themes and slim-1.3.6.new/themes
diff --git a/slim-1.3.6-xserver-ready.patch b/slim-1.3.6-xserver-ready.patch
new file mode 100644
index 000000000000..53d9b4e91603
--- /dev/null
+++ b/slim-1.3.6-xserver-ready.patch
@@ -0,0 +1,36 @@
+diff -upr slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
+--- slim-1.3.6-orig/app.cpp 2013-10-01 23:38:05.000000000 +0100
++++ slim-1.3.6/app.cpp 2015-08-19 12:50:24.450834922 +0100
+@@ -979,6 +979,10 @@ int App::StartServer() {
+
+ delete [] args;
+
++ string xserver_ready = cfg->getOption("xserver_ready");
++ if (xserver_ready != "") {
++ system(xserver_ready.c_str());
++ }
+ serverStarted = true;
+
+ return ServerPID;
+diff -upr slim-1.3.6-orig/cfg.cpp slim-1.3.6/cfg.cpp
+--- slim-1.3.6-orig/cfg.cpp 2013-10-01 23:38:05.000000000 +0100
++++ slim-1.3.6/cfg.cpp 2015-08-19 12:49:44.671573403 +0100
+@@ -38,6 +38,7 @@ Cfg::Cfg()
+ options.insert(option("login_cmd","exec /bin/bash -login ~/.xinitrc %session"));
+ options.insert(option("halt_cmd","/sbin/shutdown -h now"));
+ options.insert(option("reboot_cmd","/sbin/shutdown -r now"));
++ options.insert(option("xserver_ready","")); /*command to execute when xserver is ready*/
+ options.insert(option("suspend_cmd",""));
+ options.insert(option("sessionstart_cmd",""));
+ options.insert(option("sessionstop_cmd",""));
+diff -upr slim-1.3.6-orig/slim.conf slim-1.3.6/slim.conf
+--- slim-1.3.6-orig/slim.conf 2013-10-01 23:38:05.000000000 +0100
++++ slim-1.3.6/slim.conf 2015-08-19 12:48:53.179197022 +0100
+@@ -3,6 +3,7 @@
+ default_path /bin:/usr/bin:/usr/local/bin
+ default_xserver /usr/bin/X
+ #xserver_arguments -dpi 75
++#xserver_ready #command to execute after xserver start
+
+ # Commands for halt, login, etc.
+ halt_cmd /sbin/shutdown -h now
diff --git a/slim.logrotate b/slim.logrotate
new file mode 100644
index 000000000000..26ec3b0f4220
--- /dev/null
+++ b/slim.logrotate
@@ -0,0 +1,9 @@
+/var/log/slim.log {
+ compress
+ rotate 1
+ size 1024k
+ notifempty
+ missingok
+ copytruncate
+ noolddir
+}
diff --git a/slim.pam b/slim.pam
new file mode 100644
index 000000000000..1ab7fb0911fa
--- /dev/null
+++ b/slim.pam
@@ -0,0 +1,7 @@
+#%PAM-1.0
+
+auth include system-local-login
+-auth optional pam_gnome_keyring.so
+account include system-local-login
+session include system-local-login
+-session optional pam_gnome_keyring.so auto_start