From 566096c5702578c6365424ded7deeea18c9e8bf1 Mon Sep 17 00:00:00 2001 From: Torsten Kurbad Date: Wed, 29 Apr 2009 15:54:02 +0000 Subject: [PATCH] New samba ebuilds git-svn-id: svn+ssh://svnintern.kmrc.de/projects/gentoo/iwm-overlay@9278 cbe59ace-07ea-0310-918e-868702b5370d --- net-fs/samba/files/config-3.3/lmhosts | 2 - .../files/config-3.3/nsswitch.conf-winbind | 17 - .../samba/files/config-3.3/nsswitch.conf-wins | 17 - net-fs/samba/files/config-3.3/samba.pam | 8 - .../samba/files/config-3.3/smb.conf.example | 450 ------------------ net-fs/samba/files/config-3.3/smbusers | 4 - net-fs/samba/files/config-3.3/swat.xinetd | 17 - .../files/config-3.3/system-auth-winbind | 18 - net-fs/samba/samba-3.3.0.ebuild | 270 ----------- 9 files changed, 803 deletions(-) delete mode 100644 net-fs/samba/files/config-3.3/lmhosts delete mode 100644 net-fs/samba/files/config-3.3/nsswitch.conf-winbind delete mode 100644 net-fs/samba/files/config-3.3/nsswitch.conf-wins delete mode 100644 net-fs/samba/files/config-3.3/samba.pam delete mode 100644 net-fs/samba/files/config-3.3/smb.conf.example delete mode 100644 net-fs/samba/files/config-3.3/smbusers delete mode 100644 net-fs/samba/files/config-3.3/swat.xinetd delete mode 100644 net-fs/samba/files/config-3.3/system-auth-winbind delete mode 100644 net-fs/samba/samba-3.3.0.ebuild diff --git a/net-fs/samba/files/config-3.3/lmhosts b/net-fs/samba/files/config-3.3/lmhosts deleted file mode 100644 index d152fcc..0000000 --- a/net-fs/samba/files/config-3.3/lmhosts +++ /dev/null @@ -1,2 +0,0 @@ -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/config-3.2/lmhosts,v 1.1 2008/03/08 12:24:12 dev-zero Exp $ -127.0.0.1 localhost diff --git a/net-fs/samba/files/config-3.3/nsswitch.conf-winbind b/net-fs/samba/files/config-3.3/nsswitch.conf-winbind deleted file mode 100644 index 0c3af78..0000000 --- a/net-fs/samba/files/config-3.3/nsswitch.conf-winbind +++ /dev/null @@ -1,17 +0,0 @@ -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/config-3.2/nsswitch.conf-winbind,v 1.1 2008/03/08 12:24:12 dev-zero Exp $ -passwd: files winbind -group: files winbind - -hosts: files dns -networks: files dns - -services: db files -protocols: db files -rpc: db files -ethers: db files -netmasks: files -netgroup: files -bootparams: files - -automount: files -aliases: files diff --git a/net-fs/samba/files/config-3.3/nsswitch.conf-wins b/net-fs/samba/files/config-3.3/nsswitch.conf-wins deleted file mode 100644 index e8076de..0000000 --- a/net-fs/samba/files/config-3.3/nsswitch.conf-wins +++ /dev/null @@ -1,17 +0,0 @@ -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/config-3.2/nsswitch.conf-wins,v 1.1 2008/03/08 12:24:12 dev-zero Exp $ -passwd: files -group: files - -hosts: files dns wins -networks: files dns - -services: db files -protocols: db files -rpc: db files -ethers: db files -netmasks: files -netgroup: files -bootparams: files - -automount: files -aliases: files diff --git a/net-fs/samba/files/config-3.3/samba.pam b/net-fs/samba/files/config-3.3/samba.pam deleted file mode 100644 index 91beadd..0000000 --- a/net-fs/samba/files/config-3.3/samba.pam +++ /dev/null @@ -1,8 +0,0 @@ -#%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/config-3.3/smb.conf.example b/net-fs/samba/files/config-3.3/smb.conf.example deleted file mode 100644 index 913744c..0000000 --- a/net-fs/samba/files/config-3.3/smb.conf.example +++ /dev/null @@ -1,450 +0,0 @@ -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options (perhaps too -# many!) most of which are not shown in this example -# -# For a step to step guide on installing, configuring and using samba, -# read the Samba-HOWTO-Collection. This may be obtained from: -# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf -# -# Many working examples of smb.conf files can be found in the -# Samba-Guide which is generated daily and can be downloaded from: -# http://www.samba.org/samba/docs/Samba-Guide.pdf -# -# Any line which starts with a ; (semi-colon) or a # (hash) -# is a comment and is ignored. In this example we will use a # -# for commentry and a ; for parts of the config file that you -# may wish to enable -# -# NOTE: Whenever you modify this file you should run the command "testparm" -# to check that you have not made any basic syntactic errors. -# -#======================= Global Settings ===================================== -[global] - -# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH - workgroup = MYGROUP - -# server string is the equivalent of the NT Description field - server string = Samba Server - -# Security mode. Defines in which mode Samba will operate. Possible -# values are share, user, server, domain and ads. Most people will want -# user level security. See the Samba-HOWTO-Collection for details. - security = user - -# This option is important for security. It allows you to restrict -# connections to machines which are on your local network. The -# following example restricts access to two C class networks and -# the "loopback" interface. For more examples of the syntax see -# the smb.conf man page -; hosts allow = 192.168.1. 192.168.2. 127. - -# If you want to automatically load your printer list rather -# than setting them up individually then you'll need this - load printers = yes - -# you may wish to override the location of the printcap file -; printcap name = /etc/printcap - -# on SystemV system setting printcap name to lpstat should allow -# you to automatically obtain a printer list from the SystemV spool -# system -; printcap name = lpstat - -# It should not be necessary to specify the print system type unless -# it is non-standard. Currently supported print systems include: -# bsd, cups, sysv, plp, lprng, aix, hpux, qnx -; printing = cups - -# Uncomment this if you want a guest account, you must add this to /etc/passwd -# otherwise the user "nobody" is used -; guest account = pcguest - -# this tells Samba to use a separate log file for each machine -# that connects - log file = /usr/local/samba/var/log.%m - -# Put a capping on the size of the log files (in Kb). - max log size = 50 - -# Use password server option only with security = server -# The argument list may include: -# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name] -# or to auto-locate the domain controller/s -# password server = * -; password server = - -# Use the realm option only with security = ads -# Specifies the Active Directory realm the host is part of -; realm = MY_REALM - -# 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. -; passdb backend = tdbsam - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# 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 = /etc/samba/smb.conf.%m - -# Options for using winbind. Winbind allows you to do all account and -# authentication from a Windows or samba domain controller, creating -# accounts on the fly, and maintaining a mapping of Windows RIDs to unix uid's -# and gid's. idmap uid and idmap gid are the only required parameters. -# -# winbind separator is the character a user must use between their domain -# name and username, defaults to "\" -; winbind separator = + -# -# winbind use default domain allows you to have winbind return usernames -# in the form user instead of DOMAIN+user for the domain listed in the -# workgroup parameter. -; winbind use default domain = yes -# -# template homedir determines the home directory for winbind users, with -# %D expanding to their domain name and %U expanding to their username: -; template homedir = /home/%D/%U - -# When using winbind, you may want to have samba create home directories -# on the fly for authenticated users. Ensure that /etc/pam.d/samba is -# using 'service=system-auth-winbind' in pam_stack modules, and then -# enable obedience of pam restrictions below: -; obey pam restrictions = yes - -# -# template shell determines the shell users authenticated by winbind get -; template shell = /bin/bash - -# 5. Browser Control and Networking Options: -# Most people will find that this option gives better performance. -# See speed.txt and the manual pages for details - socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 - -# Configure Samba to use multiple interfaces -# If you have multiple network interfaces then you must list them -# here. See the man page for details. -; interfaces = 192.168.12.2/24 192.168.13.2/24 - -# Browser Control Options: -# set local master to no if you don't want Samba to become a master -# browser on your network. Otherwise the normal election rules apply -; local master = no - -# OS Level determines the precedence of this server in master browser -# elections. The default value should be reasonable -; os level = 33 - -# Domain Master specifies Samba to be the Domain Master Browser. This -# allows Samba to collate browse lists between subnets. Don't use this -# if you already have a Windows NT domain controller doing this job -; domain master = yes - -# Preferred Master causes Samba to force a local browser election on startup -# and gives it a slightly higher chance of winning the election -; preferred master = yes - -# Enable this if you want Samba to be a domain logon server for -# Windows95 workstations. -; domain logons = yes - -# if you enable domain logons then you may want a per-machine or -# per user logon script -# run a specific logon batch file per workstation (machine) -; logon script = %m.bat -# run a specific logon batch file per username -; logon script = %U.bat - -# Where to store roving profiles (only for Win95 and WinNT) -# %L substitutes for this servers netbios name, %U is username -# You must uncomment the [Profiles] share below -; logon path = \\%L\Profiles\%U - -# Where to store roaming profiles for Win9x. Be careful with this as it also -# impacts where Win2k finds it's /HOME share -; logon home = \\%L\%U\.profile - - -# The add user script is used by a domain member to add local user accounts -# that have been authenticated by the domain controller, or when adding -# users via the Windows NT Tools (ie User Manager for Domains). - -# Scripts for file (passwd, smbpasswd) backend: -; add user script = /usr/sbin/useradd -s /bin/false '%u' -; delete user script = /usr/sbin/userdel '%s' -; add user to group script = /usr/bin/gpasswd -a '%u' '%g' -; delete user from group script = /usr/bin/gpasswd -d '%u' '%g' -; set primary group script = /usr/sbin/usermod -g '%g' '%u' -; add group script = /usr/sbin/groupadd %g && getent group '%g'|awk -F: '{print $3}' -; delete group script = /usr/sbin/groupdel '%g' - -# Scripts for LDAP backend (assumes nss_ldap is in use on the domain controller. -# Needs IDEALX scripts, and configuration in smbldap_conf.pm. -# This assumes you've installed the IDEALX scripts into /usr/share/samba/scripts... -; add user script = /usr/share/samba/scripts/smbldap-useradd.pl '%u' -; delete user script = /usr/share/samba/scripts/smbldap-userdel.pl '%u' -; add user to group script = /usr/share/samba/scripts/smbldap-groupmod.pl -m '%u' '%g' -; delete user from group script = /usr/share/samba/scripts/smbldap-groupmod.pl -x '%u' '%g' -; set primary group script = /usr/share/samba/scripts/smbldap-usermod.pl -g '%g' '%u' -; add group script = /usr/share/samba/scripts/smbldap-groupadd.pl '%g' && /usr/share/samba/scripts/smbldap-groupshow.pl %g|awk '/^gidNumber:/ {print $2}' -; delete group script = /usr/share/samba/scripts/smbldap-userdel.pl '%g' - - -# The add machine script is use by a samba server configured as a domain -# controller to add local machine accounts when adding machines to the domain. -# The script must work from the command line when replacing the macros, -# or the operation will fail. Check that groups exist if forcing a group. -# Script for domain controller for adding machines: -; add machine script = /usr/sbin/useradd -d /dev/null -g machines -c 'Machine Account' -s /bin/false '%u' -# Script for domain controller with LDAP backend for adding machines (You need -# the IDEALX scripts, and to configure the smbldap_conf.pm first): -; add machine script = /usr/share/samba/scripts/smbldap-useradd.pl -w -d /dev/null -g machines -c 'Machine Account' -s /bin/false '%u' - -# Domain groups: -# Domain groups are now configured by using the 'net groupmap' tool - -# Samba Password Database configuration: -# Samba now has runtime-configurable password database backends. -# smbpasswd is for backwards compatibility only Default (not recommended), -# new installations should use tdbsam or ldap. -; passdb backend = smbpasswd -# TDB backend -; passdb backend = tdbsam -# LDAP with fallback to smbpasswd guest -# Enable SSL by using an ldaps url, or enable tls with 'ldap ssl' below. -; passdb backend = ldapsam:ldaps://ldap.mydomain.com -# Use the samba2 LDAP schema: -; passdb backend = ldapsam_compat:ldaps://ldap.mydomain.com - -# idmap uid account range: -# This is a range of unix user-id's that samba will map non-unix RIDs to, -# such as when using Winbind -; idmap uid = 10000-20000 -; idmap gid = 10000-20000 - -# LDAP configuration for Domain Controlling: -# The account (dn) that samba uses to access the LDAP server -# This account needs to have write access to the LDAP tree -# You will need to give samba the password for this dn, by -# running 'smbpasswd -w mypassword' -; ldap admin dn = cn=root,dc=mydomain,dc=com -; ldap ssl = start_tls -# start_tls should run on 389, but samba defaults incorrectly to 636 -; ldap port = 389 -; ldap suffix = dc=mydomain,dc=com -; ldap server = ldap.mydomain.com -# Seperate suffixes are available for machines, users, groups, and idmap, if -# ldap suffix appears first, it is appended to the specific suffix. -# Example for a unix-ish directory layout: -; ldap machine suffix = ou=Hosts -; ldap user suffix = ou=People -; ldap group suffix = ou=Group -; ldap idmap suffix = ou=Idmap -# Example for AD-ish layout: -; ldap machine suffix = cn=Computers -; ldap user suffix = cn=Users -; ldap group suffix = cn=Groups -; ldap idmap suffix = cn=Idmap - - -# 7. Name Resolution Options: -# All NetBIOS names must be resolved to IP Addresses -# 'Name Resolve Order' allows the named resolution mechanism to be specified -# the default order is "host lmhosts wins bcast". "host" means use the unix -# system gethostbyname() function call that will use either /etc/hosts OR -# DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf -# and the /etc/resolv.conf file. "host" therefore is system configuration -# dependant. This parameter is most often of use to prevent DNS lookups -# in order to resolve NetBIOS names to IP Addresses. Use with care! -# The example below excludes use of name resolution for machines that are NOT -# on the local network segment -# - OR - are not deliberately to be known via lmhosts or via WINS. -; name resolve order = wins host lmhosts bcast - -# Windows Internet Name Serving Support Section: -# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server -; wins support = yes - -# WINS Server - Tells the NMBD components of Samba to be a WINS Client -# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both -; wins server = w.x.y.z - -# WINS Proxy - Tells Samba to answer name resolution queries on -# behalf of a non WINS capable client, for this to work there must be -# at least one WINS Server on the network. The default is NO. -; wins proxy = yes - -# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names -# via DNS nslookups. The default is NO. - dns proxy = no - -# 8. File Naming Options: -# Case Preservation can be handy - system default is _no_ -# NOTE: These can be set on a per share basis -; preserve case = no -; short preserve case = no -# Default case is normally upper case for all DOS files -; default case = lower -# Be very careful with case sensitivity - it can break things! -; case sensitive = no - -# Enabling internationalization: -# you can match a Windows code page with a UNIX character set. -# Windows: 437 (US), 737 (GREEK), 850 (Latin1 - Western European), -# 852 (Czech), 861 (???), 932 (Japanese), -# 936 (Simplified Chin.), 949 (Korean Hangul), -# 950 (Trad. Chin.). -# More detail about code page is in -# "http://www.microsoft.com/globaldev/reference/oslocversion.mspx" -# UNIX: ISO8859-1 (Western European), ISO8859-2 (Eastern Eu.), -# ISO8859-5 (Russian Cyrillic), KOI8-R (Alt-Russ. Cyril.) -# This is an example for french users: -; dos charset = 850 -; unix charset = ISO8859-1 - - -#============================ Share Definitions ============================== -[homes] - comment = Home Directories - browseable = no - writable = yes -# You can enable VFS recycle bin on a per share basis: -# Uncomment the next 2 lines (make sure you create a -# .recycle folder in the base of the share and ensure -# all users will have write access to it. See -# examples/VFS/recycle/REAME in the samba docs for details -; vfs object = /usr/lib/samba/vfs/recycle.so - -# Un-comment the following and create the netlogon directory for Domain Logons -; [netlogon] -; comment = Network Logon Service -; path = /var/lib/samba/netlogon -; guest ok = yes -; writable = no -; share modes = no - - -# Un-comment the following to provide a specific roving profile share -# the default is to use the user's home directory -;[Profiles] -; path = /var/lib/samba/profiles -; browseable = no -; guest ok = yes -# This script can be enabled to create profile directories on the fly -# You may want to turn off guest acces if you enable this, as it -# hasn't been thoroughly tested. -;root preexec = PROFILE=/var/lib/samba/profiles/%u; if [ ! -e $PROFILE ]; \ -; then mkdir -pm700 $PROFILE; chown %u:%g $PROFILE;fi - -# NOTE: If you have a CUPS print system there is no need to -# specifically define each individual printer. -# You must configure the samba printers with the appropriate Windows -# drivers on your Windows clients. On the Samba server no filtering is -# done. If you wish that the server provides the driver and the clients -# send PostScript ("Generic PostScript Printer" under Windows), you have -# to swap the 'print command' line below with the commented one. -[printers] - comment = All Printers - path = /var/spool/samba - browseable = no -# Set public = yes to allow user 'guest account' to print - guest ok = no - writable = no - printable = yes - -# This share is used for Windows NT-style point-and-print support. -# To be able to install drivers, you need to be either root, or listed -# in the printer admin parameter above. Note that you also need write access -# to the directory and share definition to be able to upload the drivers. -# For more information on this, please see the Printing Support Section of -# /usr/share/doc/samba-/Samba-HOWTO-Collection.pdf -[print$] - path = /var/lib/samba/printers - browseable = yes - read only = yes - write list = @adm root - guest ok = yes - -# This one is useful for people to share files -;[tmp] -; comment = Temporary file space -; path = /tmp -; read only = no -; public = yes - -# A publicly accessible directory, but read only, except for people in -# the "staff" group -;[public] -; comment = Public Stuff -; path = /home/samba -; public = yes -; writable = yes -; printable = no -; write list = @staff -# Audited directory through experimental VFS audit.so module: -# Uncomment next line. -; vfs object = /usr/lib/samba/vfs/audit.so - -# Other examples. -# -# A private printer, usable only by fred. Spool data will be placed in fred's -# home directory. Note that fred must have write access to the spool directory, -# wherever it is. -;[fredsprn] -; comment = Fred's Printer -; valid users = fred -; path = /homes/fred -; printer = freds_printer -; public = no -; writable = no -; printable = yes - -# A private directory, usable only by fred. Note that fred requires write -# access to the directory. -;[fredsdir] -; comment = Fred's Service -; path = /usr/somewhere/private -; valid users = fred -; public = no -; writable = yes -; printable = no - -# a service which has a different directory for each machine that connects -# this allows you to tailor configurations to incoming machines. You could -# also use the %U option to tailor it by user name. -# The %m gets replaced with the machine name that is connecting. -;[pchome] -; comment = PC Directories -; path = /usr/pc/%m -; public = no -; writable = yes - -# A publicly accessible directory, read/write to all users. Note that all files -# created in the directory by users will be owned by the default user, so -# any user with access can delete any other user's files. Obviously this -# directory must be writable by the default user. Another user could of course -# be specified, in which case all files would be owned by that user instead. -;[public] -; path = /usr/somewhere/else/public -; public = yes -; only guest = yes -; writable = yes -; printable = no - -# The following two entries demonstrate how to share a directory so that two -# users can place files there that will be owned by the specific users. In this -# setup, the directory should be writable by both users and should have the -# sticky bit set on it to prevent abuse. Obviously this could be extended to -# as many users as required. -;[myshare] -; comment = Mary's and Fred's stuff -; path = /usr/somewhere/shared -; valid users = mary fred -; public = no -; writable = yes -; printable = no -; create mask = 0765 - diff --git a/net-fs/samba/files/config-3.3/smbusers b/net-fs/samba/files/config-3.3/smbusers deleted file mode 100644 index 86fba47..0000000 --- a/net-fs/samba/files/config-3.3/smbusers +++ /dev/null @@ -1,4 +0,0 @@ -# Unix_name = SMB_name1 SMB_name2 ... -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/config-3.2/smbusers,v 1.1 2008/03/08 12:24:12 dev-zero Exp $ -root = administrator admin -nobody = guest pcguest smbguest diff --git a/net-fs/samba/files/config-3.3/swat.xinetd b/net-fs/samba/files/config-3.3/swat.xinetd deleted file mode 100644 index 3e0dfe8..0000000 --- a/net-fs/samba/files/config-3.3/swat.xinetd +++ /dev/null @@ -1,17 +0,0 @@ -# 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/config-3.2/swat.xinetd,v 1.1 2008/03/08 12:24:12 dev-zero 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/config-3.3/system-auth-winbind b/net-fs/samba/files/config-3.3/system-auth-winbind deleted file mode 100644 index 65eda48..0000000 --- a/net-fs/samba/files/config-3.3/system-auth-winbind +++ /dev/null @@ -1,18 +0,0 @@ -#%PAM-1.0 -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/config-3.2/system-auth-winbind,v 1.1 2008/03/08 12:24:12 dev-zero 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.3.0.ebuild b/net-fs/samba/samba-3.3.0.ebuild deleted file mode 100644 index a922fb1..0000000 --- a/net-fs/samba/samba-3.3.0.ebuild +++ /dev/null @@ -1,270 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.2.0_rc2.ebuild,v 1.1 2008/06/12 12:10:25 dev-zero Exp $ - -inherit eutils pam multilib versionator confutils - -MY_P=${PN}-${PV/_/} - -DESCRIPTION="A suite of SMB and CIFS client/server programs for UNIX" -HOMEPAGE="http://www.samba.org/" -SRC_URI="mirror://samba/${MY_P}.tar.gz" -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE_LINGUAS="linguas_ja linguas_pl" -IUSE="${IUSE_LINGUAS} acl ads async automount caps cups doc examples ipv6 kernel_linux ldap fam - pam quotas readline selinux swat syslog winbind" - -RDEPEND="dev-libs/popt - dev-libs/iniparser - virtual/libiconv - acl? ( kernel_linux? ( sys-apps/acl ) ) - cups? ( net-print/cups ) - ipv6? ( sys-apps/xinetd ) - ads? ( virtual/krb5 sys-fs/e2fsprogs ) - ldap? ( net-nds/openldap ) - pam? ( virtual/pam ) - readline? ( sys-libs/readline ) - selinux? ( sec-policy/selinux-samba ) - swat? ( sys-apps/xinetd ) - syslog? ( virtual/logger ) - fam? ( virtual/fam ) - caps? ( sys-libs/libcap )" -DEPEND="${RDEPEND}" - -S="${WORKDIR}/${MY_P}" -CONFDIR="${FILESDIR}/config-3.3" -PRIVATE_DST=/var/lib/samba/private - -# Tests are currently broken due to hardcoded paths (due to --with-fhs) -# The problem is that --without-fhs lets samba use lockdir (which can be changed in smb.conf) -# which is wrong as well. -RESTRICT="test" - -pkg_setup() { - confutils_use_depend_all ads ldap -} - -src_unpack() { - unpack ${A} - cd "${S}/source" - - # Ok, agreed, this is ugly. But it avoids a patch we - # need for every samba version and we don't need autotools - sed -i \ - -e 's|"lib32" ||' \ - -e 's|if test -d "$i/$l" ;|if test -d "$i/$l" -o -L "$i/$l";|' \ - configure || die "sed failed" - - rm "${S}/docs/manpages"/{mount,umount}.cifs.8 - - sed -i \ - -e 's|tdbsam|tdbsam:${PRIVATEDIR}/passdb.tdb|' \ - "${S}/source/script/tests/selftest.sh" || die "sed failed" -} - -src_compile() { - cd "${S}/source" - - local myconf - local mylangs - local mymod_shared - - mylangs="--with-manpages-langs=en" - use linguas_ja && mylangs="${mylangs},ja" - use linguas_pl && mylangs="${mylangs},pl" - - use winbind && mymod_shared="--with-shared-modules=idmap_rid" - if use ldap ; then - myconf="${myconf} $(use_with ads)" - use winbind && mymod_shared="${mymod_shared},idmap_ad" - fi - - [[ ${CHOST} == *-*bsd* ]] && myconf="${myconf} --disable-pie" - use hppa && myconf="${myconf} --disable-pie" - - use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no - - # Otherwise we get the whole swat stuff installed - if ! use swat ; then - sed -i \ - -e 's/^\(install:.*\)installswat \(.*\)/\1\2/' \ - Makefile.in || die "sed failed" - fi - - econf \ - --with-fhs \ - --sysconfdir=/etc/samba \ - --localstatedir=/var \ - --with-configdir=/etc/samba \ - --with-libdir=/usr/$(get_libdir)/samba \ - --with-pammodulesdir=$(getpam_mod_dir) \ - --with-swatdir=/usr/share/doc/${PF}/swat \ - --with-piddir=/var/run/samba \ - --with-lockdir=/var/cache/samba \ - --with-logfilebase=/var/log/samba \ - --with-privatedir=${PRIVATE_DST} \ - --with-libsmbclient \ - --without-spinlocks \ - --enable-socket-wrapper \ - --enable-nss-wrapper \ - --with-cifsmount=no \ - $(use_with acl acl-support) \ - $(use_with async aio-support) \ - $(use_with automount) \ - $(use_enable cups) \ - $(use_enable fam) \ - $(use_with ads krb5) \ - $(use_with ads dnsupdate) \ - $(use_with ldap) \ - $(use_with pam) $(use_with pam pam_smbpass) \ - $(use_with quotas) $(use_with quotas sys-quotas) \ - $(use_with readline) \ - $(use_with syslog) \ - $(use_with winbind) \ - ${myconf} ${mylangs} ${mymod_shared} || die "econf failed" - - emake proto || die "emake proto failed" - emake everything || die "emake everything failed" - -} - -src_test() { - cd "${S}/source" - emake test || die "tests failed" -} - -src_install() { - cd "${S}/source" - - emake DESTDIR="${D}" install-everything || die "emake install-everything failed" - - # Extra rpctorture progs - local extra_bins="rpctorture" - for i in ${extra_bins} ; do - [[ -x "${S}/bin/${i}" ]] && dobin "${S}/bin/${i}" - done - - # remove .old stuff from /usr/bin: - rm -f "${D}"/usr/bin/*.old - - # Removing executable bits from header-files - fperms 644 /usr/include/libsmbclient.h - - # Nsswitch extensions. Make link for wins and winbind resolvers - if use winbind ; then - 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 - fi - - # make the smb backend symlink for cups printing support (bug #133133) - if use cups ; then - dodir $(cups-config --serverbin)/backend - dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb - fi - - cd "${S}/source" - - # General config files - insinto /etc/samba - doins "${CONFDIR}"/{smbusers,lmhosts} - newins "${CONFDIR}/smb.conf.example-samba3" smb.conf.example - - newpamd "${CONFDIR}/samba.pam" samba - use winbind && dopamd "${CONFDIR}/system-auth-winbind" - if use swat ; then - insinto /etc/xinetd.d - newins "${CONFDIR}/swat.xinetd" swat - else - rm -f "${D}/usr/sbin/swat" - rm -f "${D}/usr/share/man/man8/swat.8" - fi - - newinitd "${FILESDIR}/samba-init" samba - newconfd "${FILESDIR}/samba-conf" samba - - if use ldap ; then - insinto /etc/openldap/schema - doins "${S}/examples/LDAP/samba.schema" - fi - - if use ipv6 ; then - insinto /etc/xinetd.d - newins "${FILESDIR}/samba-xinetd" smb - fi - - # dirs - diropts -m0700 ; keepdir "${PRIVATE_DST}" - diropts -m1777 ; keepdir /var/spool/samba - - diropts -m0755 - keepdir /var/{log,run,cache}/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/{rpc,idmap,auth} - - # docs - dodoc "${FILESDIR}/README.gentoo" - dodoc "${S}"/{MAINTAINERS,README,Roadmap,WHATSNEW.txt} - dodoc "${CONFDIR}/nsswitch.conf-wins" - use winbind && dodoc "${CONFDIR}/nsswitch.conf-winbind" - - if use examples ; then - insinto /usr/share/doc/${PF} - doins -r "${S}/examples/" - find "${D}/usr/share/doc/${PF}" -type d -print0 | xargs -0 chmod 755 - find "${D}/usr/share/doc/${PF}/examples" ! -type d -print0 | xargs -0 chmod 644 - fi - - if ! use doc ; then - if ! use swat ; then - rm -rf "${D}/usr/share/doc/${PF}/swat" - else - rm -rf "${D}/usr/share/doc/${PF}/swat/help"/{guide,howto,devel} - rm -rf "${D}/usr/share/doc/${PF}/swat/using_samba" - fi - fi - -} - -pkg_preinst() { - local PRIVATE_SRC=/etc/samba/private - if [[ ! -r "${ROOT}/${PRIVATE_DST}/secrets.tdb" \ - && -r "${ROOT}/${PRIVATE_SRC}/secrets.tdb" ]] ; then - ebegin "Copying ${ROOT}/${PRIVATE_SRC}/* to ${ROOT}/${PRIVATE_DST}/" - mkdir -p "${D}/${PRIVATE_DST}" - cp -pPRf "${ROOT}/${PRIVATE_SRC}"/* "${D}/${PRIVATE_DST}/" - eend $? - fi - - if [[ ! -f "${ROOT}/etc/samba/smb.conf" ]] ; then - touch "${D}/etc/samba/smb.conf" - fi -} - -pkg_postinst() { - if use swat ; then - einfo "swat must be enabled by xinetd:" - einfo " change the /etc/xinetd.d/swat configuration" - fi - - if use ipv6 ; then - einfo "ipv6 support must be enabled by xinetd:" - einfo " change the /etc/xinetd.d/smb configuration" - fi - - elog "It is possible to start/stop daemons separately:" - elog " Create a symlink from /etc/init.d/samba.{smbd,nmbd,winbind} to" - elog " /etc/init.d/samba. Calling /etc/init.d/samba directly will start" - elog " the daemons configured in /etc/conf.d/samba" - - elog "The mount/umount.cifs helper applications are not included anymore." - elog "Please install net-fs/mount-cifs instead." - - ewarn "If you're upgrading from 3.0.24 or earlier, please make sure to" - ewarn "restart your clients to clear any cached information about the server." - ewarn "Otherwise they might not be able to connect to the volumes." -}