Magellan Linux

Annotation of /trunk/extras/samba/samba-4.8.3-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31411 - (hide annotations) (download)
Wed Jul 4 08:41:19 2018 UTC (5 years, 10 months ago) by niro
File size: 6079 byte(s)
auto added: ver bump to 4.8.3-r1
1 niro 31411 # $Id$
2    
3     PNAME="samba"
4     PVER="4.8.3"
5     PBUILD="r1"
6    
7     PCAT="net-fs"
8    
9     DESCRIPTION="Samba provides seamless file and print services to SMB/CIFS clients."
10     HOMEPAGE="http://www.samba.org"
11    
12     # todo: external ldb and tevent!
13     DEPEND=">= virtual/glibc
14     >= net-print/libcups-2.2
15     >= dev-db/tdb-1.3
16     >= dev-libs/popt-1.16
17     >= dev-libs/talloc-2.1
18     >= sys-apps/acl-2.2
19     >= sys-libs/ncurses-6.0
20     >= sys-libs/readline-7.0
21     >= sys-libs/pam-1.1
22     >= sys-libs/libsystemd-230
23     >= app-admin/gamin-0.1.10
24     >= net-dns/avahi-0.7
25     >= app-crypt/gnutls-3.6
26     >= net-nds/libldap-2.4
27     >= net-fs/cifs-utils-6.4"
28    
29     SDEPEND=">= sys-dev/automake-4
30     >= sys-dev/autoconf-5
31     >= virtual/sed
32     >= dev-lang/perl-5.26.1
33     >= dev-lang/python-2.7
34     >= net-nds/openldap-2.4
35     >= app-text/docbook-xsl-stylesheets-1.78"
36    
37     SRCFILE="${PNAME}-${PVER}.tar.gz"
38     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
39    
40     msetfeature "!check" # no check target in Makefile
41     sminclude mtools multilib systemd
42    
43     # imap modules
44     SMB_SHARED_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
45     # pdb modules
46     SMB_SHARED_MODULES+=",pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4,auth_unix"
47     # auth modules
48     SMB_SHARED_MODULES+=",auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
49    
50     # use external tdb
51     SMB_BUNDLED_LIBRARIES="!tdb"
52     # use external talloc
53     SMB_BUNDLED_LIBRARIES+=",!talloc,!pytalloc-util"
54     # use internal tevent
55     SMB_BUNDLED_LIBRARIES+=",tevent"
56     # use external popt
57     SMB_BUNDLED_LIBRARIES+=",!popt"
58     # use internal ldb
59     SMB_BUNDLED_LIBRARIES+=",ldb,pyldb-util"
60    
61     CONFD_VER=1.2
62     SMBD_SVC_VER=1.5
63     NMBD_SVC_VER=1.3
64     WINBINDD_SVC_VER=1.2
65    
66     SRC_URI=(
67     http://us1.samba.org/samba/ftp/stable/${SRCFILE}
68     mirror://${PNAME}/${SRCFILE}
69     mirror://${PNAME}/lmhosts
70     mirror://${PNAME}/smbusers
71     mirror://${PNAME}/samba.confd-${CONFD_VER}
72     mirror://${PNAME}/samba.pamd
73     mirror://${PNAME}/samba.logrotate
74     mirror://${PNAME}/samba.service
75     mirror://${PNAME}/nmbd.service-${NMBD_SVC_VER}
76     mirror://${PNAME}/smbd.service-${SMBD_SVC_VER}
77     mirror://${PNAME}/winbindd.service-${WINBINDD_SVC_VER}
78     )
79    
80     UP2DATE="updatecmd http://ftp.samba.org/pub/samba | grep '${PNAME}-[0-9].*' | highesttarball gz"
81    
82     src_prepare()
83     {
84     munpack ${SRCFILE} || die
85    
86     # add our vendor suffix
87     all-abis 'sed -i "s:^\(SAMBA_VERSION_VENDOR_SUFFIX=\).*:\1\"magellan\":" VERSION || die'
88     #all-abis 'sh script/mkversion.sh || die' # new waf build system creates this one automatically
89     }
90    
91     src_compile()
92     {
93     mconfigure \
94     --enable-fhs \
95     --libexecdir=/usr/'$(mlibdir)'/samba \
96     --sysconfdir=/etc/samba \
97     --localstatedir=/var \
98     --with-configdir=/etc/samba \
99     --with-modulesdir=/usr/'$(mlibdir)'/samba \
100     --with-piddir=/run/samba \
101     --with-lockdir=/var/cache/samba \
102     --with-logfilebase=/var/log/samba \
103     --with-privatedir=/var/lib/samba/private \
104     --bundled-libraries="${SMB_BUNDLED_LIBRARIES}" \
105     --with-shared-modules="${SMB_SHARED_MODULES}" \
106     --with-syslog \
107     --with-acl-support \
108     --enable-cups \
109     --with-ads \
110     --with-ldap \
111     --with-winbind \
112     --with-pam \
113     --with-quotas \
114     --with-systemd \
115     --enable-gnutls \
116     --enable-avahi \
117     --disable-rpath \
118     --disable-rpath-install \
119     || die
120    
121     mmake || die
122     }
123    
124     src_install()
125     {
126     # required directories
127     minstalldir /etc/samba || die
128     all-abis 'minstalldir /usr/$(mlibdir)/cups/backend || die'
129     minstalldir /usr/share/doc/${PNAME}-${PVER}/examples || die
130    
131     # required directories by samba at runtime
132     mkeepdir /var/log/samba || die
133     mkeepdir /run/samba || die
134     mkeepdir /var/cache/samba || die
135     mkeepdir /var/lib/samba/netlogon || die
136     mkeepdir /var/lib/samba/profiles || die
137     mkeepdir /var/lib/samba/printers/W32X86 || die
138     mkeepdir /var/lib/samba/printers/WIN40 || die
139     mkeepdir /var/lib/samba/printers/W32ALPHA || die
140     mkeepdir /var/lib/samba/printers/W32MIPS || die
141     mkeepdir /var/lib/samba/printers/W32PPC || die
142     mkeepdir /var/lib/samba/private || die
143     mkeepdir /var/spool/samba || die
144    
145     # fix permissions
146     mchmod 0700 /var/lib/samba/private || die
147     mchmod 1777 /var/spool/samba || die
148    
149     mmake DESTDIR=${BINDIR} install || die
150    
151     # if exist remove *.old binaries
152     if [[ -n $(find ${BINDIR}/usr/bin -type f -name '*.old') ]]
153     then
154     for i in ${BINDIR}/usr/bin/*.old
155     do
156     [[ -e ${i} ]] && rm -f ${i} || die
157     done
158     fi
159    
160     # add cups printing support
161     all-abis 'mlink ../../../bin/smbspool /usr/$(mlibdir)/cups/backend/smb || die'
162    
163     # install our config files
164     # fake smb.conf to get smbmount work
165     memptyfile /etc/samba/smb.conf || die
166    
167     # our smb example config
168     minstalletc examples/smb.conf.default smb.conf.example /etc/samba || die
169     # fix logrotate
170     sed -i 's:log.%m:%m.log:g' ${BINDIR}/etc/samba/smb.conf.example || die
171    
172     # our lmhosts and smbusers config
173     minstalletc lmhosts lmhosts /etc/samba || die
174     minstalletc smbusers smbusers /etc/samba || die
175    
176     # install systemd units
177     minstallconf samba.confd-${CONFD_VER} samba || die
178     minstallunit nmbd.service-${NMBD_SVC_VER} nmbd.service || die
179     minstallunit smbd.service-${SMBD_SVC_VER} smbd.service || die
180     minstallunit winbindd.service-${WINBINDD_SVC_VER} winbindd.service || die
181     minstallunit samba.service || die
182     minstalldir /etc/tmpfiles.d || die
183     MCONFIG=/etc/tmpfiles.d/samba.conf
184     mclearconfig || die
185     maddconfig 'd /run/samba 0755 root root -'
186    
187     # install pam configuration
188     minstallpam samba.pamd samba || die
189    
190     # install logrotate config
191     minstalllog samba.logrotate samba || die
192    
193     # other docs
194     minstalldocs COPYING Manifest README REVISION Read-Manifest-Now Roadmap WHATSNEW.txt || die
195     }
196    
197     postinstall()
198     {
199     mstartunit nmbd.service
200     mstartunit winbindd.service
201     mstartunit smbd.service
202    
203     echo
204     echo "To initialize samba's password database, please run:"
205     echo " pdbedit --force-initialized-passwords"
206     echo
207     echo "If you experience client locks in file transfers _only_, try the parameter"
208     echo " use sendfile = no (man smb.conf(5), man sendfile(2))"
209     echo
210     echo "There also seem some problems with the smbfs implementation of the recent 2.6 kernels."
211     echo "If you experience problems (lockups) with smbfs, try cifs as an alternative."
212     echo
213     }
214    
215     postremove()
216     {
217     mstopunit nmbd.service
218     mstopunit winbindd.service
219     mstopunit smbd.service
220     }