diff options
author | Robert Piasek <dagger@gentoo.org> | 2011-06-30 15:50:28 +0000 |
---|---|---|
committer | Robert Piasek <dagger@gentoo.org> | 2011-06-30 15:50:28 +0000 |
commit | b1a7b01bce5e0358238de8eecfaac71224e0fc98 (patch) | |
tree | 664b6391c0789b27a6f223d751714d8c16ac57a4 /net-fs | |
parent | Add files/3.6 directory in preparation for samba 3.6 ebuild (diff) | |
download | historical-b1a7b01bce5e0358238de8eecfaac71224e0fc98.tar.gz historical-b1a7b01bce5e0358238de8eecfaac71224e0fc98.tar.bz2 historical-b1a7b01bce5e0358238de8eecfaac71224e0fc98.zip |
add RC2 of Samba 3.6
Package-Manager: portage-2.1.10.3/cvs/Linux x86_64
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/samba/Manifest | 10 | ||||
-rw-r--r-- | net-fs/samba/files/3.6/lmhosts | 2 | ||||
-rw-r--r-- | net-fs/samba/files/3.6/samba.confd | 28 | ||||
-rw-r--r-- | net-fs/samba/files/3.6/samba.initd | 59 | ||||
-rw-r--r-- | net-fs/samba/files/3.6/samba.pam | 8 | ||||
-rw-r--r-- | net-fs/samba/files/3.6/smb.conf.default.patch | 68 | ||||
-rw-r--r-- | net-fs/samba/files/3.6/smbusers | 7 | ||||
-rw-r--r-- | net-fs/samba/files/3.6/swat.xinetd | 17 | ||||
-rw-r--r-- | net-fs/samba/files/3.6/system-auth-winbind.pam | 18 | ||||
-rw-r--r-- | net-fs/samba/samba-3.6.0_rc2.ebuild | 419 |
10 files changed, 636 insertions, 0 deletions
diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest index 34938061303d..63f229876e4c 100644 --- a/net-fs/samba/Manifest +++ b/net-fs/samba/Manifest @@ -22,12 +22,21 @@ AUX 3.5/smb.conf.default.patch 2873 RMD160 f0e7ae6a41959dacdf9f71a14e3c9477f07bb AUX 3.5/smbusers 218 RMD160 a94e0928466c0ed7cfd3edd3ac88dd1c8725a987 SHA1 84518d8768048e497724c72f89c00e6223c6cdb6 SHA256 ed24f121813aff4b8e79c99317f4f9dfde9246d150d7718f0fa60babb8b9dca1 AUX 3.5/swat.xinetd 527 RMD160 8b2364e6fda8cecc75feef8129347ebc545ecc43 SHA1 98f94bc638ffb68d6fb35745aebbf0c63d4135ce SHA256 7919926945c9a7a28446280ea477aed2d7d3506372a03cbea96b446a8fa39aa4 AUX 3.5/system-auth-winbind.pam 705 RMD160 666533e99283449d60a97fd4fcd704d72212b871 SHA1 a1fe11d7a4f7501c938c03121e4ad950c515f75e SHA256 eca81593dc1b3e2be19bba7a128d71474243216a7783ed788320ca51cf6ea6c7 +AUX 3.6/lmhosts 125 RMD160 352d66c815ec164196bc9daf70b08b36d1447972 SHA1 ee122d2e006c8dc1e1f0a72db76bb6b3c326d849 SHA256 0bcbc9c3cfb44e31ccdc0930a1bcacc4e2b0fd96e5d38a56234a5133707a1826 +AUX 3.6/samba.confd 1219 RMD160 88949f00ea94f14af751e53cf870b6481dc3770d SHA1 a92a63dbbf9f7079e9d7cf0e2e3d608594fe5d42 SHA256 a83004571c4bc37eeaeec8efa0fef4a20d9fc12ec30f2eb9dcc6098251205314 +AUX 3.6/samba.initd 1226 RMD160 6e4b32fe49d319dd8e80c6695bd2111c9c51622d SHA1 19ddcec9155a5408a5233e0bed3571ee622859a3 SHA256 9ca1ca4d2af609675f049f296f1573746481c91a522a505c1b2ee80eb5726d9b +AUX 3.6/samba.pam 397 RMD160 8f64b09e17e0c458a8156db3cc92a0413513e4fc SHA1 f39d48e07be8069885b51253c5b891a856b7b41e SHA256 86634f2d541370518d0958a73c04776ed5df2a3716ef128ff384459acce9cd38 +AUX 3.6/smb.conf.default.patch 2385 RMD160 807cc1e9d18e41d4f15fec2ef675bc8bbbdeab92 SHA1 d3244cf26702945fb686a0fbf75be8adc161f379 SHA256 2140436e553e5dfc0b472e3a09a597de61f15847f23e8f92b9f561a6b9164034 +AUX 3.6/smbusers 217 RMD160 3dd2a60bbaf206ad7343ea80509b44a84459a72a SHA1 a8114a2ff5b03e3c8f23104a9bd28381044ce413 SHA256 c4e808dc0d0a397e777225c6f2b4008d52979b2a4969ceee3211a8bd9d58703f +AUX 3.6/swat.xinetd 526 RMD160 2a407763cfacfbe9b31c0901e43b4d227ea02a12 SHA1 88c6db599a1463dfd4c69392fc7374453c50ad00 SHA256 59dbb1e4669cfd5c72dacc8d8aed269f169e827338e6d6e92fa2a8e445a3ceac +AUX 3.6/system-auth-winbind.pam 704 RMD160 4b9220ea16830f6ccb3afbcd2bef9b074c02f749 SHA1 d8ab709fb750300bcf642064015fddd1a9c3ed23 SHA256 42c80d953da2472d789c3de1311045285428a15562f7ad2371ef214d8ea7bf56 AUX samba-3.4.2-lib.tevent.python.mk 177 RMD160 3ed0264790f5ce15106528cd485c83611f6ebeb5 SHA1 ab048fb7ba236621d82cc305ce85d129d38d32a8 SHA256 3eab52d42a0cbc070d011a131f9a56f4b3da10b2791fec514948fd8d2d013153 AUX samba4.initd 634 RMD160 0d1028c3520102a7a2c4a7dd73723b66295db740 SHA1 cf2e0bcdb1783f1fb2ed256442f051b98ad70d64 SHA256 df553df5cfb8d8305566accd62bff23dac4772ad4a2eb7d3b1328a5651113cad DIST samba-3.4.12.tar.gz 34842685 RMD160 b78ae82371fce179cddb8dfd508d8075788082d0 SHA1 89c18711cf585de415c4e7e50e83596dc583cc3e SHA256 89c0862a683d1c5f0b8710df1ae6f628aa4530bbe5cbb11cf7415b1b0446f028 DIST samba-3.4.13.tar.gz 34805783 RMD160 da4cdb57bec225fa35b1a6e889f1c49beaaf5089 SHA1 1318670371c55fe7383d583c5d184cbef7c6e5ea SHA256 f2725e66f6d4e0120c44ba22bc4461654a4222ae9881d04157dcc1faccbbffe4 DIST samba-3.5.8.tar.gz 30721269 RMD160 02703bbaf7d7e7b9786a2228fe6085143c99251a SHA1 ffb71de38442eee14aafb44f819671354dc5cce9 SHA256 331e3f2806edcad853b48f4b1e653367ad9a6ce1ab5ed486c03a6bf614882796 DIST samba-3.5.9.tar.gz 30750297 RMD160 c48b3d0ecf0b4cde2764cebdde5f8513320cd966 SHA1 77da3dff05032950fa1943057182d16894591a05 SHA256 8af8dccbb87a70a71f795180d873102b5cccba7012d66f2620cea8b87174380a +DIST samba-3.6.0rc2.tar.gz 29002281 RMD160 83fe9890abf71d168b771c9c460084ba4e50a367 SHA1 da78a83b95c042a7be00b5737fb5d8f3a36a0fce SHA256 4124a70f0815c798f53176e4eb086d69c06ee5af0bd74f116cd905f64b12dc74 DIST samba-4.0.0alpha11.tar.gz 13917363 RMD160 3ec5597de6a2c80eaa426712101777fa92786b5c SHA1 8ed2befbbd45f6501d9e6036bcdfb332431a7b4f SHA256 ec9f4a9153b9e2c233420642ee98a8b944322e8b39a9b6912430fb24e88b81b9 DIST smb_traffic_analyzer_v2.diff.bz2 12226 RMD160 82f6d443d289253a184e5f5dda17d865cb79b2b5 SHA1 1dd5100447cb827aacb8bb18bf88b7b10955a38c SHA256 1bae7eafbe8ac2382313d5ab9d43d73ba64b63a714f0f588516952d476fb868d EBUILD samba-3.4.12.ebuild 11868 RMD160 f4a947beec3cceb95e1241991a827e673913aee3 SHA1 76ef9617d3604eb6941a13bae2f92e2816bdc223 SHA256 b72494103bf6f78691ec952bd878687b56671a1914e305a56a4728d22a410bb1 @@ -35,6 +44,7 @@ EBUILD samba-3.4.13.ebuild 11879 RMD160 d8fe5d3ad76b26f653f4c2f8a62d57e748fb113f EBUILD samba-3.5.8-r1.ebuild 11968 RMD160 0b559c0d46a4e6493971616a765053e2ce216be3 SHA1 13b3686487563435be413ece26de403ebe59f8f1 SHA256 964102b971bf1c3db52b0673363f89250561f335601a9a33f3df1f2483c74917 EBUILD samba-3.5.8.ebuild 12734 RMD160 3d4145c2be91bb05498adbbd507ced25df9aff91 SHA1 f30d7d7e16e365d421ef79a90efc20d1729b7e0f SHA256 cf6f724a69d82644ad4a4be64aed243775c44d55fbf7d69acf443d175c91b110 EBUILD samba-3.5.9.ebuild 12008 RMD160 d4053610ac661eb0e3ea485f587dd4b4032ffc05 SHA1 6b3114748e010c7b5f3a2e42c689e6f4432c615a SHA256 bd4aa352db979cace6634c8df1221c6e0393da8678de64e92c1cacf716adc4b7 +EBUILD samba-3.6.0_rc2.ebuild 11243 RMD160 bb1b4fd2ec6f6a4c416c6cf1989057f267d849ab SHA1 51c064989d922581606f604a8357d7de729b9008 SHA256 569c3e00c35cf8cf747e843ef41b1d746e03c59b234728eaee12643e22f6df2f EBUILD samba-4.0.0_alpha11.ebuild 4231 RMD160 efebbeed51868bf0cf51f6151b531f3e65834db2 SHA1 49169a33b69d1a69ecc102d8010c7b11f9256117 SHA256 02427fccf34de0f6aea8960d664b85a51fb80cce7bd107bc53111df386fb0660 MISC ChangeLog 79322 RMD160 d50ef929b48ba4c815b26b40565b5ed361d2da25 SHA1 d46d03b6cb4e493feb8584474b08f6d195979c99 SHA256 b1635fbbed41e841cdd3fe20aa571dd797017962aacd3c8c093148e22df08fb9 MISC metadata.xml 1435 RMD160 cbeae62707473b88127daa6170e8ca58861ef38b SHA1 32ff9e4f94646cc85bca64f208ea19faae1e2075 SHA256 bdff2271efdf94275d1a6096c48407c0372e088b10f85f19b989b18d50c2a5f0 diff --git a/net-fs/samba/files/3.6/lmhosts b/net-fs/samba/files/3.6/lmhosts new file mode 100644 index 000000000000..3e3428e535a2 --- /dev/null +++ b/net-fs/samba/files/3.6/lmhosts @@ -0,0 +1,2 @@ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/3.6/lmhosts,v 1.1 2011/06/30 15:50:28 dagger Exp $ +127.0.0.1 localhost diff --git a/net-fs/samba/files/3.6/samba.confd b/net-fs/samba/files/3.6/samba.confd new file mode 100644 index 000000000000..8ef8d7351a27 --- /dev/null +++ b/net-fs/samba/files/3.6/samba.confd @@ -0,0 +1,28 @@ +#add "winbind" to the daemon_list if you also want winbind to start +daemon_list="smbd nmbd" + +#---------------------------------------------------------------------------- +# 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_start="start-stop-daemon --start --exec /usr/sbin/smbd -- ${smbd_start_options}" +smbd_stop="start-stop-daemon --stop --exec /usr/sbin/smbd" +smbd_reload="killall -HUP smbd" + +nmbd_start_options="-D" +nmbd_start="start-stop-daemon --start --exec /usr/sbin/nmbd -- ${nmbd_start_options}" +nmbd_stop="start-stop-daemon --stop --exec /usr/sbin/nmbd" +nmbd_reload="killall -HUP nmbd" + +winbind_start_options="" +winbind_start="start-stop-daemon --start --exec /usr/sbin/winbindd -- ${winbind_start_options}" +winbind_stop="start-stop-daemon --stop --oknodo --exec /usr/sbin/winbindd" +winbind_reload="killall -HUP winbindd" + diff --git a/net-fs/samba/files/3.6/samba.initd b/net-fs/samba/files/3.6/samba.initd new file mode 100644 index 000000000000..10bc4d4b2f93 --- /dev/null +++ b/net-fs/samba/files/3.6/samba.initd @@ -0,0 +1,59 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/3.6/samba.initd,v 1.1 2011/06/30 15:50:28 dagger Exp $ + +opts="reload" + +depend() { + after slapd + need net + 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} +} + +mkdir_sambadirs() { + [ -d /var/run/samba ] || mkdir -p /var/run/samba +} + +start() { + ${my_service_PRE} + mkdir_sambadirs + 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 +} diff --git a/net-fs/samba/files/3.6/samba.pam b/net-fs/samba/files/3.6/samba.pam new file mode 100644 index 000000000000..91beadd478a4 --- /dev/null +++ b/net-fs/samba/files/3.6/samba.pam @@ -0,0 +1,8 @@ +#%PAM-1.0 +# * pam_smbpass.so authenticates against the smbpasswd file +# * changed Redhat's 'pam_stack' with 'include' for *BSD compatibility +# (Diego "Flameeyes" Petteno'): enable with pam>=0.78 only +auth required pam_smbpass.so nodelay +account include system-auth +session include system-auth +password required pam_smbpass.so nodelay smbconf=/etc/samba/smb.conf diff --git a/net-fs/samba/files/3.6/smb.conf.default.patch b/net-fs/samba/files/3.6/smb.conf.default.patch new file mode 100644 index 000000000000..c2a9a72cedad --- /dev/null +++ b/net-fs/samba/files/3.6/smb.conf.default.patch @@ -0,0 +1,68 @@ +--- samba-3.6.0rc2/examples/smb.conf.default~ 2011-06-07 19:13:47.000000000 +0100 ++++ samba-3.6.0rc2/examples/smb.conf.default 2011-06-30 16:12:42.388102480 +0100 +@@ -63,7 +63,7 @@ + + # this tells Samba to use a separate log file for each machine + # that connects +- log file = /usr/local/samba/var/log.%m ++ log file = /var/log/samba/log.%m + + # Put a capping on the size of the log files (in Kb). + max log size = 50 +@@ -81,7 +81,10 @@ + + # Backend to store user information in. New installations should + # use either tdbsam or ldapsam. smbpasswd is available for backwards +-# compatibility. tdbsam requires no further configuration. ++# compatibility. tdbsam requires no further configuration. If you're ++# migrating from < samba 3.4, you'll have to convert your old user ++# passwords to the new backend with the command: ++# pdbedit -i smbpasswd:/var/lib/samba/private/smbpasswd -e + ; passdb backend = tdbsam + + # Using the following line enables you to customise your configuration +@@ -89,7 +92,7 @@ + # of the machine that is connecting. + # Note: Consider carefully the location in the configuration file of + # this line. The included file is read at that point. +-; include = /usr/local/samba/lib/smb.conf.%m ++; include = /etc/samba/smb.conf.%m + + # Configure Samba to use multiple interfaces + # If you have multiple network interfaces then you must list them +@@ -166,7 +169,7 @@ + # Un-comment the following and create the netlogon directory for Domain Logons + ; [netlogon] + ; comment = Network Logon Service +-; path = /usr/local/samba/lib/netlogon ++; path = /var/lib/samba/netlogon + ; guest ok = yes + ; writable = no + ; share modes = no +@@ -175,7 +178,7 @@ + # Un-comment the following to provide a specific roving profile share + # the default is to use the user's home directory + ;[Profiles] +-; path = /usr/local/samba/profiles ++; path = /var/lib/samba/profiles + ; browseable = no + ; guest ok = yes + +@@ -184,7 +187,7 @@ + # specifically define each individual printer + [printers] + comment = All Printers +- path = /usr/spool/samba ++ path = /var/spool/samba + browseable = no + # Set public = yes to allow user 'guest account' to print + guest ok = no +@@ -204,7 +207,7 @@ + ; comment = Public Stuff + ; path = /home/samba + ; public = yes +-; writable = no ++; writable = yes + ; printable = no + ; write list = @staff + diff --git a/net-fs/samba/files/3.6/smbusers b/net-fs/samba/files/3.6/smbusers new file mode 100644 index 000000000000..b3c59f2e0550 --- /dev/null +++ b/net-fs/samba/files/3.6/smbusers @@ -0,0 +1,7 @@ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/3.6/smbusers,v 1.1 2011/06/30 15:50:28 dagger Exp $ + +# Syntax: +# Unix_name = SMB_name1 SMB_name2 ... + +root = Administrator admin +nobody = guest pcguest smbguest diff --git a/net-fs/samba/files/3.6/swat.xinetd b/net-fs/samba/files/3.6/swat.xinetd new file mode 100644 index 000000000000..55c7cffe8b0e --- /dev/null +++ b/net-fs/samba/files/3.6/swat.xinetd @@ -0,0 +1,17 @@ +# default: off +# description: SWAT is the Samba Web Admin Tool. Use swat \ +# to configure your Samba server. To use SWAT, \ +# connect to port 901 with your favorite web browser. +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/3.6/swat.xinetd,v 1.1 2011/06/30 15:50:28 dagger Exp $ + +service swat +{ + port = 901 + socket_type = stream + wait = no + only_from = localhost + user = root + server = /usr/sbin/swat + log_on_failure += USERID + disable = yes +} diff --git a/net-fs/samba/files/3.6/system-auth-winbind.pam b/net-fs/samba/files/3.6/system-auth-winbind.pam new file mode 100644 index 000000000000..454b94d61a6b --- /dev/null +++ b/net-fs/samba/files/3.6/system-auth-winbind.pam @@ -0,0 +1,18 @@ +#%PAM-1.0 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/3.6/system-auth-winbind.pam,v 1.1 2011/06/30 15:50:28 dagger Exp $ + +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 diff --git a/net-fs/samba/samba-3.6.0_rc2.ebuild b/net-fs/samba/samba-3.6.0_rc2.ebuild new file mode 100644 index 000000000000..ee627b5c050e --- /dev/null +++ b/net-fs/samba/samba-3.6.0_rc2.ebuild @@ -0,0 +1,419 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.6.0_rc2.ebuild,v 1.1 2011/06/30 15:50:28 dagger Exp $ + +EAPI=4 + +inherit pam versionator multilib eutils + +MY_PV=${PV/_/} +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Library bits of the samba network filesystem" +HOMEPAGE="http://www.samba.org/" +SRC_URI="mirror://samba/rc/${MY_P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="acl addns ads +aio avahi caps +client cluster cups debug doc examples fam + ldap ldb +netapi pam quota +readline +server +smbclient smbsharemodes + swat syslog winbind" + +DEPEND="dev-libs/popt + !net-fs/samba-client + !net-fs/samba-libs + !net-fs/samba-server + >=sys-libs/talloc-2.0.5 + >=sys-libs/tdb-1.2.9 + virtual/libiconv + ads? ( virtual/krb5 sys-fs/e2fsprogs + client? ( sys-apps/keyutils + net-fs/cifs-utils[ads] ) ) + avahi? ( net-dns/avahi[dbus] ) + caps? ( sys-libs/libcap ) + client? ( !net-fs/mount-cifs + dev-libs/iniparser + net-fs/cifs-utils ) + cluster? ( >=dev-db/ctdb-1.0.114_p1 ) + cups? ( net-print/cups ) + debug? ( dev-libs/dmalloc ) + fam? ( virtual/fam ) + ldap? ( net-nds/openldap ) + pam? ( virtual/pam + winbind? ( dev-libs/iniparser ) + ) + readline? ( >=sys-libs/readline-5.2 ) + syslog? ( virtual/logger )" + +RDEPEND="${DEPEND}" + +# Disable tests since we don't want to build that much here +RESTRICT="test" + +SBINPROGS="" +BINPROGS="" +KRBPLUGIN="" +PLUGINEXT=".so" +SHAREDMODS="" + +S="${WORKDIR}/${MY_P}/source3" + +# TODO: +# - enable iPrint on Prefix/OSX and Darwin? +# - selftest-prefix? selftest? +# - AFS? + +CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" + +REQUIRED_USE=" + ads? ( ldap ) + swat? ( server ) +" + +pkg_setup() { + if use server ; then + SBINPROGS="${SBINPROGS} bin/smbd bin/nmbd" + BINPROGS="${BINPROGS} bin/testparm bin/smbstatus bin/smbcontrol bin/pdbedit + bin/profiles bin/sharesec bin/eventlogadm bin/smbta-util" + + use swat && SBINPROGS="${SBINPROGS} bin/swat" + use winbind && SBINPROGS="${SBINPROGS} bin/winbindd" + use ads && use winbind && KRBPLUGIN="${KRBPLUGIN} bin/winbind_krb5_locator" + fi + + if use client ; then + BINPROGS="${BINPROGS} bin/smbclient bin/net bin/smbget bin/smbtree + bin/nmblookup bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbcquotas + bin/ntlm_auth" + + fi + + use cups && BINPROGS="${BINPROGS} bin/smbspool" + use ldb && BINPROGS="${BINPROGS} bin/ldbedit bin/ldbsearch bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbrename"; + + if use winbind ; then + BINPROGS="${BINPROGS} bin/wbinfo" + SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_hash" + use ads && SHAREDMODS="${SHAREDMODS},idmap_ad" + use ldap && SHAREDMODS="${SHAREDMODS},idmap_ldap,idmap_adex" + fi + + if use winbind && + [[ $(tc-getCC)$ == *gcc* ]] && + [[ $(gcc-major-version)$(gcc-minor-version) -lt 43 ]] + then + eerror "It is a known issue that ${P} will not build with " + eerror "winbind use flag enabled when using gcc < 4.3 ." + eerror "Please use at least the latest stable gcc version." + die "Using sys-devel/gcc < 4.3 with winbind use flag." + fi +} + +src_prepare() { + cp "${FILESDIR}/samba-3.4.2-lib.tevent.python.mk" "../lib/tevent/python.mk" + + # ensure that winbind has correct ldflags (QA notice) + sed -i \ + -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ + configure || die "sed failed" + cd "${WORKDIR}/${MY_P}" && epatch "${CONFDIR}"/smb.conf.default.patch +} + +src_configure() { + local myconf + + # Filter out -fPIE + [[ ${CHOST} == *-*bsd* ]] && myconf+=" --disable-pie" + + # Upstream refuses to make this configurable + use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no + + # Notes: + # - automount is only needed in conjunction with NIS and we don't have that + # anymore => LDAP? + # - --without-dce-dfs and --without-nisplus-home can't be passed to configure but are disabled by default + econf ${myconf} \ + --with-piddir=/var/run/samba \ + --sysconfdir=/etc/samba \ + --localstatedir=/var \ + $(use_enable debug developer) \ + --enable-largefile \ + --enable-socket-wrapper \ + --enable-nss-wrapper \ + $(use_enable swat) \ + $(use_enable debug dmalloc) \ + $(use_enable cups) \ + --disable-iprint \ + $(use_enable fam) \ + --enable-shared-libs \ + --disable-dnssd \ + $(use_enable avahi) \ + --with-fhs \ + --with-privatedir=/var/lib/samba/private \ + --with-rootsbindir=/var/cache/samba \ + --with-lockdir=/var/cache/samba \ + --with-swatdir=/usr/share/doc/${PF}/swat \ + --with-configdir=/etc/samba \ + --with-logfilebase=/var/log/samba \ + --with-pammodulesdir=$(getpam_mod_dir) \ + --without-afs \ + --without-fake-kaserver \ + --without-vfs-afsacl \ + $(use_with ldap) \ + $(use_with ads) \ + $(use_with ads krb5 /usr) \ + $(use_with ads dnsupdate) \ + --without-automount \ + $(use_with pam) \ + $(use_with pam pam_smbpass) \ + $(use_with syslog) \ + $(use_with quota quotas) \ + $(use_with quota sys-quotas) \ + --without-utmp \ + --without-lib{talloc,tdb} \ + $(use_with netapi libnetapi) \ + $(use_with smbclient libsmbclient) \ + $(use_with smbsharemodes libsmbsharemodes) \ + $(use_with addns libaddns) \ + $(use_with cluster ctdb /usr) \ + $(use_with cluster cluster-support) \ + $(use_with acl acl-support) \ + $(use_with aio aio-support) \ + --with-sendfile-support \ + $(use_with winbind) \ + --with-shared-modules=${SHAREDMODS} \ + --without-included-popt \ + --without-included-iniparser +} + +src_compile() { + # compile libs + if use addns ; then + einfo "make addns library" + emake libaddns + fi + if use netapi ; then + einfo "make netapi library" + emake libnetapi + fi + if use smbclient ; then + einfo "make smbclient library" + emake libsmbclient + fi + if use smbsharemodes ; then + einfo "make smbsharemodes library" + emake libsmbsharemodes + fi + + # compile modules + emake modules + + # compile pam moudles + if use pam ; then + einfo "make pam modules" + emake pam_modules + fi + + # compile winbind nss modules + if use winbind ; then + einfo "make nss modules" + emake nss_modules + fi + + # compile utilities + if [ -n "${BINPROGS}" ] ; then + einfo "make binprogs" + emake ${BINPROGS} + fi + if [ -n "${SBINPROGS}" ] ; then + einfo "make sbinprogs" + emake ${SBINPROGS} + fi + + if [ -n "${KRBPLUGIN}" ] ; then + einfo "make krbplugin" + emake ${KRBPLUGIN}${PLUGINEXT} + fi + +} + +src_install() { + # install libs + if use addns ; then + einfo "install addns library" + emake installlibaddns DESTDIR="${D}" + fi + if use netapi ; then + einfo "install netapi library" + emake installlibnetapi DESTDIR="${D}" + fi + if use smbclient ; then + einfo "install smbclient library" + emake installlibsmbclient DESTDIR="${D}" + fi + if use smbsharemodes ; then + einfo "install smbsharemodes library" + emake installlibsmbsharemodes DESTDIR="${D}" + fi + + # install modules + emake installmodules DESTDIR="${D}" + + if use pam ; then + einfo "install pam modules" + emake installpammodules DESTDIR="${D}" + + if use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + doman ../docs/manpages/pam_winbind.8 + fi + + newpamd "${CONFDIR}/samba.pam" samba + dodoc pam_smbpass/README + fi + + # Nsswitch extensions. Make link for wins and winbind resolvers + if use winbind ; then + einfo "install libwbclient" + emake installlibwbclient DESTDIR="${D}" + dolib.so ../nsswitch/libnss_wins.so + dosym libnss_wins.so /usr/$(get_libdir)/libnss_wins.so.2 + dolib.so ../nsswitch/libnss_winbind.so + dosym libnss_winbind.so /usr/$(get_libdir)/libnss_winbind.so.2 + einfo "install libwbclient related manpages" + doman ../docs/manpages/idmap_rid.8 + doman ../docs/manpages/idmap_hash.8 + if use ldap ; then + doman ../docs/manpages/idmap_adex.8 + doman ../docs/manpages/idmap_ldap.8 + fi + if use ads ; then + doman ../docs/manpages/idmap_ad.8 + fi + fi + + # install binaries + insinto /usr + for prog in ${SBINPROGS} ; do + dosbin ${prog} + doman ../docs/manpages/${prog/bin\/}* + done + + for prog in ${BINPROGS} ; do + dobin ${prog} + doman ../docs/manpages/${prog/bin\/}* + done + + # install krbplugin + if [ -n "${KRBPLUGIN}" ] ; then + if has_version app-crypt/mit-krb5 ; then + insinto /usr/$(get_libdir)/krb5/plugins/libkrb5 + doins ${KRBPLUGIN}${PLUGINEXT} + elif has_version app-crypt/heimdal ; then + insinto /usr/$(get_libdir)/plugin/krb5 + doins ${KRBPLUGIN}${PLUGINEXT} + fi + insinto /usr + for prog in ${KRBPLUGIN} ; do + doman ../docs/manpages/${prog/bin\/}* + done + fi + + # install server components + if use server ; then + doman ../docs/manpages/vfs* ../docs/manpages/samba.7 + + diropts -m0700 + keepdir /var/lib/samba/private + + diropts -m1777 + keepdir /var/spool/samba + + diropts -m0755 + keepdir /var/{cache,log}/samba + keepdir /var/lib/samba/{netlogon,profiles} + keepdir /var/lib/samba/printers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC,X64,IA64,COLOR} + keepdir /usr/$(get_libdir)/samba/{auth,pdb,rpc,idmap,nss_info,gpext} + + newconfd "${CONFDIR}/samba.confd" samba + newinitd "${CONFDIR}/samba.initd" samba + + insinto /etc/samba + doins "${CONFDIR}"/{smbusers,lmhosts} + + if use ldap ; then + insinto /etc/openldap/schema + doins ../examples/LDAP/samba.schema + fi + + if use swat ; then + insinto /etc/xinetd.d + newins "${CONFDIR}/swat.xinetd" swat + script/installswat.sh "${D}" "${ROOT}/usr/share/doc/${PF}/swat" "${S}" + fi + + dodoc ../MAINTAINERS.txt ../README* ../Roadmap ../WHATSNEW.txt ../docs/THANKS + fi + + # install the spooler to cups + if use cups ; then + dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb + fi + + # install misc files + insinto /etc/samba + doins ../examples/smb.conf.default + doman ../docs/manpages/smb.conf.5 + + insinto /usr/"$(get_libdir)"/samba + doins ../codepages/{valid.dat,upcase.dat,lowcase.dat} + + # install docs + if use doc ; then + dohtml -r ../docs/htmldocs/* + dodoc ../docs/*.pdf + fi + + # install examples + if use examples ; then + insinto /usr/share/doc/${PF}/examples + + if use smbclient ; then + doins -r ../examples/libsmbclient + fi + + if use winbind ; then + doins -r ../examples/pam_winbind ../examples/nss + fi + + if use server ; then + cd ../examples + doins -r auth autofs dce-dfs LDAP logon misc pdb \ + perfcounter printer-accounting printing scripts tridge \ + validchars VFS + fi + fi + + # Remove empty installation directories + rmdir --ignore-fail-on-non-empty \ + "${D}/usr/$(get_libdir)/samba" \ + "${D}/usr"/{sbin,bin} \ + "${D}/usr/share"/{man,locale,} \ + "${D}/var"/{run,lib/samba/private,lib/samba,lib,cache/samba,cache,} \ + # || die "tried to remove non-empty dirs, this seems like a bug in the ebuild" +} + +pkg_postinst() { + elog "The default value of 'wide links' has been changed to 'no' in samba 3.5" + elog "to avoid an insecure default configuration" + elog "('wide links = yes' and 'unix extensions = yes'). For more details," + elog "please see http://www.samba.org/samba/news/symlink_attack.html ." + elog "" + elog "An EXPERIMENTAL implementation of the SMB2 protocol has been added." + elog "SMB2 can be enabled by setting 'max protocol = smb2'. SMB2 is a new " + elog "implementation of the SMB protocol used by Windows Vista and higher" + elog "" + elog "For further information make sure to read the release notes at" + elog "http://samba.org/samba/history/${P}.html and " + elog "http://samba.org/samba/history/${PN}-3.5.0.html" +} |