Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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