blob: 3c695e0f2436de5f2292917c8e364d7c708beebd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
kind: manual
depends:
- core.bst
- foundation.bst
- python2-core.bst
sources:
- kind: git
url: upstream:samba
track: v4-7-stable
ref: b174cb515385afc81e591a4b42d2bef1a2244c03
config:
configure-commands:
- |
# Here are really really ugly hacks:
#
# This fixes a problem with ./configure and recent compilers
# which implement c9x by default.
sed -i "s/#define bool int//" source3/lib/util_sec.c
#
# This fixes the problem with Baserock build environments running
# as root but sandboxed, and preventing certain privileged operations
# from taking effect. eg. seteuid()
# Instead, convince it that we're not running as root so that it
# doesn't run these tests.
sed -i "s/getuid() != 0/1/" source3/lib/util_sec.c
#
#
./configure \
--without-ldap \
--disable-gnutls \
--without-ad-dc \
--without-acl-support \
--without-ads \
--prefix="%{prefix}" --sysconfdir=/etc --localstatedir=/var --enable-fhs
build-commands:
- make
install-commands:
- make install DESTDIR="%{install-root}"
- mkdir -p "%{install-root}/etc/tmpfiles.d"
- install -m 644 ./packaging/systemd/samba.conf.tmp "%{install-root}/etc/tmpfiles.d/samba.conf"
- mkdir -p "%{install-root}/lib/systemd/system/multi-user.target.wants"
- |
cat <<EOF >"%{install-root}/lib/systemd/system/nmb.service"
[Unit]
Description=Samba NMB Daemon
After=syslog.target network-online.target
[Service]
Type=forking
PIDFile=/var/run/samba/nmbd.pid
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=%{prefix}/sbin/nmbd \$NMBDOPTIONS
ExecReload=%{prefix}/bin/kill -HUP \$MAINPID
[Install]
WantedBy=multi-user.target
EOF
- |
cat <<EOF >"%{install-root}/lib/systemd/system/smb.service"
[Unit]
Description=Samba SMB Daemon
After=syslog.target network-online.target nmb.service winbind.service
[Service]
Type=forking
PIDFile=/var/run/samba/smbd.pid
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=%{prefix}/sbin/smbd \$NMBDOPTIONS
ExecReload=%{prefix}/bin/kill -HUP \$MAINPID
[Install]
WantedBy=multi-user.target
EOF
- |
cat <<EOF >"%{install-root}/lib/systemd/system/winbind.service"
[Unit]
Description=Samba winbind Daemon
After=syslog.target network-online.target nmb.service
[Service]
Type=forking
PIDFile=/var/run/samba/winbindd.pid
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=%{prefix}/sbin/winbindd \$NMBDOPTIONS
ExecReload=%{prefix}/bin/kill -HUP \$MAINPID
[Install]
WantedBy=multi-user.target
EOF
- |
for i in nmb smb winbind
do
ln -s ../$i.service "%{install-root}/lib/systemd/system/multi-user.target.wants/$i.service"
done
- mkdir -p "%{install-root}/var/log/samba"
- mkdir -p "%{install-root}/etc/samba"
- |
cat <<EOF >"%{install-root}/etc/samba/smb.conf"
[global]
workgroup = WORKGROUP
dns proxy = no
local master = yes
preferred master = yes
os level = 2
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
valid users = %S
;[printers]
;comment = All Printers
;browseable = no
;path = /var/spool/samba
;printable = yes
;guest ok = no
;read only = yes
;create mask = 0700
;[src]
;comment = Source code
;path = /src
;read only = yes
;guest ok = yes
EOF
|