3 # Important modifications (introduction of a saved config.cache to
4 # solve build problems) introduced in Samba 2.2.1a-5. These
5 # modification were made by Steve Langasek <vorlon@netexpress.net>.
7 # config.cache *DISABLED* to solve problems caused incorrect settings
12 # Uncomment this to turn on verbose mode.
15 # This is the debhelper compatability version to use.
18 # This has to be exported to make some magic below work.
21 # Set the host and build architectures for use with config.cache loading,
22 # cross-building, etc.
23 DEB_HOST_GNU_TYPE
:= $(shell dpkg-architecture
-qDEB_HOST_GNU_TYPE
)
24 DEB_BUILD_GNU_TYPE
:= $(shell dpkg-architecture
-qDEB_BUILD_GNU_TYPE
)
25 DEB_HOST_GNU_SYSTEM
:= $(shell dpkg-architecture
-qDEB_HOST_GNU_SYSTEM
)
26 DEB_BUILD_GNU_SYSTEM
:= $(shell dpkg-architecture
-qDEB_BUILD_GNU_SYSTEM
)
28 export DEB_HOST_GNU_TYPE
29 export DEB_BUILD_GNU_TYPE
30 export DEB_HOST_GNU_SYSTEM
31 export DEB_BUILD_GNU_SYSTEM
33 # Support the DEB_BUILD_OPTIONS variable
34 CFLAGS
= -gstabs
-Wall
37 ifneq (,$(findstring noopt
,$(DEB_BUILD_OPTIONS
)))
43 ifeq (,$(findstring nostrip
,$(DEB_BUILD_OPTIONS
)))
48 DESTDIR
=`pwd`/debian
/tmp
57 --with-privatedir
=/etc
/samba \
58 --with-piddir
=/var
/run
/samba \
59 --localstatedir
=/var \
72 --with-shared-modules
=idmap_ad
,idmap_rid \
73 --with-python
=python2.3
75 ifeq ($(DEB_HOST_GNU_SYSTEM
),linux
)
84 conf_args
+= --without-quotas
89 ifeq ($(DEB_BUILD_GNU_TYPE
), $(DEB_HOST_GNU_TYPE
))
90 conf_args
+= --build
$(DEB_HOST_GNU_TYPE
)
92 conf_args
+= --build
$(DEB_BUILD_GNU_TYPE
) --host
$(DEB_HOST_GNU_TYPE
)
98 if
[ ! -f patch-stamp
]; then
/bin
/sh debian
/scripts
/patch-source
; fi
103 if
[ -f patch-stamp
]; then
/bin
/sh debian
/scripts
/unpatch-source
; fi
106 configure
: patch-stamp configure-stamp
110 # if [ -f debian/config.cache ]; then \
111 # cp -f debian/config.cache source/config.cache; \
114 [ -f source
/Makefile
] ||
(cd source
&& CFLAGS
="$(CFLAGS)" .
/configure
$(conf_args
))
116 touch configure-stamp
118 build
: patch-stamp configure-stamp build-stamp
122 $(MAKE
) -C source headers
123 $(MAKE
) -C source
all nsswitch
/libnss_wins.so python_ext
130 rm -f build-stamp configure-stamp
132 # Clean first the Samba package
133 # -$(MAKE) -C source realclean
134 # -$(MAKE) -C source clean
135 -$(MAKE
) -C source python_clean
distclean
137 # Delete stuff left after a build that is not deleted by 'make clean'
138 rm -f source
/bin
/wbinfo source
/bin
/winbindd source
/bin
/debug2html \
139 source
/bin
/libsmbclient.a source
/bin
/mount.cifs \
140 source
/include/stamp-h
142 sed
-e
"s/@libacl@/`type-handling any linux-gnu`/g" \
143 < debian
/control.in
> debian
/control
154 mkdir
-p
$(DESTDIR
)/usr
/share
/man
$(DESTDIR
)/usr
/lib
/samba \
155 $(DESTDIR
)/lib
/security
$(DESTDIR
)/sbin \
156 $(DESTDIR
)/usr
/lib
/cups
/backend
$(DESTDIR
)/usr
/share
/samba \
157 $(DESTDIR
)/etc
/pam.d
$(DESTDIR
)/etc
/dhcp3
/dhclient-enter-hooks.d \
158 $(DESTDIR
)/usr
/lib
/python2.3
/site-packages
/samba
160 # Add here commands to install the package into debian/tmp.
161 $(MAKE
) -C source
install DESTDIR
=$(DESTDIR
)
163 # libsmbclient files are not installed by the standard
164 # 'make install' - do it manually.
165 $(MAKE
) -C source installclientlib DESTDIR
=$(DESTDIR
)
166 mv
$(DESTDIR
)/usr
/lib
/samba
/libsmbclient.so
$(DESTDIR
)/usr
/lib
/samba
/libsmbclient.so
.0.1
167 ln
-s libsmbclient.so
.0.1 $(DESTDIR
)/usr
/lib
/samba
/libsmbclient.so
.0
168 ln
-s libsmbclient.so
.0.1 $(DESTDIR
)/usr
/lib
/samba
/libsmbclient.so
170 # Starting with Samba 3.0.6 libsmbclient.so is installed in
171 # /usr/lib/samba. We don't want it there since it is not in the
172 # default library path. Here we move it to /usr/lib/.
173 mv
$(DESTDIR
)/usr
/lib
/samba
/libsmbclient
* \
176 # Install other stuff not installed by "make install"
177 install -m
0755 debian
/mksmbpasswd.awk
$(DESTDIR
)/usr
/sbin
/mksmbpasswd
179 # Install winbind stuff not installed by 'make install'
180 install -m
0644 source
/bin
/pam_winbind.so
$(DESTDIR
)/lib
/security
/
181 install -m
0644 source
/nsswitch
/libnss_winbind.so
$(DESTDIR
)/lib
/libnss_winbind.so
.2
183 # Install libnss_wins.so, which is not installed by 'make install' either.
184 install -m
0644 source
/nsswitch
/libnss_wins.so
$(DESTDIR
)/lib
/libnss_wins.so
.2
186 # pam_smbpass.so isn't being installed by 'make install'.
187 # We'll move it here to $(DESTDIR)/lib/security/ and then
188 # libpam-smbpass.files will make dh_movefiles move it to the
189 # right location in the libpam-smbpass package.
190 install -m
0644 source
/bin
/pam_smbpass.so
$(DESTDIR
)/lib
/security
/
193 # Create the symlinks that will allow us to do "mount -t smbfs ..."
194 # and "mount -t smb ...". Note that the source/script/installbin.sh
195 # tries to create the first symlink, but we have commented
196 # that code out and do everything here. We also create
197 # symlinks for the man pages.
198 ln
-s
/usr
/bin
/smbmount
$(DESTDIR
)/sbin
/mount.smbfs
199 ln
-s
/usr
/bin
/smbmount
$(DESTDIR
)/sbin
/mount.smb
200 ln
-s smbmount
.8 $(DESTDIR
)/usr
/share
/man
/man8
/mount.smb
.8
201 ln
-s smbmount
.8 $(DESTDIR
)/usr
/share
/man
/man8
/mount.smbfs
.8
204 ifeq ($(mount_cifs
),yes
)
205 # Install mount.cifs and its man page
206 install -m
04755 source
/bin
/mount.cifs
$(DESTDIR
)/sbin
/
207 install -m
0644 docs
/manpages
/mount.cifs
.8 $(DESTDIR
)/usr
/share
/man
/man8
/
210 # For CUPS to support printing to samba printers, it's necessary
211 # to make the following symlink (according to
212 # Erich Schubert <debian@vitavonni.de> in #109509):
213 ln
-s ..
/..
/..
/bin
/smbspool
$(DESTDIR
)/usr
/lib
/cups
/backend
/smb
215 # Install man pages for files without man pages in the upstream sources
216 install -m
0644 debian
/mksmbpasswd
.8 $(DESTDIR
)/usr
/share
/man
/man8
/mksmbpasswd
.8
218 # We don't provide the "Using Samba" book in the swat package.
219 # It's provided in the samba-doc package so in the swat package
220 # we just provide a symlink to the real book.
221 ln
-s ..
/..
/doc
/samba-doc
/htmldocs
/using_samba \
222 $(DESTDIR
)/usr
/share
/samba
/swat
/using_samba
224 # Delete unwanted stuff leftover from "make install"
226 # The smbwrapper package is not being generated anymore, so we must
227 # delete the related man pages.
228 # rm $(DESTDIR)/usr/share/man/man1/smbsh.1
230 # We're not providing findsmb (should we?) so let's remove the man
232 find debian
/ -name
'findsmb*' -exec
rm -f
{} \
;
234 # Install samba-common's conffiles - they'll get moved later to their
235 # correct place by dh_movefiles.
236 cp debian
/smb.conf
$(DESTDIR
)/usr
/share
/samba
/
237 install -m755 debian
/panic-action
$(DESTDIR
)/usr
/share
/samba
/
238 cp debian
/gdbcommands
$(DESTDIR
)/etc
/samba
/
239 cp debian
/samba.pamd
$(DESTDIR
)/etc
/pam.d
/samba
240 install -m755 debian
/samba-common.dhcp
$(DESTDIR
)/etc
/dhcp3
/dhclient-enter-hooks.d
/samba
242 # Install the Python modules
244 # Hmmm... need to figure this out. We have lib.linux-i686-2.2
245 # and lib.linux-i686-2.3 directories. Using only the stuff from
246 # the 2.3 directory for now. peloy.-
247 #cp source/build/lib.*/samba/*.so $(DESTDIR)/usr/lib/python2.3/site-packages/
248 cp source
/build
/lib.
*-*-2.3/samba
/*.so
$(DESTDIR
)/usr
/lib
/python2.3
/site-packages
/samba
/
249 cp source
/python
/samba
/* $(DESTDIR
)/usr
/lib
/python2.3
/site-packages
/samba
/
253 # Build architecture-independent files here.
254 # Pass -i to all debhelper commands in this target to reduce clutter.
255 binary-indep
: DH_OPTIONS
=-i
256 binary-indep
: build
install
260 dh_installdocs
-A debian
/README.build
261 # dh_installexamples is not available in Debian Potato...
262 [ -x
/usr
/bin
/dh_installexamples
] && DH_OPTIONS
= dh_installexamples
-v
-psamba-doc examples
/*
276 # Get rid of those pesky .cvsignore files to make lintian happy
277 find debian
/ -name .cvsignore
-exec
rm -f
{} \
;
285 # Build architecture-dependent files here.
286 # Pass -a to all debhelper commands in this target to reduce clutter.
291 binary-arch
: DH_OPTIONS
=-a
$(DH_EXTRAS
)
292 binary-arch
: build
install
296 dh_installdocs
-A debian
/README.build
297 # dh_installexamples is not available in Debian Potato...
298 [ -x
/usr
/bin
/dh_installexamples
] && DH_OPTIONS
= dh_installexamples
-v
-ppython2.3
-samba source
/python
/examples
/*
300 # dh_installlogrotate is not available in Debian Potato...
301 if
[ -x
/usr
/bin
/dh_installlogrotate
]; then \
302 dh_installlogrotate
; \
304 mkdir
-p debian
/samba
/etc
/logrotate.d
; \
305 cp debian
/samba.logrotate debian
/samba
/etc
/logrotate.d
/samba
; \
306 mkdir
-p debian
/winbind
/etc
/logrotate.d
; \
307 cp debian
/winbind.logrotate debian
/winbind
/etc
/logrotate.d
/winbind
; \
311 DH_OPTIONS
= dh_installinit
-psamba
-- "defaults 20 19"
312 DH_OPTIONS
= dh_installinit
-pwinbind
316 cp debian
/winbind.lintian debian
/winbind
/usr
/share
/lintian
/overrides
/winbind
318 dh_installchangelogs
-Nlibpam-smbpass
319 DH_OPTIONS
= dh_installchangelogs
-plibpam-smbpass source
/pam_smbpass
/CHANGELOG
320 dh_strip
--dbg-package
=samba
--dbg-package
=smbclient
321 cp
-a debian
/smbclient-dbg
/* debian
/samba-dbg
322 rm -rf debian
/smbclient-dbg
327 # Why this is executable, I have NO idea...
328 chmod a-x debian
/libsmbclient-dev
/usr
/include/libsmbclient.h
331 # You may want to make some executables suid here.
332 # The smbmnt and smbumount binaries should be setuid-root. This
333 # has security implications because these programs haven't had
334 # a thorough security audit. smbmount _does not_ have to have
335 # the setuid bit set. In fact, it is a security hole.
336 chmod u
+s debian
/smbfs
/usr
/bin
/smbmnt
337 chmod u
+s debian
/smbfs
/usr
/bin
/smbumount
340 # Set some reasonable default perms for the samba logdir.
341 chmod
0750 debian
/samba
/var
/log
/samba
/
342 chown root.adm debian
/samba
/var
/log
/samba
/
344 # Get rid of those pesky .cvsignore files to make lintian happy
345 # (maybe we only need the "find ... -exec rm -f {} ;" we have
346 # in the binary-indep target?) peloy.-
347 find debian
/ -name .cvsignore
-exec
rm -f
{} \
;
357 binary
: binary-indep binary-arch
358 .PHONY
: build
clean binary-indep binary-arch binary
install configure