diff options
Diffstat (limited to 'main/samba/APKBUILD')
-rw-r--r-- | main/samba/APKBUILD | 220 |
1 files changed, 119 insertions, 101 deletions
diff --git a/main/samba/APKBUILD b/main/samba/APKBUILD index 52e1d05bdf2..f3fede60785 100644 --- a/main/samba/APKBUILD +++ b/main/samba/APKBUILD @@ -1,17 +1,20 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=samba -pkgver=4.15.3 +pkgver=4.19.5 pkgrel=1 pkgdesc="Tools to access a server's filespace and printers via SMB" url="https://www.samba.org/" arch="all" -license="GPL-3.0-or-later LGPL-3.0-or-later" +license="GPL-3.0-or-later AND LGPL-3.0-or-later" +options="!check" # fixme: missing dependencies for '--enable-selftest' subpackages=" - $pkgname-dev $pkgname-doc $pkgname-server-openrc + $pkgname-dev + $pkgname-doc + $pkgname-server-openrc libwbclient $pkgname-util-libs:_util_libs - $pkgname-common::noarch + $pkgname-common:_common:noarch $pkgname-common-tools:_common_tools $pkgname-common-server-libs:_common_server_libs libsmbclient @@ -33,6 +36,7 @@ subpackages=" py3-$pkgname:_py3 $pkgname-test:_test $pkgname-libs-py3:_libs_py3 + libauth-$pkgname:_libauth $pkgname-libs " @@ -51,7 +55,6 @@ makedepends=" dbus-dev docbook-xsl e2fsprogs-dev - fuse-dev gnutls-dev iniparser-dev jansson-dev @@ -65,8 +68,10 @@ makedepends=" ncurses-dev openldap-dev perl + perl-json perl-parse-yapp popt-dev + py3-ldb py3-tdb py3-tevent python3-dev @@ -78,19 +83,17 @@ makedepends=" zlib-dev $_dc_deps " - -# vfs_btrfs patch from https://bugzilla.samba.org/show_bug.cgi?id=14790 source=" https://download.samba.org/pub/samba/stable/samba-$pkgver.tar.gz + netgroup.patch getpwent_r.patch musl_uintptr.patch - netdb-defines.patch - netapp.patch missing-headers.patch musl_rm_unistd_incl.patch add_missing___compar_fn_t.patch pidl.patch samba-bgqd-include-signal-h.patch + default-config.patch $pkgname.initd $pkgname.confd @@ -99,6 +102,31 @@ source=" pkggroups="winbind" # secfixes: +# 4.18.9-r0: +# - CVE-2018-14628 +# 4.18.8-r0: +# - CVE-2023-3961 +# - CVE-2023-4091 +# - CVE-2023-4154 +# - CVE-2023-42669 +# - CVE-2023-42670 +# 4.18.1-r0: +# - CVE-2023-0225 +# 4.17.0-r0: +# - CVE-2022-1615 +# - CVE-2022-32743 +# 4.16.7-r0: +# - CVE-2022-42898 +# 4.16.6-r0: +# - CVE-2022-3437 +# - CVE-2022-3592 +# 4.15.9-r0: +# - CVE-2022-2031 +# - CVE-2021-3670 +# - CVE-2022-32744 +# - CVE-2022-32745 +# - CVE-2022-32746 +# - CVE-2022-32742 # 4.15.2-r0: # - CVE-2016-2124 # - CVE-2020-25717 @@ -177,6 +205,8 @@ build() { local _pdb_modules=pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4 local _auth_modules=auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4 + # pclose, .. + export CFLAGS="$CFLAGS -O2 -D_BSD_SOURCE -flto=auto" ./configure \ --prefix=/usr \ --sysconfdir=/etc/$pkgname \ @@ -195,8 +225,13 @@ build() { --without-gettext \ --bundled-libraries=NONE,ntdb,roken,wind,hx509,asn1,heimbase,hcrypto,krb5,gssapi,heimntlm,hdb,kdc,cmocka \ --disable-rpath-install \ - --without-gpgme - make -j"$(nproc)" + --without-gpgme \ + --disable-fault-handling + make +} + +check() { + make check } package() { @@ -216,24 +251,10 @@ package() { install -Dm644 "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname" } -_mv_files() { - local i - for i in "$@"; do - case $i in - */*) mkdir -p "$subpkgdir"/${i%/*};; - *) mkdir -p "$subpkgdir";; - esac - mv "$pkgdir"/$i "$subpkgdir"/$i - done -} - -common() { +_common() { pkgdesc="Samba common files for both client an servers" depends= - cd "$pkgdir" - _mv_files \ - etc \ - var + amove etc var install -d -m700 "$subpkgdir"/var/lib/$pkgname/private } @@ -241,8 +262,7 @@ common() { _libs_py3() { pkgdesc="Libraries that require libpython" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/lib/$pkgname/libsamba-net*samba4.so \ usr/lib/$pkgname/libsamba-python*samba4.so return 0 @@ -252,11 +272,11 @@ _libs_py3() { _common_tools() { pkgdesc="Tools for Samba servers and clients" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/bin/net \ usr/bin/pdbedit \ usr/bin/profiles \ + usr/bin/samba-log-parser \ usr/bin/smbcontrol \ usr/bin/smbpasswd \ usr/bin/testparm \ @@ -268,12 +288,11 @@ _common_tools() { _common_server_libs() { pkgdesc="Samba libraries shared by common-tools and servers" # not shared with clients depends="" - cd "$pkgdir" - _mv_files \ + amove \ usr/lib/libdcerpc-server-core.so.* \ usr/lib/libnetapi.so.* \ + usr/lib/$pkgname/libRPC-SERVER-LOOP-samba4.so \ usr/lib/$pkgname/libdfs-server-ad-samba4.so \ - usr/lib/$pkgname/libnpa-tstream-samba4.so \ usr/lib/$pkgname/libprinting-migrate-samba4.so \ usr/lib/$pkgname/libsmbd-base-samba4.so \ usr/lib/$pkgname/libsmbldaphelper-samba4.so \ @@ -283,8 +302,7 @@ _common_server_libs() { libsmbclient() { pkgdesc="The SMB client library" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/lib/libsmbclient.so.* } @@ -292,11 +310,13 @@ libsmbclient() { _client_libs() { pkgdesc="Samba libraries used by clients" depends= - cd "$pkgdir" - _mv_files \ + amove \ + usr/lib/$pkgname/libad-claims-samba4.so \ + usr/lib/$pkgname/libauthn-policy-util-samba4.so \ usr/lib/$pkgname/libcli-ldap-samba4.so \ usr/lib/$pkgname/libcmdline-contexts-samba4.so \ usr/lib/$pkgname/libdsdb-garbage-collect-tombstones-samba4.so \ + usr/lib/$pkgname/libdsdb-module-samba4.so \ usr/lib/$pkgname/libgpo-samba4.so \ usr/lib/$pkgname/libhttp-samba4.so \ usr/lib/$pkgname/libmscat-samba4.so \ @@ -311,7 +331,7 @@ client() { pkgdesc="Samba client programs" depends="$pkgname-common=$pkgver-r$pkgrel" cd "$pkgdir" - _mv_files \ + amove \ usr/bin/cifsdd \ usr/bin/dumpmscat \ usr/bin/dbwrap_tool \ @@ -341,8 +361,7 @@ client() { _server_libs() { pkgdesc="Samba libraries shared by server and windbind" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/lib/$pkgname/libdcerpc-samba4.so \ usr/lib/$pkgname/libidmap-samba4.so \ usr/lib/$pkgname/libnss-info-samba4.so @@ -354,8 +373,7 @@ winbind() { depends="$pkgname-common=$pkgver-r$pkgrel" install="winbind.pre-install winbind.pre-upgrade winbind.post-install winbind.post-upgrade" - cd "$pkgdir" - _mv_files \ + amove \ usr/sbin/winbindd \ usr/lib/$pkgname/idmap \ usr/lib/$pkgname/nss_info @@ -367,8 +385,7 @@ winbind() { _util_libs() { pkgdesc="Samba utility libraries" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/lib/libsamba-util.so.* \ usr/lib/$pkgname/libgenrand-samba4.so \ usr/lib/$pkgname/libsocket-blocking-samba4.so \ @@ -376,25 +393,22 @@ _util_libs() { usr/lib/$pkgname/libtime-basic-samba4.so \ usr/lib/$pkgname/libsys-rw-samba4.so \ usr/lib/$pkgname/libiov-buf-samba4.so \ + usr/lib/$pkgname/libcom-err-samba4.so \ usr/lib/$pkgname/libreplace-samba4.so \ - usr/lib/$pkgname/libcom_err-samba4.so.* + usr/lib/$pkgname/libstable-sort-samba4.so } # should only depend on samba-util-libs libwbclient() { pkgdesc="Samba winbind client libraries" depends= - cd "$pkgdir" - _mv_files \ - usr/lib/libwbclient.so.* \ - usr/lib/$pkgname/libwinbind-client-samba4.so + amove usr/lib/libwbclient.so.* } _winbind_clients() { pkgdesc="Samba winbind client tools" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/bin/ntlm_auth \ usr/bin/wbinfo } @@ -402,8 +416,7 @@ _winbind_clients() { _libnss_winbind() { pkgdesc="Samba winbind NSS plugin" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/lib/libnss_winbind.so* \ usr/lib/libnss_wins.so* } @@ -411,17 +424,17 @@ _libnss_winbind() { _winbind_krb5_locator() { pkgdesc="Samba winbind krb5 locator" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/lib/samba/krb5 } _pam_winbind() { pkgdesc="PAM module for winbind" depends= - cd "$pkgdir" - _mv_files \ - usr/lib/security + + mkdir -p "$subpkgdir"/lib/security + mv "$pkgdir"/usr/lib/security/* "$subpkgdir"/lib/security/ + rmdir -p "$pkgdir"/usr/lib/security || true } dc() { @@ -431,8 +444,7 @@ dc() { $pkgname-winbind=$pkgver-r$pkgrel py3-$pkgname=$pkgver-r$pkgrel $_dc_deps" - cd "$pkgdir" - _mv_files \ + amove \ usr/bin/samba-tool \ usr/sbin/samba* \ usr/share/$pkgname \ @@ -445,8 +457,7 @@ dc() { _dc_libs() { pkgdesc="Samba AD Domain Controller libraries" - cd "$pkgdir" - _mv_files \ + amove \ usr/lib/libdcerpc-samr.so.* \ usr/lib/libdcerpc-server.so.* \ usr/lib/libsamba-policy.* \ @@ -455,12 +466,11 @@ _dc_libs() { usr/lib/$pkgname/libLIBWBCLIENT-OLD-samba4.so \ usr/lib/$pkgname/libauth-unix-token-samba4.so \ usr/lib/$pkgname/libauth4-samba4.so \ - usr/lib/$pkgname/libcluster-samba4.so \ usr/lib/$pkgname/libdb-glue-samba4.so \ usr/lib/$pkgname/libdnsserver-common-samba4.so \ - usr/lib/$pkgname/libdsdb-module-samba4.so \ - usr/lib/$pkgname/libhdb-samba4.so.* \ - usr/lib/$pkgname/libkdc-samba4.so.* \ + usr/lib/$pkgname/libgss-preauth-samba4.so \ + usr/lib/$pkgname/libhdb-samba4.so* \ + usr/lib/$pkgname/libkdc-samba4.so* \ usr/lib/$pkgname/libpac-samba4.so \ usr/lib/$pkgname/libposix-eadb-samba4.so \ usr/lib/$pkgname/libprocess-model-samba4.so \ @@ -474,25 +484,26 @@ _dc_libs() { server() { pkgdesc="Samba server" depends="$pkgname-common=$pkgver-r$pkgrel" - cd "$pkgdir" - _mv_files \ + amove \ usr/sbin/nmbd \ usr/sbin/smbd \ usr/sbin/eventlogadm \ usr/bin/smbstatus \ \ usr/lib/$pkgname/auth \ + usr/lib/$pkgname/libREG-FULL-samba4.so \ + usr/lib/$pkgname/libRPC-WORKER-samba4.so \ usr/lib/$pkgname/libxattr-tdb-samba4.so \ - usr/lib/$pkgname/vfs \ - usr/lib/$pkgname/samba-bgqd + usr/lib/$pkgname/rpcd_* \ + usr/lib/$pkgname/samba-bgqd \ + usr/lib/$pkgname/samba-dcerpcd \ + usr/lib/$pkgname/vfs } - pidl() { pkgdesc="Perl IDL compiler" depends="perl" - cd "$pkgdir" - _mv_files \ + amove \ usr/bin/pidl \ usr/share/perl* } @@ -507,8 +518,7 @@ _py3() { _test() { pkgdesc="Samba server and client testing tools" depends= - cd "$pkgdir" - _mv_files \ + amove \ usr/bin/gentest \ usr/bin/locktest \ usr/bin/masktest \ @@ -518,31 +528,37 @@ _test() { usr/lib/$pkgname/libtorture-samba4.so } +# avoid samba-libs and libsmbclient depending on pam +_libauth() { + pkgdesc="Samba auth library shared by common-tools, server and clients" + depends= + + amove usr/lib/$pkgname/libauth-samba4.so +} + # should only depend on samba-util-libs and libwbclient libs() { pkgdesc="Samba core libraries shared by common-tools, server and clients" depends= - cd "$pkgdir" # heimdal libs - _mv_files \ - usr/lib/$pkgname/libasn1-samba4.so.* \ - usr/lib/$pkgname/libgssapi-samba4.so.* \ - usr/lib/$pkgname/libhcrypto-samba4.so.* \ - usr/lib/$pkgname/libheimbase-samba4.so.* \ - usr/lib/$pkgname/libheimntlm-samba4.so.* \ - usr/lib/$pkgname/libhx509-samba4.so.* \ - usr/lib/$pkgname/libkrb5-samba4.so.* \ - usr/lib/$pkgname/libroken-samba4.so.* \ - usr/lib/$pkgname/libwind-samba4.so.* - - _mv_files \ + amove \ + usr/lib/$pkgname/libasn1-samba4.so* \ + usr/lib/$pkgname/libgssapi-samba4.so* \ + usr/lib/$pkgname/libhcrypto-samba4.so* \ + usr/lib/$pkgname/libheimbase-samba4.so* \ + usr/lib/$pkgname/libheimntlm-samba4.so* \ + usr/lib/$pkgname/libhx509-samba4.so* \ + usr/lib/$pkgname/libkrb5-samba4.so* \ + usr/lib/$pkgname/libroken-samba4.so* \ + usr/lib/$pkgname/libwind-samba4.so* + + amove \ usr/lib/$pkgname/libCHARSET3-samba4.so \ usr/lib/$pkgname/libMESSAGING-SEND-samba4.so \ usr/lib/$pkgname/libMESSAGING-samba4.so \ usr/lib/$pkgname/libaddns-samba4.so \ usr/lib/$pkgname/libads-samba4.so \ usr/lib/$pkgname/libasn1util-samba4.so \ - usr/lib/$pkgname/libauth-samba4.so \ usr/lib/$pkgname/libauthkrb5-samba4.so \ usr/lib/$pkgname/libcli-cldap-samba4.so \ usr/lib/$pkgname/libcli-ldap-common-samba4.so \ @@ -551,6 +567,7 @@ libs() { usr/lib/$pkgname/libcli-spoolss-samba4.so \ usr/lib/$pkgname/libcliauth-samba4.so \ usr/lib/$pkgname/libclidns-samba4.so \ + usr/lib/$pkgname/libcluster-samba4.so \ usr/lib/$pkgname/libcmdline-samba4.so \ usr/lib/$pkgname/libcmocka-samba4.so \ usr/lib/$pkgname/libcommon-auth-samba4.so \ @@ -573,6 +590,7 @@ libs() { usr/lib/$pkgname/libmsrpc3-samba4.so \ usr/lib/$pkgname/libndr-samba-samba4.so \ usr/lib/$pkgname/libndr-samba4.so \ + usr/lib/$pkgname/libnpa-tstream-samba4.so \ usr/lib/$pkgname/libsamba-cluster-support-samba4.so \ usr/lib/$pkgname/libsamba-modules-samba4.so \ usr/lib/$pkgname/libsamba-security-samba4.so \ @@ -606,26 +624,26 @@ libs() { usr/lib/libtevent-util.so.* # exit with error if some stuff stayed at main pack - rmdir "$pkgdir"/usr/lib/$pkgname \ - "$pkgdir"/usr/share \ - "$pkgdir"/usr/sbin \ - "$pkgdir"/usr/bin \ - "$pkgdir"/usr/lib \ - "$pkgdir"/usr + local leftovers="$(find "$pkgdir" -type f)" + if [ -n "$leftovers" ]; then + error "files left in main package:" + echo "$leftovers" >&2 + return 1 + fi } sha512sums=" -1c30cfa6cd927f4d822dd7227b89542d05d7ab4e50c2d9717eea4fcf1af5120b55d66ec628acd5c887e9bffc732c1d37ab084db953534a2b3987531b10fef63c samba-4.15.3.tar.gz +5b0934f2e44a28ffc4aa07e5495b339cf3a7548c49e29d1bae87de6c3a6f57c2a9130592dce782895079f559ed3bc8b5e4514c9c0fd8d5638aef68f0d0a3391f samba-4.19.5.tar.gz +f997d0bca9de64a567bccc245bec41e4aa00bacb379d8e348678dcafcf7e723e8716608c5d2d266ad816439b8b93bb8ee28371308a01c9d9c50229f1fc8deb67 netgroup.patch 58de5e79fdfd06e828d478e112d581d333a8bee88d2602b92204d780f0d707b27dd84f8e2e6b00fca40da81c8fe99aa5bcec70d8b393d3a0a83199c72a4aa48b getpwent_r.patch b7906d66fe55a980a54161ee3f311b51bcbce76b8d4c8cc1ba6d0c5bdf98232cb192b9d2c1aa7b3e2742f5b9848c6cf429347940eefe66c3e0eda1d5aac1bf93 musl_uintptr.patch -1854577d0e4457e27da367a6c7ec0fb5cfd63cefea0a39181c9d6e78cf8d3eb50878cdddeea3daeec955d00263151c2f86ea754ff4276ef98bc52c0276d9ffe8 netdb-defines.patch -3b4759dfcf6ec54f2131390c9eb7fd7dd23071e304905cdeaf7a9828fa888cb3dcb5c5bb6a07a634c51d0392ac47f6e22b937faf4354e3b07cfc0de7fdfa28e9 netapp.patch -c0afe8b1dfddc5290c9aa611163d20adc3a546f54bba0081f739cda4255829f1a72bae422b6cb049aca82e58d4daf63ad5553f4c5c51671019bfbbc2781460f0 missing-headers.patch +9642e0de5a39ab940e0f53040ae20fccdbde471bed9bcca713482f26e7c88451e405bd63d719d0548975c7c4c045b51b0006672d34ec4390c3b5a618ea6c8d85 missing-headers.patch 9bf4bbc8b03d9ea17d2f8ffeaf3a83541b171936a90bb8d75b08cc5afbdbaaec545c1b3782c90ae2ffc4568ab4e6f15fb21899d80c654a796301e16429c93b65 musl_rm_unistd_incl.patch bc2df70e327fea5dfbd923600225f1448815d842c37d6937dd74eab7f7699d7f52cd7a8e28a61233974649cf86661a0107dce5019d33b71205e4b41bac73f4e2 add_missing___compar_fn_t.patch c0bbe1186b150a9bb2a0b741a8cfbd7a5109e5fed1eaa07aaa38cf026ebe054d38cc01e2496f0cab7b40f743e1b7ecfbf8a4d5820810226c4152021df65f36dc pidl.patch e98fd19f65d954f04f7e3b5be86e9c4bcc9ac090c40037de77bfeb266617747c514aeb42f3daf84113b2f3374480d25e368bc1fdebc1870458eda12329d2062e samba-bgqd-include-signal-h.patch -96070e2461370437f48571e7de550c13a332fef869480cfe92e7cac73a998f6c2ee85d2580df58211953bebd0e577691aa710c8edddf3ea0f30e9d47d0a2fd44 samba.initd +14666954aec4a0bc7a6730ba3a9afdbd4e27c083a038d9a1f5a033e4f0a42bc8408906612ea51f74bf743ff8a225242e54b0a518367fe526b110639bfbfdd071 default-config.patch +e4ce11b699c5841d0aa83e0e912bb86cff1d8726308e7b75548e0fcc349518d3fefb68b902bf75404643494d610e491b080cfc2a4e4d82385c5d9b6657434771 samba.initd e2b49cb394e758447ca97de155a61b4276499983a0a5c00b44ae621c5559b759a766f8d1c8d3ee98ad5560f4064a847a7a20cfa2e14f85c061bec8b80fd649eb samba.confd 3458a4e1f8a8b44c966afb339b2dca51615be049f594c14911fc4d8203623deee416b6fe881436e246fc7d49c97a2b3bf9c5f33ba774302b24190a1103d6b67d samba.logrotate " |