Samba 4.7.10 introduces stricter buildreq version checking (requires ldb <1.3.x for instance). Since we already moved to ldb 1.3.x with our Samba 4.7.x upgrade, and since the Samba 4.8.x series is now maturing, it makes more sense to switch to the 4.8.x series than to downgrade a stack which is already proven to work with our other applications.
No changes to the default Solus Samba configuration have been made, so the upgrade is expected to be seamless for users.
This issue tracks the stack upgrade status.
4.8.x feature highlights relevant to the default Solus Samba config:
- Time Machine Support with vfs_fruit
- Support for lower casing the MDNS Name
- * BUG 13606: wafsamba: Fix 'make -j<jobs>'. (Yay! \o/)
Build and configuration changes from 4.7.x:
- Disable the Active Directory Domain Controller functionality since Solus is a Personal Computing -- as opposed to Enterprise -- Client OS. In addition, the AD DC functionality was never tested to work on Solus. Has the additional benefit of removing the confusing 'samba.service' systemd service file (see T6659).
- Change permissions on /var/lib/samba/private from 0755 to 0700 (like fedora)
- No-op reorganization of build option order to improve readability
- Use upstream systemd units (disable unneded samba.service)
- Depends on updates to talloc, tevent, tdb and ldb. As far as I can tell these buildreq changes only add ABI symbols (no apparent symbol removals).
- 4.8.0 (new features)
- 4.8.1 (bug fixes)
- 4.8.2 (bug fixes)
- 4.8.3 (bug fixes)
- 4.8.4 (security fixes)
- 4.8.5 (bug fixes)
- 4.8.6 (bug fixes)
Samba rebuild stack:
* samba (4.8.5) | +-> tevent (0.9.37) -> talloc (2.1.14) | +-> tdb (1.3.16) | `-> ldb (1.3.6)
Rebuild stack captured in D3943 now.
Rebuilds needed (according to eopkg-deps):
$ eopkg-deps rev ldb Package: ldb Reverse Dependency Release samba 6 Total: 1 $ eopkg-deps rev tdb Package: tdb Reverse Dependency Release ldb 11 rhythmbox 11 samba 11 tdb-utils 0 Total: 4 $ eopkg-deps rev tevent Package: tevent Reverse Dependency Release ldb 8 samba 8 Total: 2 $ eopkg-deps rev talloc Package: talloc Reverse Dependency Release ldb 7 notmuch 7 samba 7 tevent 7 Total: 4 $ eopkg-deps rev samba Package: samba Reverse Dependency Release acccheck 0 gnome-control-center 41 gvfs 37 kio-extras 41 kodi 41 mpd 39 mpv 41 mpv-libs 41 nautilus-share 0 python-pysmbc 37 vlc 41 Total: 11
- Build Samba 4.8.6 against ldb-1.3.6, tdb-1.3.16 and tevent-0.9.37
- Build tevent-0.9.37 against talloc-2.1.14
- Run sudo testparm -v and check for anomalies
- sudo systemctl enable --now smb ; smbclient -N -L localhost<- check that the service runs and that it is possible to connect to the smb daemon
- Build against gvfs-1.36.2, reboot, and ensure that anonymous and authenticated user access works in Nautilus