为什么 openSUSE Leap 15.2 的 Packman FFMPEG 没有编译进 smbclient 支持?

因为要访问我的 NAS,我需要 FFMPEG 和 libsmbclient 支持。以前用 Tumbleweed,没有任何问题。
切换到 Leap 15.2 之后发现 Packman 上面无论是 15.2 还是 15.3 的 FFMPEG 都没有编译进 libsmblient 支持:

15.2,FFMPEG4:https://pmbs.links2linux.de/package/view_file/Essentials/A_15.2-ffmpeg-4/ffmpeg-4.spec
15.3, ffmpeg4:https://pmbs.links2linux.de/package/view_file/Essentials/A_15.3-ffmpeg-4/ffmpeg-4.spec

而 Tumbleweed 的 ffmpeg 编译进了 libsmbclient 支持:

Fri Mar 31 00:41:22 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
    - Add Samba support for Factory (as this needs a fix in Samba itself)

根据这个追踪到了你之前在 mailing list 上的发言和这个 commit

看了一下 15.2 的 samba 是 4.11,也存在同样的 timespec 问题。同时 15.2 的 ffmpeg-4 是一年前的提交,也没启用 smbclient。

我想就是没修,你应该提个 bug report 提醒一下。

@marguerite
研究了一下,这个问题需要同时 fix mariadb,samba 和 FFMPEG-4,我发了邮件问,但是没有任何回应。
总之先打包了一个旧版本的 mpv:Show home:nuklly / mpv - openSUSE Build Service 。这个版本是可以跑 samba 的(没有用 FFMPEG 的 samba 功能,而是 mpv 自带)。

又看了一下,发现 openSUSE_Leap_15.3 里面 mariadb 是来自 SUSE:SLE-15-SP2:Update,samba 是来自 SUSE:SLE-15-SP3:GA,ffmpeg-4 是来自 openSUSE:Backports:SLE-15-SP3 ,我不确定往里面提交我修好的包会不会被通过

先向 Leap15.2 update 里面提交。

mariadb 可以先 maintenance request 提交 updates,然后在从 updates 提交到 15.3。

ffmpeg-4 直接从 factory 提交 backports 就行。

麻烦的是 samba,你可能要报 bug report 给 SUSE Linux Enterprise 端的维护者,他从那边搞。因为 SLE:GA 社区是没权限改的。

查了一下 15.3 的 samba 是没问题的(没有 timespec 问题),我只处理 mariadb 和 ffmpeg-4 就好了。
另外这个问题是有 bug report 的:https://bugzilla.opensuse.org/show_bug.cgi?id=1173726 但是好像没什么人关注。

samba 4.11 我看了他的源码,好像也有 struct timespec btime_ts 的吧?

我觉得你可以试试发邮件给 Ismail, 问问他那几个包在 SUSE Linux Enterprise 的维护者都是谁。直接邮件沟通就好了,因为 SUSE Linux Enterprise 的 Bugzilla 社区也是无法访问的…不一定每个 SUSE 员工都在 openSUSE 社区…

好的,我已经发邮件了。您指出的 samba 4.11 问题存在,不过是在 Leap 15.2 里面的。我现在是想修一下 15.3,15.2 我觉得用旧版本的 mpv 凑合一下也能用了。

@marguerite
我发邮件问了 Ismail,他说 SUSE Linux Enterprise 没有 merge Tumbleweed 上面的 update 可能有自己的原因(他不清楚),他已经发邮件问了,所以 revert 到旧版本的 mpv 可能是当下最好的办法,请求已经提交:Request 860142: Submit mpv - openSUSE Build ServiceRequest 860144: Incident mpv - openSUSE Build Service

但是我不太清楚为什么同样的请求会发两次……