0

Initial commit

This commit is contained in:
eleksir
2023-11-19 18:01:40 +03:00
commit 80ec8a7529
586 changed files with 29486 additions and 0 deletions

10
slim/README Normal file
View File

@@ -0,0 +1,10 @@
SLiM is a lightweight login manager based on GNUstep's Login.app. It
makes a great replacement for XDM for those who want something that
looks good, but still do not want Gnome or KDE.
Included is a custom Slackware theme that goes nicely with the lilo boot
theme. Regardless of whether you would like to use the custom theme, you
should see README.SLACKWARE for configuration hints (this file is also
installed into the package's documentation directory).
When at the login screen, select the login session cycling with F1.

16
slim/README.SLACKWARE Normal file
View File

@@ -0,0 +1,16 @@
README.SLACKWARE for SLiM
If you would like to use SLiM as the login manager in runlevel 4, add the
following lines to /etc/rc.d/rc.4 just above the section that tries to
start gdm:
# Try to use SLiM login manager. This comes first, because if SLiM is
# installed, then the user probably wants to use it by default:
if [ -x /usr/bin/slim ]; then
exec /usr/bin/slim
fi
Frank Caraballo took the time to create a custom Slackware theme which goes
nicely with the lilo boot theme. If you would like to use Frank's theme, you
will need to edit /etc/slim.conf and change the 'current_theme' directive from
'default' to 'slackware-black'.

16
slim/doinst.sh Normal file
View File

@@ -0,0 +1,16 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/slim.conf.new
config etc/logrotate.d/slim.new

158
slim/files/Xsession Normal file
View File

@@ -0,0 +1,158 @@
#!/bin/sh
#
# Slim login manager Xsession script
#
command="$@"
# this will go into slim.log along with all other echo's
# good for debugging where things go wrong
echo "$0: Beginning session setup..."
# First read /etc/profile and .profile
test -f /etc/profile && . /etc/profile
test -f "$HOME/.profile" && . "$HOME/.profile"
# Second read /etc/xprofile and .xprofile for X specific setup
test -f /etc/xprofile && . /etc/xprofile
test -f "$HOME/.xprofile" && . "$HOME/.xprofile"
# wrap possible arguments to determine whether to treat special or not
if [ "x$command" = "xcustom" ] || [ "x$command" = "xCustom" ] || [ "x$command" = "xdefault" ] || [ "x$command" = "xDefault" ]; then
command="Xsession"
fi
if [ "x$command" = "x" ]; then
# no default specified, check if Xsession will complete
# and if not then assign XSESSION to command
if [ -x "$HOME/.xsession" ] || [ -x "$HOME/.Xclients" ] || [ -x /etc/X11/xinit/Xclients ] || [ -x /etc/X11/Xclients ]; then
command="Xsession"
else
command=$XSESSION
fi
fi
# most of this is from /etc/X11/chooser.sh
sessionscript=""
if [ -n "${command}" ]; then
# find a match for $command in /etc/X11/Sessions
for x in /etc/X11/Sessions/* ; do
if [ "`echo ${x##*/} | awk '{ print toupper($1) }'`" = "`echo ${command} | awk '{ print toupper($1) }'`" ]; then
sessionscript=${x}
break
fi
done
if [ -n "${sessionscript}" ]; then
if [ -x "${sessionscript}" ]; then
command="${sessionscript}"
else
command="/bin/sh ${sessionscript}"
fi
else
# find an executable for $command
x=""
y=""
for x in "${command}" "`echo ${command} | awk '{ print toupper($1) }'`" "`echo ${command} | awk '{ print tolower($1) }'`"
do
# Fall through ...
if [ -x "`which ${x} 2>/dev/null`" ]; then
y="`which ${x} 2>/dev/null`"
break
fi
done
# note , if the command could not be found then $command will be empty
command="$y"
unset x
unset y
fi
fi
# call xrdb and xmodmap and such, since $command is not a session script
if [ -z "${sessionscript}" ]; then
userresources="$HOME/.Xresources"
usermodmap="$HOME/.Xmodmap"
userxkbmap="$HOME/.Xkbmap"
sysresources=/etc/X11/Xresources
sysmodmap=/etc/X11/Xmodmap
sysxkbmap=/etc/X11/Xkbmap
rh6sysresources=/etc/X11/xinit/Xresources
rh6sysmodmap=/etc/X11/xinit/Xmodmap
# merge in defaults
if [ -f "$rh6sysresources" ]; then
xrdb -merge "$rh6sysresources"
fi
if [ -f "$sysresources" ]; then
xrdb -merge "$sysresources"
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
# merge in keymaps
if [ -f "$sysxkbmap" ]; then
setxkbmap `cat "$sysxkbmap"`
XKB_IN_USE=yes
fi
if [ -f "$userxkbmap" ]; then
setxkbmap `cat "$userxkbmap"`
XKB_IN_USE=yes
fi
#
# Eeek, this seems like too much magic here
#
if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then
if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then
xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config`
if [ -n "$xkbsymbols" ]; then
setxkbmap -symbols "$xkbsymbols"
XKB_IN_USE=yes
fi
fi
fi
# xkb and xmodmap don't play nice together
if [ -z "$XKB_IN_USE" ]; then
if [ -f "$rh6sysmodmap" ]; then
xmodmap "$rh6sysmodmap"
fi
if [ -f "$sysmodmap" ]; then
xmodmap "$sysmodmap"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
fi
unset XKB_IN_USE
fi
unset sessionscript
# start failsafe session
if [ -z "${command}" ]; then
echo "$0: Failed to find a command to start the session, so starting a failsafe xterm."
exec xterm -geometry 80x24+0+0
fi
# run all system xinitrc shell scripts which will update command
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for i in /etc/X11/xinit/xinitrc.d/* ; do
if [ -x "$i" ]; then
. "$i"
fi
done
unset i
fi
echo "$0: Setup done, will execute: $command"
exec $command
# vim:ts=4

View File

@@ -0,0 +1,9 @@
/var/log/slim.log {
compress
rotate 4
size=1M
notifempty
missingok
copytruncate
noolddir
}

7
slim/files/slim.pam Normal file
View File

@@ -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

3
slim/files/slimlock.pam Normal file
View File

@@ -0,0 +1,3 @@
#%PAM-1.0
auth include system-local-login

View File

@@ -0,0 +1,60 @@
diff -Naur slim-1.3.6.orig/slim.conf slim-1.3.6/slim.conf
--- slim-1.3.6.orig/slim.conf 2013-10-02 00:38:05.000000000 +0200
+++ slim-1.3.6/slim.conf 2021-09-22 19:23:30.484086604 +0200
@@ -9,6 +9,8 @@
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
+## slackware suspend command
+suspend_cmd /usr/sbin/pm-suspend
# Full path to the xauth binary
xauth_path /usr/bin/xauth
@@ -33,7 +35,8 @@
# 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
+# login_cmd exec /bin/bash -login ~/.xinitrc %session
+login_cmd exec /bin/bash -login /usr/share/slim/Xsession %session
# Commands executed when starting and exiting a session.
# They can be used for registering a X11 session with
@@ -41,17 +44,25 @@
#
# sessionstart_cmd some command
# sessionstop_cmd some command
+sessionstart_cmd /usr/bin/sessreg -a -l :0.0 %user
+sessionstop_cmd /usr/bin/sessreg -d -l :0.0 %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
-# Available sessions (first one is the default).
-# The current chosen session name is replaced in the login_cmd
+# Available sessions:
+# The current chosen session name replaces %session in the login_cmd
# above, so your login command can handle different sessions.
+# If no session is chosen (via F1), %session will be an empty string.
# see the xinitrc.sample file shipped with slim sources
-sessions xfce4,icewm-session,wmaker,blackbox
+#sessions xfce4,icewm-session,wmaker,blackbox
+# Alternatively, read available sessions from a directory of scripts:
+#sessiondir /etc/X11/Sessions
+# Or, read available sessions from the xsessions desktop files --
+# note that this may provide a full path to the session executable!
+sessiondir /usr/share/xsessions
# Executed when pressing F11 (requires imagemagick)
screenshot_cmd import -window root /slim.png
@@ -84,7 +95,7 @@
current_theme default
# Lock file
-lockfile /var/run/slim.lock
+lockfile /run/slim.lock
# Log file
logfile /var/log/slim.log

View File

@@ -0,0 +1,15 @@
--- a/app.cpp 2015-09-14 12:00:00.460481656 -0400
+++ b/app.cpp 2015-09-14 14:41:10.970536588 -0400
@@ -606,9 +606,9 @@
n++;
- child_env = static_cast<char**>(malloc(sizeof(char*)*n));
- memcpy(child_env, old_env, sizeof(char*)*n+1);
- child_env[n - 1] = StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie());
+ child_env = static_cast<char**>(malloc(sizeof(char*)*(n+1)));
+ memcpy(child_env, old_env, sizeof(char*)*n);
+ child_env[n-1] = StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie());
child_env[n] = NULL;
}
# endif /* USE_CONSOLEKIT */

View File

@@ -0,0 +1,12 @@
https://bugs.gentoo.org/786498
--- a/panel.cpp
+++ b/panel.cpp
@@ -48,7 +48,7 @@
gcm = GCGraphicsExposures;
gcv.graphics_exposures = False;
WinGC = XCreateGC(Dpy, Win, gcm, &gcv);
- if (WinGC < 0) {
+ if (WinGC == 0) {
cerr << APPNAME
<< ": failed to create pixmap\n.";
exit(ERR_EXIT);

View File

@@ -0,0 +1,14 @@
--- a/CMakeLists.txt 2013-10-01 18:38:05.000000000 -0400
+++ b/CMakeLists.txt.new 2013-10-15 11:33:18.975741094 -0400
@@ -42,11 +42,6 @@
set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPKGDATADIR=\"${PKGDATADIR}\"")
set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"${SYSCONFDIR}\"")
-# Flags
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g -O2")
-set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -Wall -g -O2")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -g -O2")
-
# source
set(slim_srcs
main.cpp

View File

@@ -0,0 +1,33 @@
--- a/CMakeLists.txt 2013-10-15 11:35:16.688739802 -0400
+++ b/CMakeLists.txt 2013-10-15 11:53:46.185727620 -0400
@@ -115,6 +115,7 @@
message("\tPAM Found")
set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DUSE_PAM")
target_link_libraries(${PROJECT_NAME} ${PAM_LIBRARY})
+ target_link_libraries(libslim ${PAM_LIBRARY})
target_link_libraries(slimlock ${PAM_LIBRARY})
include_directories(${PAM_INCLUDE_DIR})
else(PAM_FOUND)
@@ -173,7 +174,10 @@
)
target_link_libraries(libslim
- ${JPEG_LIBRARIES}
+ ${RT_LIB}
+ ${X11_Xft_LIB}
+ ${X11_Xrandr_LIB}
+ ${JPEG_LIBRARIES}
${PNG_LIBRARIES}
)
@@ -228,8 +228,8 @@
SOVERSION ${SLIM_VERSION})
install(TARGETS libslim
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
)
endif (BUILD_SHARED_LIBS)

View File

@@ -0,0 +1,115 @@
--- a/cfg.cpp 2013-10-01 18:38:05.000000000 -0400
+++ b/cfg.cpp 2013-10-24 12:12:20.584103253 -0400
@@ -274,14 +274,14 @@
while (true) {
string::const_iterator begin = s;
while (*s != c && s != str.end()) { ++s; }
- tmp = string(begin, s);
- if (useEmpty || tmp.size() > 0)
+ tmp = string(begin, s);
+ if (useEmpty || tmp.size() > 0)
v.push_back(tmp);
if (s == str.end()) {
break;
}
if (++s == str.end()) {
- if (useEmpty)
+ if (useEmpty)
v.push_back("");
break;
}
@@ -289,6 +289,7 @@
}
void Cfg::fillSessionList(){
+ string strSessionList = getOption("sessions");
string strSessionDir = getOption("sessiondir");
sessions.clear();
@@ -307,29 +308,29 @@
struct stat oFileStat;
if (stat(strFile.c_str(), &oFileStat) == 0) {
- if (S_ISREG(oFileStat.st_mode) &&
- access(strFile.c_str(), R_OK) == 0){
- ifstream desktop_file( strFile.c_str() );
- if (desktop_file){
- string line, session_name = "", session_exec = "";
- while (getline( desktop_file, line )) {
- if (line.substr(0, 5) == "Name=") {
- session_name = line.substr(5);
- if (!session_exec.empty())
- break;
- } else
- if (line.substr(0, 5) == "Exec=") {
- session_exec = line.substr(5);
- if (!session_name.empty())
- break;
- }
- }
- desktop_file.close();
- pair<string,string> session(session_name,session_exec);
- sessions.push_back(session);
- cout << session_exec << " - " << session_name << endl;
- }
-
+ if (S_ISREG(oFileStat.st_mode) &&
+ access(strFile.c_str(), R_OK) == 0){
+ ifstream desktop_file( strFile.c_str() );
+ if (desktop_file){
+ string line, session_name = "", session_exec = "";
+ while (getline( desktop_file, line )) {
+ if (line.substr(0, 5) == "Name=") {
+ session_name = line.substr(5);
+ if (!session_exec.empty()) break;
+ } else if (line.substr(0, 5) == "Exec=") {
+ session_exec = line.substr(5);
+ if (!session_name.empty()) break;
+ }
+ }
+ desktop_file.close();
+ if (!session_name.empty() && !session_exec.empty()) {
+ pair<string,string> session(session_name,session_exec);
+ sessions.push_back(session);
+ } else if (access(strFile.c_str(), X_OK) == 0) {
+ pair<string,string> session(string(pDirent->d_name),strFile);
+ sessions.push_back(session);
+ }
+ }
}
}
}
@@ -338,8 +339,18 @@
}
if (sessions.empty()){
- pair<string,string> session("","");
- sessions.push_back(session);
+ if (strSessionList.empty()) {
+ pair<string,string> session("","");
+ sessions.push_back(session);
+ } else {
+ // iterate through the split of the session list
+ vector<string> sessit;
+ split(sessit,strSessionList,',',false);
+ for (vector<string>::iterator it = sessit.begin(); it != sessit.end(); ++it) {
+ pair<string,string> session(*it,*it);
+ sessions.push_back(session);
+ }
+ }
}
}
--- a/app.cpp 2013-10-24 12:16:59.870111072 -0400
+++ b/app.cpp 2013-10-24 12:29:59.899132910 -0400
@@ -377,10 +377,6 @@
LoginPanel->SetName(cfg->getOption("default_user") );
}
- if (firstloop) {
- LoginPanel->SwitchSession();
- }
-
if (!AuthenticateUser(focuspass && firstloop)){
panelclosed = 0;
firstloop = false;

View File

@@ -0,0 +1,22 @@
From 98822d549689f09bd454b1cf462aae231931f64d Mon Sep 17 00:00:00 2001
From: mancha <mancha1 AT zoho DOT com>
Date: Sat, 14 Feb 2015
Subject: Fix compile with FreeType 2.5.1+
FREETYPE_INCLUDE_DIR_freetype2 & FREETYPE_INCLUDE_DIR_ft2build
might differ. Include both.
---
CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -171,6 +171,7 @@ include_directories(
${X11_Xrender_INCLUDE_PATH}
${X11_Xrandr_INCLUDE_PATH}
${FREETYPE_INCLUDE_DIR_freetype2}
+ ${FREETYPE_INCLUDE_DIR_ft2build}
${X11_Xmu_INCLUDE_PATH}
${ZLIB_INCLUDE_DIR}
${JPEG_INCLUDE_DIR}

19
slim/slack-desc Normal file
View File

@@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
slim: slim (graphical login manager similar to xdm/kdm/gdm)
slim:
slim: SLiM is a lightweight login manager based on GNUstep's Login.app. It
slim: makes a great replacement for XDM for those who want something that
slim: looks good, but still do not want Gnome or KDE.
slim:
slim: Homepage: https://sourceforge.net/projects/slim.berlios/
slim:
slim:
slim:
slim:

156
slim/slim.SlackBuild Executable file
View File

@@ -0,0 +1,156 @@
#!/bin/bash
# Slackware build script for SLiM
# Copyright 2006 Martin Lefebvre <dadexter@gmail.com>
# Copyright 2007-2009 Frank Caraballo <fecaraballo{at}gmail{dot}com>
# Copyright 2010,2013 Niels Horn, Rio de Janeiro, Brazil
# Copyright 2014 Ryan P.C. McQuen | Everett, WA | ryanpcmcquen@member.fsf.org
# Copyright 2023 Sergei Fedosoff <eleksir@gmail.com>
#
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Maintained by David Spencer <baildon.research@googlemail.com>
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=slim
VERSION=${VERSION:-1.3.6}
BUILD=${BUILD:-3}
TAG=${TAG:-_EXs}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
TMP=${TMP:-/tmp/EXs}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
# Correct the path used for suspend and a few things about sessions
patch -p1 < $CWD/patches/slim-1.3.6-config.diff
# Fix for freetype-2.5.5 headers
patch -p1 < $CWD/patches/slim-1.3.6_freetype-2.5.1.diff
# Fixes for slim libraries
patch -p1 < $CWD/patches/slim-1.3.6-libslim-cmake-fixes.patch
# Honour our FLAGS
patch -p1 < $CWD/patches/slim-1.3.6-honour-cflags.patch
# Fix for the latest gcc
patch -p1 < $CWD/patches/slim-1.3.6-gcc11.patch
# Fix a bug
patch -p1 < $CWD/patches/slim-1.3.6-envcpy-bad-pointer-arithmetic.patch
# Fix location of man-pages
sed "s/share\/man/man/" -i CMakeLists.txt
mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=$LIBDIRSUFFIX \
-DUSE_PAM=yes \
-DUSE_CONSOLEKIT=no \
-DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
make install DESTDIR=$PKG
cd ..
# Don't overwrite existing config file:
mv $PKG/etc/slim.conf $PKG/etc/slim.conf.new
# Add the slackware-black theme to the package:
tar xvf $CWD/slackware-black.tar.bz2 -C $PKG/usr/share/slim/themes
# Add a logrotate file
mkdir -p $PKG/etc/logrotate.d
cat $CWD/files/slim.logrotate > $PKG/etc/logrotate.d/slim.new
# Kill the incorrectly-placed (and useless anyway) systemd stuff
rm -rf $PKG/usr/usr
# Kill systemd stuff
rm -rf $PKG/lib
install -m 0644 -D $CWD/files/Xsession $PKG/usr/share/slim/Xsession
install -m 0644 -D $CWD/files/slim.pam $PKG/etc/pam.d/slim/slim.pam
install -m 0644 -D $CWD/files/slimlock.pam $PKG/etc/pam.d/slimlock/slimlock.pam
install -m 0644 -D slimlock.conf $PKG/etc/slimlock.conf
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \+
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a ChangeLog COPYING INSTALL README THEMES TODO xinitrc.sample $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE

10
slim/slim.info Normal file
View File

@@ -0,0 +1,10 @@
PRGNAM="slim"
VERSION="1.3.6"
HOMEPAGE="https://sourceforge.net/projects/slim.berlios/"
DOWNLOAD="https://sourceforge.net/projects/slim.berlios/files/slim-1.3.6.tar.gz"
MD5SUM="d40d256394f9ef34cef34d2aa9cb52e6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Sergei Fedosoff"
EMAIL="eleksir@gmail.com"