Added fixed samba ebuild

This commit is contained in:
Torsten Kurbad
2025-04-29 10:02:55 +02:00
parent f84054925d
commit a5821f61c9
9 changed files with 602 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# Add "winbind" to the daemon_list if you also want winbind to start.
# Replace "smbd nmbd" by "samba4" if you want the active directory domain controller part or the ntvfs
# file server part or the rpc proxy to start.
# Note that samba4 controls 'smbd' by itself, thus it can't be started manually. You can, however,
# tweak the behaviour of a samba4-controlled smbd by modifying your '/etc/samba/smb.conf' file
# accordingly.
daemon_list="smbd nmbd"
piddir="/run/samba"
#----------------------------------------------------------------------------
# Daemons calls: <daemon_name>_<command_option>
#----------------------------------------------------------------------------
my_service_name="samba"
my_service_PRE="unset TMP TMPDIR"
my_service_POST=""
#----------------------------------------------------------------------------
# Daemons calls: <daemon_name>_<command_option>
#----------------------------------------------------------------------------
smbd_start_options="-D"
smbd_command="/usr/sbin/smbd"
smbd_start="start-stop-daemon --start --exec ${smbd_command} -- ${smbd_start_options}"
smbd_stop="start-stop-daemon --stop --exec ${smbd_command}"
smbd_reload="killall -HUP smbd"
nmbd_start_options="-D"
nmbd_command="/usr/sbin/nmbd"
nmbd_start="start-stop-daemon --start --exec ${nmbd_command} -- ${nmbd_start_options}"
nmbd_stop="start-stop-daemon --stop --exec ${nmbd_command}"
nmbd_reload="killall -HUP nmbd"
samba4_start_options=""
samba4_command="/usr/sbin/samba"
samba4_pidfile="${piddir}/samba.pid"
samba4_start="start-stop-daemon --start --exec ${samba4_command} --pidfile ${samba4_pidfile} -- ${samba4_start_options}"
samba4_stop="start-stop-daemon --stop --exec ${samba4_command} --pidfile ${samba4_pidfile}"
samba4_reload="killall -HUP samba"
winbind_start_options=""
winbind_command="/usr/sbin/winbindd"
winbind_start="start-stop-daemon --start --exec ${winbind_command} -- ${winbind_start_options}"
winbind_stop="start-stop-daemon --stop --exec ${winbind_command}"
winbind_reload="killall -HUP winbindd"
+54
View File
@@ -0,0 +1,54 @@
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 or later
extra_started_commands="reload"
[ -z "${piddir}" ] && piddir="/run/samba"
depend() {
after slapd
use cupsd
}
DAEMONNAME="${SVCNAME##samba.}"
[ "${DAEMONNAME}" != "samba" ] && daemon_list=${DAEMONNAME}
signal_do() {
local signal="$1"
[ -z "${signal}" ] && return 0
local result=0 last_result=0 daemon= cmd_exec=
for daemon in ${daemon_list} ; do
eval cmd_exec=\$${daemon}_${signal}
if [ -n "${cmd_exec}" ]; then
ebegin "${my_service_name} -> ${signal}: ${daemon}"
#echo ${cmd} '->' ${!cmd}
${cmd_exec} > /dev/null
last_result=$?
eend ${last_result}
fi
result=$(( ${result} + ${last_result} ))
done
return ${result}
}
start() {
${my_service_PRE}
[ -d "${piddir}" ] || mkdir -p "${piddir}"
signal_do start && return 0
eerror "Error: starting services (see system logs)"
signal_do stop
return 1
}
stop() {
${my_service_PRE}
if signal_do stop ; then
${my_service_POST}
return 0
fi
}
reload() {
${my_service_PRE}
signal_do reload
}
@@ -0,0 +1,18 @@
#%PAM-1.0
# $Id$
auth required pam_env.so
auth sufficient pam_winbind.so
auth sufficient pam_unix.so likeauth nullok use_first_pass
auth required pam_deny.so
account sufficient pam_winbind.so
account required pam_unix.so
password required pam_cracklib.so retry=3
password sufficient pam_unix.so nullok use_authtok md5 shadow
password required pam_deny.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_limits.so
session required pam_unix.so
@@ -0,0 +1,12 @@
--- ldb-1.3.6/lib/tevent/wscript
+++ ldb-1.3.6/lib/tevent/wscript
@@ -34,8 +34,7 @@
if conf.CHECK_BUNDLED_SYSTEM_PKG('tevent', minversion=VERSION,
onlyif='talloc', implied_deps='replace talloc'):
conf.define('USING_SYSTEM_TEVENT', 1)
- if not conf.env.disable_python and \
- conf.CHECK_BUNDLED_SYSTEM_PYTHON('pytevent', 'tevent', minversion=VERSION):
+ if not conf.env.disable_python:
conf.define('USING_SYSTEM_PYTEVENT', 1)
if conf.CHECK_FUNCS('epoll_create', headers='sys/epoll.h'):
+29
View File
@@ -0,0 +1,29 @@
--- a/source3/wscript
+++ b/source3/wscript
@@ -863,7 +863,7 @@
if conf.env.with_iconv:
conf.DEFINE('HAVE_ICONV', 1)
- if Options.options.with_pam:
+ if Options.options.with_pam != False:
use_pam=True
conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h')
if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'):
@@ -940,6 +940,17 @@
"or headers not found. Use --without-pam to disable "
"PAM support.");
+ else:
+ Logs.warn("PAM disabled")
+ use_pam=False
+ conf.undefine('WITH_PAM')
+ conf.undefine('WITH_PAM_MODULES')
+ conf.undefine('HAVE_SECURITY_PAM_APPL_H')
+ conf.undefine('PAM_RHOST')
+ conf.undefine('PAM_TTY')
+ conf.undefine('HAVE_PAM_PAM_APPL_H')
+
+
seteuid = False
#
+8
View File
@@ -0,0 +1,8 @@
d /run/samba
d /run/ctdb
d /run/lock/samba
d /var/cache/samba
d /var/lib/ctdb
d /var/lib/samba/bind-dns
d /var/lib/samba/private
d /var/log/samba