From 92b7d43c0094200676bf2bfe05025d392c437af1 Mon Sep 17 00:00:00 2001 From: "Gregory M. Tuner" Date: Wed, 22 Jan 2014 20:31:58 -0800 Subject: net-fs/samba:3: multilib-utize Signed-off-by: Gregory M. Tuner --- net-fs/samba/Manifest | 2 +- net-fs/samba/samba-3.6.22-r1.ebuild | 267 +++++++++++++++++++----------------- 2 files changed, 144 insertions(+), 125 deletions(-) (limited to 'net-fs') diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest index 5facc41..1fcefe9 100644 --- a/net-fs/samba/Manifest +++ b/net-fs/samba/Manifest @@ -36,7 +36,7 @@ AUX smbd.socket 121 SHA256 d62a239cba39ae03dbb7a291843b2c202973341c85d93ffc87b4e AUX smbd_at.service 145 SHA256 909dddfd80982035739081d86d2c524f6a25440d9c10b8a80626d9b4eee424cd SHA512 e6486c35dfa6f77ad46547a78fcae55fb71e4dad7dc7b4580c2b8c1be232c0a870f56714b2b103a1fd8717298f41347d7178fbebb90f0f2d0324fe5233f0f9f3 WHIRLPOOL f5ac03a1e7b653458d49fa2c2afe674e9d8f1e5a81e72a5e49781de3e5111bbe23eedc38c78a6f5e7edc4c32300ddaf76caf889de256fc799cf117edcd6ce6fb AUX winbindd.service 240 SHA256 755036bc419cce90200ac3c04986fbb7cf718c128c2a1288c634658bb779bf3a SHA512 f1ce6d035e8e0fcdc73f14e3b60c9647043777ff6b2a982a81ed07eb4df5ff245a9511e3e4a9d8163f9c8f3fb86d2a39a67621ace68392eb7c2f2e2a55d587f7 WHIRLPOOL eb4d7f30b4ce3341e3d24a6c05965bdce9ded78a7327b44d3d04d00837d6e8109857b1fb1b78c8325680588cf9abe94158755a962fb8f7e8dac04b336308c268 DIST samba-3.6.22.tar.gz 34122131 SHA256 30bdf20e7788785573196a33905e7e27083a32d749285c22958edce0721cdeea SHA512 13b7d4c7ee24434626cf7e835e302252a281f00dfff1b83fd3c28f8264c1ce7afa0aa6ad237c28015fd2a39a38954189a140b36c27d8b0434a48b46d56936981 WHIRLPOOL 0daaeee4a7c7c3807ceda6558041708cca6c28ad20051cfff5547477f2acab8b896a4168f44a85eb7722dec5d3772bbc59566e79e1876820057f1f3107962cb5 -EBUILD samba-3.6.22-r1.ebuild 12703 SHA256 394767c1efb5720308896f8ab9fa87b5a5f0b6c115c68cc70e9d83d4b558deed SHA512 4f216d763df0e504d3f86e859e0a70596155e9d46b20e586fe0fb58582aeaf74368b6860815ece06be63f8f2a96e894e5df9af59a57041516e9253c704240222 WHIRLPOOL d120c80ecf8c05c815c2f32cf8d7789575f5303263d8ad76c39e5656bc7acf92a7e5d366eef262fbbb375f2ef6d49f181ec27d05061122fecde14619b2ca9711 +EBUILD samba-3.6.22-r1.ebuild 13861 SHA256 162d4576a47b3f9a3e260ef073c2f626da45d2750ada70271935035cde44ef0a SHA512 a23775a58fa6e5a356d3bf87b8a62b8a6ec2eda0292b80d63a40f8b75db5a21663a1c295d6f9cef26872d6a3186f3937d55fccb52114003168c055472ad36ded WHIRLPOOL 053315d75122b2691e8fef8f53d445b064f6ce10b9f7650b10280cc88f2d68286f91247519b7675c7dcfe0c3fb75a84984e0348009b313bacd0ac3eb05419ebf MISC ChangeLog 762 SHA256 ad21f69061913894bcd8a6794e07655dac6bf687f02d43cde0896d6f664a1547 SHA512 e8e7b33243e976712a288d112f22b6266a9eaac1d66709fb13ac90661e5d7cf3e3bc553e570f6cb088ddbcc01318e86dce0c9d7fc5ac229af92721d87f2c3bce WHIRLPOOL 5b49559fbea6e44e00b13eb38a481e0a1aa17728dd5f86f026bd0f5ac09ac373a70ca295c8531a37f2be6503f24da794f1da3e7596d0818f2de177d6836c1dbf MISC ChangeLog-2013 106689 SHA256 00ac832a137c7ce1d21be794b45339e1f4e9c51eb1b796cbcac90a03e1cf5453 SHA512 9dc4e4e22042db7f5ff3a474eb7a454044ea6958ffc3ba5c5de6f09608cfbbcaed8db00763a38995276de03a5f1c728fc783d4addaca7da16f4be76a4e49fd6f WHIRLPOOL 85a746ae34c0386ecb151f5f323b92615cce971b1e46f249cccfdc682bdddd7dad080dd4ffbe5748f093ee11db3f5182cae6d85191a37014639a56040eff9644 MISC metadata.xml 1514 SHA256 c10deb71703017ec67f4e5bac297d9b4581fec3d8b5549b6aea2a43bda642bc0 SHA512 9e67e8f7e0c972046e32bf4539142559c24183d6c3469e5af2f901728a3c02a9fbfd50e948a9fd414107fd0cb2a8de709ffe3fc5bf3372c77a4a3db6dc622ecc WHIRLPOOL ec92ea6a1b03e70c791670e97e7d9e07e6bdb82c24ed08c186e786afcd009ab63fbee7d481a4cdc394632ad312e58a2048dae3ff333f6f7a1ad19add55e2c8f8 diff --git a/net-fs/samba/samba-3.6.22-r1.ebuild b/net-fs/samba/samba-3.6.22-r1.ebuild index 6996fd1..536dff0 100644 --- a/net-fs/samba/samba-3.6.22-r1.ebuild +++ b/net-fs/samba/samba-3.6.22-r1.ebuild @@ -4,7 +4,7 @@ EAPI=4 -inherit pam versionator multilib eutils flag-o-matic systemd +inherit pam-multilib versionator multilib eutils flag-o-matic systemd eutils-multilib multilib-minimal MY_PV=${PV/_/} MY_P="${PN}-${MY_PV}" @@ -14,50 +14,44 @@ HOMEPAGE="http://www.samba.org/" SRC_URI="mirror://samba/stable/${MY_P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux" +KEYWORDS="~amd64" IUSE="acl addns ads +aio avahi caps +client cluster cups debug dmapi doc examples fam ldap ldb +netapi pam quota +readline selinux +server +smbclient smbsharemodes swat syslog +winbind" -DEPEND="dev-libs/popt - >=sys-libs/talloc-2.0.5 - >=sys-libs/tdb-1.2.9 - >=sys-libs/tevent-0.9.18 - virtual/libiconv - ads? ( virtual/krb5 sys-fs/e2fsprogs - client? ( sys-apps/keyutils ) ) - avahi? ( net-dns/avahi[dbus] ) - caps? ( sys-libs/libcap ) +DEPEND="dev-libs/popt[${MULTILIB_USEDEP}] + >=sys-libs/talloc-2.0.5[${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.2.9[${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.9.18[${MULTILIB_USEDEP}] + virtual/libiconv[${MULTILIB_USEDEP}] + ads? ( virtual/krb5[${MULTILIB_USEDEP}] sys-fs/e2fsprogs[${MULTILIB_USEDEP}] + client? ( sys-apps/keyutils[${MULTILIB_USEDEP}] ) ) + avahi? ( net-dns/avahi[dbus,${MULTILIB_USEDEP}] ) + caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] ) client? ( !net-fs/mount-cifs - dev-libs/iniparser ) - cluster? ( >=dev-db/ctdb-1.13 ) - cups? ( net-print/cups ) - debug? ( dev-libs/dmalloc ) - dmapi? ( sys-apps/dmapi ) - fam? ( virtual/fam ) - ldap? ( net-nds/openldap ) - ldb? ( sys-libs/ldb ) - pam? ( virtual/pam - winbind? ( dev-libs/iniparser ) + dev-libs/iniparser[${MULTILIB_USEDEP}] ) + cluster? ( >=dev-db/ctdb-1.13[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups[${MULTILIB_USEDEP}] ) + debug? ( dev-libs/dmalloc[${MULTILIB_USEDEP}] ) + dmapi? ( sys-apps/dmapi[${MULTILIB_USEDEP}] ) + fam? ( virtual/fam[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) + ldb? ( sys-libs/ldb[${MULTILIB_USEDEP}] ) + pam? ( virtual/pam[${MULTILIB_USEDEP}] + winbind? ( dev-libs/iniparser[${MULTILIB_USEDEP}] ) ) - readline? ( >=sys-libs/readline-5.2 ) - selinux? ( sec-policy/selinux-samba ) + readline? ( >=sys-libs/readline-5.2[${MULTILIB_USEDEP}] ) + selinux? ( sec-policy/selinux-samba[${MULTILIB_USEDEP}] ) syslog? ( virtual/logger )" RDEPEND="${DEPEND} - kernel_linux? ( ads? ( net-fs/cifs-utils[ads] ) - client? ( net-fs/cifs-utils ) )" + kernel_linux? ( ads? ( net-fs/cifs-utils[ads,${MULTILIB_USEDEP}] ) + client? ( net-fs/cifs-utils[${MULTILIB_USEDEP}] ) )" # 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" +S="${WORKDIR}/${MY_P}" # TODO: # - enable iPrint on Prefix/OSX and Darwin? @@ -71,6 +65,8 @@ REQUIRED_USE=" swat? ( server ) " +MULTILIB_PARALLEL_PHASES="src_configure" + pkg_pretend() { if [[ ${MERGE_TYPE} != binary ]]; then if use winbind && @@ -85,38 +81,43 @@ pkg_pretend() { fi } -pkg_setup() { - if use server ; then +my_env_setup() { + SBINPROGS="" BINPROGS="" KRBPLUGIN="" PLUGINEXT=".so" SHAREDMODS="" + + if use server && multilib_build_binaries; 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 $(usex client "" "bin/smbclient")" use swat && SBINPROGS="${SBINPROGS} bin/swat" - use winbind && SBINPROGS="${SBINPROGS} bin/winbindd" - use ads && use winbind && KRBPLUGIN="${KRBPLUGIN} bin/winbind_krb5_locator" + use winbind && multilib_build_binaries && SBINPROGS="${SBINPROGS} bin/winbindd" + multilib_build_binaries && use ads && use winbind && KRBPLUGIN="${KRBPLUGIN} bin/winbind_krb5_locator" fi - if use client ; then + if multilib_build_binaries && 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" + multilib_build_binaries && 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" + multilib_build_binaries && \ + BINPROGS="${BINPROGS} bin/wbinfo" SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_hash" use ads && SHAREDMODS="${SHAREDMODS},idmap_ad" use cluster && SHAREDMODS="${SHAREDMODS},idmap_tdb2" use ldap && SHAREDMODS="${SHAREDMODS},idmap_ldap,idmap_adex" fi + cd source3 } src_prepare() { + cd source3 cp "${FILESDIR}/samba-3.4.2-lib.tevent.python.mk" "../lib/tevent/python.mk" # ensure that winbind has correct ldflags (QA notice) @@ -124,16 +125,19 @@ src_prepare() { -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ configure || die "sed failed" cd "${WORKDIR}/${MY_P}" && epatch "${CONFDIR}"/smb.conf.default.patch + multilib_copy_sources } -src_configure() { +multilib_src_configure() { + my_env_setup + local myconf # Filter out -fPIE [[ ${CHOST} == *-*bsd* ]] && myconf+=" --disable-pie" #Allowing alpha/s390/sh to build - if use alpha || use s390 || use sh ; then + if abi_arch_use alpha || abi_arch_use s390 || abi_arch_use sh ; then replace-flags -O? -O1 fi @@ -206,7 +210,8 @@ src_configure() { --without-included-iniparser } -src_compile() { +multilib_src_compile() { + my_env_setup # compile libs if use addns ; then einfo "make addns library" @@ -257,7 +262,8 @@ src_compile() { } -src_install() { +multilib_src_install() { + my_env_setup # pkgconfig files installation needed, bug #464818 local pkgconfigdir=/usr/$(get_libdir)/pkgconfig @@ -292,7 +298,7 @@ src_install() { einfo "install pam modules" emake installpammodules DESTDIR="${D}" - if use winbind ; then + if multilib_is_best_abi && use winbind; then newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind doman ../docs/manpages/pam_winbind.8 # bug #376853 @@ -300,8 +306,10 @@ src_install() { doins ../examples/pam_winbind/pam_winbind.conf || die fi - newpamd "${CONFDIR}/samba.pam" samba - dodoc pam_smbpass/README + if multilib_is_best_abi; then + newpamd "${CONFDIR}/samba.pam" samba + dodoc pam_smbpass/README + fi fi # Nsswitch extensions. Make link for wins and winbind resolvers @@ -314,36 +322,39 @@ src_install() { dosym libnss_winbind.so /usr/$(get_libdir)/libnss_winbind.so.2 insinto $pkgconfigdir doins pkgconfig/wbclient.pc - 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 + if multilib_is_best_abi; then + 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 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 scripts - if use client ; then - dobin script/findsmb - doman ../docs/manpages/findsmb.1 - fi + if multilib_build_binaries; then + 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 scripts + if use client ; then + dobin script/findsmb + doman ../docs/manpages/findsmb.1 + fi + fi # install krbplugin if [ -n "${KRBPLUGIN}" ] ; then if has_version app-crypt/mit-krb5 ; then @@ -354,86 +365,94 @@ src_install() { doins ${KRBPLUGIN}${PLUGINEXT} fi insinto /usr - for prog in ${KRBPLUGIN} ; do - doman ../docs/manpages/${prog/bin\/}* - done + if multilib_is_best_abi; then + for prog in ${KRBPLUGIN} ; do + doman ../docs/manpages/${prog/bin\/}* + done + fi fi # install server components - if use server ; then - doman ../docs/manpages/vfs* ../docs/manpages/samba.7 + if multilib_is_best_abi ; then + if use server ; then + doman ../docs/manpages/vfs* ../docs/manpages/samba.7 - diropts -m0700 - keepdir /var/lib/samba/private + diropts -m0700 + keepdir /var/lib/samba/private - diropts -m1777 - keepdir /var/spool/samba + 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} + 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 + newconfd "${CONFDIR}/samba.confd" samba + newinitd "${CONFDIR}/samba.initd" samba - insinto /etc/samba - doins "${CONFDIR}"/{smbusers,lmhosts} + insinto /etc/samba + doins "${CONFDIR}"/{smbusers,lmhosts} - if use ldap ; then - insinto /etc/openldap/schema - doins ../examples/LDAP/samba.schema - fi + 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 "${ED}" "${EROOT}/usr/share/doc/${PF}/swat" "${S}" - fi + if use swat ; then + insinto /etc/xinetd.d + newins "${CONFDIR}/swat.xinetd" swat + script/installswat.sh "${ED}" "${EROOT}/usr/share/doc/${PF}/swat" "${S}" + fi - dodoc ../MAINTAINERS.txt ../README* ../Roadmap ../WHATSNEW.txt ../docs/THANKS + dodoc ../MAINTAINERS.txt ../README* ../Roadmap ../WHATSNEW.txt ../docs/THANKS + fi fi # install the spooler to cups - if use cups ; then + if multilib_is_best_abi && 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 + if multilib_is_best_abi ; then + 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} + 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 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 + # install examples + if use examples ; then + insinto /usr/share/doc/${PF}/examples - if use smbclient ; then - doins -r ../examples/libsmbclient - fi + if use smbclient ; then + doins -r ../examples/libsmbclient + fi - if use winbind ; then - doins -r ../examples/pam_winbind ../examples/nss - 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 + 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 fi +} +multilib_src_install_all() { # Remove empty installation directories rmdir --ignore-fail-on-non-empty \ "${ED}/usr/$(get_libdir)/samba" \ -- cgit v1.2.3-65-gdbad