summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorreplabrobin2021-09-03 14:22:42 +0100
committerreplabrobin2021-09-03 14:22:42 +0100
commit6b4cb8b156a00645df8d377693154934b1671aa3 (patch)
tree690111dbf8058cf42b7bf8c5928f2d4d16f551b9
parentf412564d3ef6842b376fcea09aa69d559fa8f867 (diff)
downloadaur-6b4cb8b156a00645df8d377693154934b1671aa3.tar.gz
added slim-session-sort.patch systemd & pam stuff
-rw-r--r--.SRCINFO16
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD26
-rw-r--r--slim-1.3.6-default-path.patch11
-rw-r--r--slim-session-sort.patch49
-rw-r--r--slim-type-fix.patch12
-rw-r--r--slim-xserver-ready.patch (renamed from slim-1.3.6-xserver-ready.patch)3
-rw-r--r--slim.conf91
-rw-r--r--slimlock.pam3
9 files changed, 206 insertions, 10 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5b1ddc2df402..8f23a20d5900 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,10 +1,11 @@
pkgbase = slim-xserver-ready
pkgdesc = graphical login manager for X11 with xserver_ready command
pkgver = 1.3.6
- pkgrel = 5
+ pkgrel = 6
url = http://sourceforge.net/projects/slim.berlios/
arch = i686
arch = x86_64
+ arch = aarch64
license = GPL2
makedepends = cmake
makedepends = freeglut
@@ -26,16 +27,23 @@ pkgbase = slim-xserver-ready
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-1.3.6-default-path.patch
source = slim.pam
+ source = slimlock.pam
source = slim.logrotate
- source = slim-1.3.6-xserver-ready.patch
+ source = slim-session-sort.patch
+ source = slim-type-fix.patch
+ source = slim-xserver-ready.patch
sha256sums = 21defeed175418c46d71af71fd493cd0cbffd693f9d43c2151529125859810df
sha256sums = 3dfa697f8c058390c7e02e7aba769475057ef8ddde945dc43b8cb7f9724dbda0
sha256sums = 0dffd53a69eb9033a67fad964df6fc150ee7a483e29d8eb8b559010fbd14e5fd
sha256sums = 900b7ffe723b741c05bcc0ca857f300a2131a0029c6532eb17be935451bf2c70
+ sha256sums = 1e303eda65a06edc8c2d938ab0751ae7744effae48cc185fd27d3cc5b2561522
sha256sums = b9a77a614c451287b574c33d41e28b5b149c6d2464bdb3a5274799842bca51a4
+ sha256sums = dfe35488b50f19fd96526374edc16850ed37dac919834dd579392b1a7518f2ab
sha256sums = 5bf44748b5003f2332d8b268060c400120b9100d033fa9d35468670d827f6def
- sha256sums = 209e769b7584c5ef26bc657103bc1b00a5892ab280d361f0117626df419b3f9f
+ sha256sums = a6d021e52661c74914dc1c4a08ffbd7fce63da41005bfe006e252a74c57c9b70
+ sha256sums = 03149c9f5afb4679e9421d9965ecc126c0b159636212000aca98cb674b531ca7
+ sha256sums = 96f09b5b60c37ca1955f870caa46c1b0d2f4581bf1d8610a48266d0404395876
pkgname = slim-xserver-ready
-
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..7c7d4d23b75b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/pkg/
+/slim-1.3.6.tar.gz
+/slim-xserver-ready-1.3.6-6-x86_64.pkg.tar.zst
+/src/
+/tmp/
diff --git a/PKGBUILD b/PKGBUILD
index 222d254d27f1..dc603b84ee08 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,12 +8,16 @@
# replabrobin:
# added xserver_ready command to be executed synchronously
# after X is started e.g execute VBoxClient-all etc etc
+# The sessiondir entries are sorted by filename so you can
+# make your own sessiondir with numerically storted sessions;
+# eg 01.desktop 02.desktop etc etc. The display names are
+# taken from the desktop files.
pkgname=slim-xserver-ready
pkgver=1.3.6
-pkgrel=5
+pkgrel=6
pkgdesc="graphical login manager for X11 with xserver_ready command"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'aarch64')
url="http://sourceforge.net/projects/slim.berlios/"
license=('GPL2')
conflicts=('slim')
@@ -27,17 +31,25 @@ source=(https://downloads.sourceforge.net/project/slim.berlios/slim-$pkgver.tar.
slim-1.3.6-fix-libslim-libraries.patch
slim-1.3.6-add-sessiondir.patch
slim-1.3.6-systemd-session.patch
+ slim-1.3.6-default-path.patch
slim.pam
+ slimlock.pam
slim.logrotate
- slim-1.3.6-xserver-ready.patch
+ slim-session-sort.patch
+ slim-type-fix.patch
+ slim-xserver-ready.patch
)
sha256sums=('21defeed175418c46d71af71fd493cd0cbffd693f9d43c2151529125859810df'
'3dfa697f8c058390c7e02e7aba769475057ef8ddde945dc43b8cb7f9724dbda0'
'0dffd53a69eb9033a67fad964df6fc150ee7a483e29d8eb8b559010fbd14e5fd'
'900b7ffe723b741c05bcc0ca857f300a2131a0029c6532eb17be935451bf2c70'
+ '1e303eda65a06edc8c2d938ab0751ae7744effae48cc185fd27d3cc5b2561522'
'b9a77a614c451287b574c33d41e28b5b149c6d2464bdb3a5274799842bca51a4'
+ 'dfe35488b50f19fd96526374edc16850ed37dac919834dd579392b1a7518f2ab'
'5bf44748b5003f2332d8b268060c400120b9100d033fa9d35468670d827f6def'
- '209e769b7584c5ef26bc657103bc1b00a5892ab280d361f0117626df419b3f9f'
+ 'a6d021e52661c74914dc1c4a08ffbd7fce63da41005bfe006e252a74c57c9b70'
+ '03149c9f5afb4679e9421d9965ecc126c0b159636212000aca98cb674b531ca7'
+ '96f09b5b60c37ca1955f870caa46c1b0d2f4581bf1d8610a48266d0404395876'
)
prepare() {
@@ -49,7 +61,10 @@ prepare() {
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
+ patch -Np1 -i ../slim-1.3.6-default-path.patch
+ patch -Np1 -i ../slim-xserver-ready.patch
+ patch -Np1 -i ../slim-session-sort.patch
+ patch -Np1 -i ../slim-type-fix.patch
}
build() {
@@ -70,6 +85,7 @@ package() {
make DESTDIR="$pkgdir" install
install -Dm644 "$srcdir/slim.pam" "$pkgdir/etc/pam.d/slim"
+ install -Dm644 "$srcdir/slimlock.pam" "$pkgdir/etc/pam.d/slimlock"
install -Dm644 "$srcdir/slim.logrotate" "$pkgdir/etc/logrotate.d/slim"
install -Dm644 slimlock.conf "$pkgdir/etc/slimlock.conf"
diff --git a/slim-1.3.6-default-path.patch b/slim-1.3.6-default-path.patch
new file mode 100644
index 000000000000..6e1f455911b8
--- /dev/null
+++ b/slim-1.3.6-default-path.patch
@@ -0,0 +1,11 @@
+diff -uprw slim-1.3.6.orig/slim.conf slim-1.3.6/slim.conf
+--- slim-1.3.6.orig/slim.conf 2017-11-26 09:54:56.774671269 +0200
++++ slim-1.3.6/slim.conf 2017-11-26 10:10:15.520730363 +0200
+@@ -1,6 +1,6 @@
+ # Path, X server and arguments (if needed)
+ # Note: -xauth $authfile is automatically appended
+-default_path /bin:/usr/bin:/usr/local/bin
++default_path /usr/local/bin:/usr/local/sbin:/usr/bin
+ default_xserver /usr/bin/X
+ #xserver_arguments -dpi 75
+
diff --git a/slim-session-sort.patch b/slim-session-sort.patch
new file mode 100644
index 000000000000..8eab1d20c518
--- /dev/null
+++ b/slim-session-sort.patch
@@ -0,0 +1,49 @@
+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 2021-08-31 16:50:18.415225394 +0100
+@@ -14,12 +14,14 @@
+ #include <iostream>
+ #include <unistd.h>
+ #include <stdlib.h>
++#include <algorithm>
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <dirent.h>
+
+ #include "cfg.h"
++#include "log.h"
+
+ using namespace std;
+
+@@ -298,6 +300,7 @@ void Cfg::fillSessionList(){
+
+ if (pDir != NULL) {
+ struct dirent *pDirent = NULL;
++ std::vector<std::tuple<string,string,string> > tmp;
+
+ while ((pDirent = readdir(pDir)) != NULL) {
+ string strFile(strSessionDir);
+@@ -325,15 +328,19 @@ void Cfg::fillSessionList(){
+ }
+ }
+ desktop_file.close();
+- pair<string,string> session(session_name,session_exec);
+- sessions.push_back(session);
+- cout << session_exec << " - " << session_name << endl;
++ std::tuple<string,string,string> session(pDirent->d_name,session_name,session_exec);
++ tmp.push_back(session);
+ }
+
+ }
+ }
+ }
+ closedir(pDir);
++ std::sort(tmp.begin(), tmp.end());
++ for(int i=0;i<tmp.size();i++) {
++ std::pair <string,string> p (std::get<1>(tmp[i]),std::get<2>(tmp[i]));
++ sessions.push_back(p);
++ }
+ }
+ }
+
diff --git a/slim-type-fix.patch b/slim-type-fix.patch
new file mode 100644
index 000000000000..c562518dc642
--- /dev/null
+++ b/slim-type-fix.patch
@@ -0,0 +1,12 @@
+diff -upr slim-1.3.6-orig/panel.cpp slim-1.3.6/panel.cpp
+--- slim-1.3.6-orig/panel.cpp 2013-10-01 23:38:05.000000000 +0100
++++ slim-1.3.6/panel.cpp 2021-08-31 16:52:28.884983818 +0100
+@@ -48,7 +48,7 @@ Panel::Panel(Display* dpy, int scr, Wind
+ gcm = GCGraphicsExposures;
+ gcv.graphics_exposures = False;
+ WinGC = XCreateGC(Dpy, Win, gcm, &gcv);
+- if (WinGC < 0) {
++ if (WinGC < (GC)0) {
+ cerr << APPNAME
+ << ": failed to create pixmap\n.";
+ exit(ERR_EXIT);
diff --git a/slim-1.3.6-xserver-ready.patch b/slim-xserver-ready.patch
index 53d9b4e91603..387af002ac66 100644
--- a/slim-1.3.6-xserver-ready.patch
+++ b/slim-xserver-ready.patch
@@ -1,12 +1,13 @@
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() {
+@@ -979,6 +979,11 @@ int App::StartServer() {
delete [] args;
+ string xserver_ready = cfg->getOption("xserver_ready");
+ if (xserver_ready != "") {
++ logStream << APPNAME << ": ServerPID=" << ServerPID << " execute " << xserver_ready << endl;
+ system(xserver_ready.c_str());
+ }
serverStarted = true;
diff --git a/slim.conf b/slim.conf
new file mode 100644
index 000000000000..a11545f62dda
--- /dev/null
+++ b/slim.conf
@@ -0,0 +1,91 @@
+# Path, X server and arguments (if needed)
+# Note: -xauth $authfile is automatically appended
+default_path /usr/local/bin:/usr/local/sbin:/usr/bin
+default_xserver /usr/bin/X
+xserver_arguments -nolisten tcp vt07
+
+# Commands for halt, login, etc.
+halt_cmd /sbin/shutdown -h now
+reboot_cmd /sbin/shutdown -r now
+console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"
+#suspend_cmd /usr/sbin/suspend
+
+# Full path to the xauth binary
+xauth_path /usr/bin/xauth
+
+# Xauth file for server
+authfile /var/run/slim.auth
+
+
+# Activate numlock when slim starts. Valid values: on|off
+# numlock on
+
+# Hide the mouse cursor (note: does not work with some WMs).
+# Valid values: true|false
+# hidecursor false
+
+# This command is executed after a succesful login.
+# you can place the %session and %theme variables
+# to handle launching of specific commands in .xinitrc
+# depending of chosen session and slim theme
+#
+# NOTE: if your system does not have bash you need
+# to adjust the command according to your preferred shell,
+# i.e. for freebsd use:
+# login_cmd exec /bin/sh - ~/.xinitrc %session
+login_cmd exec /bin/bash -login ~/.xinitrc %session
+
+# Commands executed when starting and exiting a session.
+# They can be used for registering a X11 session with
+# sessreg. You can use the %user variable
+#
+# sessionstart_cmd some command
+# sessionstop_cmd some command
+#sessionstart_cmd /bin/sessreg -a -l $DISPLAY %user
+#sessionstop_cmd /bin/sessreg -d -l $DISPLAY %user
+
+# Start in daemon mode. Valid values: yes | no
+# Note that this can be overriden by the command line
+# options "-d" and "-nodaemon"
+# daemon yes
+
+# Set directory that contains the xsessions.
+# slim reads xsesion from this directory, and be able to select.
+#sessiondir /usr/share/xsessions/
+sessiondir /usr/share/slim/xsessions/
+
+# Executed when pressing F11 (requires imagemagick)
+screenshot_cmd import -window root /slim.png
+
+# welcome message. Available variables: %host, %domain
+welcome_msg Welcome to %host
+
+# Session message. Prepended to the session name when pressing F1
+# session_msg Session:
+
+# shutdown / reboot messages
+shutdown_msg The system is halting...
+reboot_msg The system is rebooting...
+
+# default user, leave blank or remove this line
+# for avoid pre-loading the username.
+#default_user simone
+
+# Focus the password field on start when default_user is set
+# Set to "yes" to enable this feature
+#focus_password no
+
+# Automatically login the default user (without entering
+# the password. Set to "yes" to enable this feature
+#auto_login no
+
+
+# current theme, use comma separated list to specify a set to
+# randomly choose from
+current_theme ROBIN
+
+# Lock file
+lockfile /var/lock/slim.lock
+
+# Log file
+logfile /var/log/slim.log
diff --git a/slimlock.pam b/slimlock.pam
new file mode 100644
index 000000000000..660b510bc393
--- /dev/null
+++ b/slimlock.pam
@@ -0,0 +1,3 @@
+#%PAM-1.0
+
+auth include system-local-login