Name: samba Version: 4.23.3 Release: 4%{?dist} Summary: Server and client for SMB/CIFS and Active Directory License: GPL-3.0-or-later AND LGPL-3.0-or-later URL: https://www.samba.org Source0: %{name}-%{version}.tar.gz # ==== Build feature toggles =============================================== %bcond_without ad_dc %bcond_without cups %bcond_without pam %bcond_without snapper %bcond_with check # ==== Core BuildRequires ================================================== BuildRequires: gcc gcc-c++ make BuildRequires: python3 python3-devel BuildRequires: pkgconf pkgconf-m4 pkgconf-pkg-config BuildRequires: redhat-rpm-config BuildRequires: zlib-devel BuildRequires: gnutls-devel >= 3.4.7 BuildRequires: libtasn1-devel BuildRequires: popt-devel BuildRequires: readline-devel BuildRequires: jansson-devel BuildRequires: libarchive-devel BuildRequires: avahi-devel BuildRequires: dbus-devel BuildRequires: ncurses-devel BuildRequires: flex BuildRequires: bison BuildRequires: docbook-style-xsl BuildRequires: libacl-devel BuildRequires: libattr-devel BuildRequires: glib2-devel # Python bindings BuildRequires: python3-talloc BuildRequires: python3-tdb BuildRequires: python3-tevent BuildRequires: python3-ldb # Libs C obrigatórias BuildRequires: libtalloc BuildRequires: libtalloc-devel BuildRequires: libtevent BuildRequires: libtevent-devel %if %{with ad_dc} BuildRequires: krb5-devel BuildRequires: krb5-server BuildRequires: krb5-workstation %endif %if %{with cups} BuildRequires: cups-devel %endif %if %{with pam} BuildRequires: pam-devel %endif BuildRequires: gpgme-devel BuildRequires: libbsd-devel BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: libxslt BuildRequires: keyutils-libs-devel BuildRequires: libunwind-devel BuildRequires: libuuid-devel BuildRequires: libpcap-devel BuildRequires: lmdb-devel BuildRequires: python3-markdown # ==== Selftests =========================================================== %if %{with check} BuildRequires: python3-iso8601 python3-cryptography python3-pyasn1 %endif # ==== Runtime ============================================================= Requires: gnutls Requires: zlib Requires: popt Requires: readline Requires: libarchive Requires: avahi-libs Requires: dbus-libs Requires: jansson Requires: pam Requires: openldap Requires: libbsd Requires: lmdb Requires: libldb >= 2.11.0 Requires: python3-ldb >= 2.11.0 Requires: libtalloc Requires: libtevent %description Samba provides SMB/CIFS file and print services and can act as an Active Directory domain controller. # ===================================================================== # PREP # ===================================================================== %prep %autosetup -n %{name}-%{version} # ===================================================================== # BUILD # ===================================================================== %build ./configure \ --prefix=/usr \ --exec-prefix=/usr \ --libdir=%{_libdir} \ --sbindir=%{_sbindir} \ --sysconfdir=%{_sysconfdir} \ --mandir=/usr/share/man \ --enable-fhs \ --bundled-libraries=cmocka make # ===================================================================== # INSTALL # ===================================================================== %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} # Remover libs LDB privadas que conflitam rm -f %{buildroot}%{_libdir}/samba/libldb-key-value-private-samba.so || true rm -f %{buildroot}%{_libdir}/samba/libldb-mdb-int-private-samba.so || true rm -f %{buildroot}%{_libdir}/samba/libldb-tdb-err-map-private-samba.so || true rm -f %{buildroot}%{_libdir}/samba/libldb-tdb-int-private-samba.so || true # Não remover os módulos .so de ldb! # rm -f %{buildroot}%{_libdir}/samba/ldb/*.so (NUNCA) # Remover manpage duplicada talloc rm -f %{buildroot}%{_mandir}/man3/talloc.3* || true # Manifest find %{buildroot} -mindepth 1 \( -type f -o -type l -o -type d \) \ | sed "s|^%{buildroot}||" \ | grep -vE '^/$|^%{_sbindir}$|^/usr$|^/usr/bin$|^/usr/lib$|^/usr/lib64$' \ | grep -vE '^%{_libdir}/samba/' \ | grep -vE '^/usr/lib/debug/|^/usr/lib/.build-id/|^%{_mandir}/' \ | sort -u > %{_builddir}/filelist.manifest # ===================================================================== # POST # ===================================================================== %post if [ ! -f %{_sysconfdir}/smb.conf ]; then cat > %{_sysconfdir}/smb.conf <<'EOF' [global] workgroup = TESTE realm = TESTE.NET netbios name = SERVER server string = Domain Controller TESTE.NET - Samba %v server role = active directory domain controller disable netbios = yes smb ports = 445 dns proxy = no log file = /var/log/samba/log.%m max log size = 10000 log level = 3 use sendfile = yes aio read size = 1024 aio write size = 1024 EOF fi # ===================================================================== # CHECK # ===================================================================== %check %if %{with check} true %endif # ===================================================================== # SUBPACOTE private-libs # ===================================================================== %package private-libs Summary: Private Samba libraries Requires: %{name} = %{version}-%{release} Requires: libldb Requires: libtalloc Requires: libtevent %description private-libs Private Samba libraries and internal modules used only by Samba internals. %files private-libs %{_libdir}/samba/ # ===================================================================== # FILES # ===================================================================== %files -f %{_builddir}/filelist.manifest %license COPYING %doc README* %dir %{_sysconfdir} %config(noreplace) %ghost %{_sysconfdir}/smb.conf # ===================================================================== # CHANGELOG # ===================================================================== %changelog * Tue Nov 18 2025 Guilherme Suzin - 4.23.3-4 - Corrigido caminho duplicado de /etc/samba/samba - Ajustado sysconfdir para evitar conflito e manter apenas /etc/samba - Ajustados %post e %files para refletir caminho final correto