Created attachment 170846 [details] patch to modernize Samba dependencies Both net/samba-nmblookup and net/samba-smbclient are slave ports of net/samba36, which is vulnerable and has expired. Instead of net/samba36, use net/samba44 (or perhaps 42 or 43). Drop the SMBCLIENT option since net/samba44 ships with both the nmblookup and smbclient dependencies by default. Bump PORTREVISION because the option list changes.
BackupPC has issues with samba 4 client. It is possible to partially workaround them by patching BackupPC, but it is a regression anyway. I believe it would be better to stay with samba36 for now. Is there any chance to have net/samba-smbclient in the ports tree for some time?
(administrative note: the 'maintainer feedback' flag should be set negative I think, because you reject the change. Picking this PR to prevent further duplication). Samba 3.6 and its slave port net/samba-smbclient will stay for a while because there are around 300 ports that use the net/samba-libsmbclient slave port (directly or indirectly). Is there any chance that BackupPC will support Samba 4 ?
BackupPC relies on smbclient's verbose output that was substantially changed in Samba 4 and has some variations between 4xx versions (including minor). I don't think BackupPC will support Samba 4 soon. There is a Debian patch (merely workaround) for that issue. I think I should include it in the port (in case some users really need to use Samba 4 and BackupPC on the same host), but keep net/samba-smbclient and net/samba-nmblookup as optional dependencies for general BackupPC usage. What do you think?
Hmm, this sounds a bit like a dilemma: if Samba 3.6 is really unsupported by their developers then there is little sense to keep it in the Ports Tree in the long run, but on the other hand if supported applications still use it then it would be sad to break those. Basically this was just part of cleaning up the expired ports list at https://www.freshports.org/ports-expired.php
I've taken a look at Debian patch for the issue. IMHO it is a merely partial workaround. It requires to turn off empty backup detection $Conf{BackupZeroFilesIsFatal} for backup and turn on smbclient debug level 5 for restore. I wouldn't like to introduce such things in the port. To do it right way, I see no other option except patching Samba 4 smbclient to make it to output required information on lower debug levels.
Created attachment 171327 [details] Workaround for Samba 4 smbclient Add possibility to use Samba 4 smbclient (with limitations).
Just to be clear, you approve applying the patch so that devel/backuppc(-devel) work with Samba 4 and that consequently net/samba-smbclient (part of Samba 3.6) will be removed?
Nope, I merely provide workaround for users forced to use Samba4 on the same host with BackupPC. The patch makes backup and restore using Samba4 smbclient functional, but with some drawbacks. For other users I recommend to keep using net/samba-smbclient for now.
Fix "maintainer feedback" flag to indicate that the maintainer disapproves moving this port to Samba 4. Setting the "maintainer feedback" flag to + means "yes, go ahead"
Grr, turns out I cannot read. There is a "maintainer feedback" and a "maintainer approval" flag.
If you have no objections or ideas, would you commit my patch for now?
Sure, I'll commit it tonight. Does the patch also apply to sysutils/backuppc ?
Yes, but it is slightly different. Patch for sysutils/backuppc is attached to Bug 209874
A commit references this bug: Author: rene Date: Tue Jun 21 21:01:27 UTC 2016 New revision: 417289 URL: https://svnweb.freebsd.org/changeset/ports/417289 Log: sysutils/backuppc-devel: add a workaround for users of Samba 4. Using Samba 3.6 is still reccommended PR: 209875 Submitted by: myself, patch by maintainer Changes: head/sysutils/backuppc-devel/Makefile head/sysutils/backuppc-devel/files/patch-lib_BackupPC_Xfer_Smb.pm head/sysutils/backuppc-devel/files/patch-lib__BackupPC__CGI__View.pm head/sysutils/backuppc-devel/files/pkg-message.in