GNU bug report logs -
#52976
Some tools in Samba fail to find modules, and a missing dependency
Previous Next
To reply to this bug, email your comments to 52976 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#52976
; Package
guix
.
(Mon, 03 Jan 2022 13:08:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Simon Streit <simon <at> netpanic.org>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Mon, 03 Jan 2022 13:08:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
While experimenting with Samba, I noticed that some tools, especially
samba-tools will not run, and crash:
--8<---------------cut here---------------start------------->8---
root <at> motor ~# samba-tool
Traceback (most recent call last):
File "/run/current-system/profile/bin/samba-tool", line 33, in <module>
from samba.netcmd.main import cmd_sambatool
File "/gnu/store/78baaab8085rd5xnfrpdkxdf07zkmin9-samba-mod-4.13.14/lib/python3.9/site-packages/samba/__init__.py", line 29, in <module>
import samba.param
ModuleNotFoundError: No module named 'talloc'
--8<---------------cut here---------------end--------------->8---
Doing more testing, other tools appear to not find the libraries they
need too. The combination is as folows:
- samba-tool, fails when tdb missing.
- samba-gpupdate Idem.
- samba_dnsupdate requires dnspython, but fails when talloc missing.
- samba_downgrade_db" fails when tdb missing.
- samba_kcc Idem.
- samba_spnupdate" Idem.
- samba_upgradedns" dns not found when talloc missing.
I prepared a small patch to wrap up the inputs appropriately. I hope it
is acceptable that they are all combined in one wrap procedure.
dnspython was added as a new input too.
Kind regards
Simon
[0001-gnu-samba-Use-PYTHONPATH.patch (text/x-patch, inline)]
From 201dc8e01fa4484e24b3e088ab6a4211e9839f33 Mon Sep 17 00:00:00 2001
From: Simon Streit <simon <at> netpanic.org>
Date: Mon, 3 Jan 2022 13:08:23 +0100
Subject: [PATCH] gnu: samba: Use PYTHONPATH.
* gnu/packages/samba.scm (samba): Use PYTHONPATH in 'wrap-program phase..
---
gnu/packages/samba.scm | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index bb5b402eee..33a39eb3be 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -235,7 +235,30 @@ (define-public samba
(lambda _
(substitute* "dynconfig/wscript"
(("bld\\.INSTALL_DIR.*") ""))
- #t)))
+ #t))
+ (add-after 'install 'wrap-program
+ ;; Some samba tools selectively fail to find talloc, tdb
+ ;; and dnspython.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (string-append (assoc-ref outputs "out")))
+ (talloc (string-append (assoc-ref inputs "talloc")
+ "/lib/python3.9/site-packages"))
+ (tdb (string-append (assoc-ref inputs "tdb")
+ "/lib/python3.9/site-packages"))
+ (python-dnspython (string-append
+ (assoc-ref inputs "python-dnspython")
+ "/lib/python3.9/site-packages")))
+ (for-each
+ (lambda (bin)
+ (wrap-program (string-append out bin)
+ `("PYTHONPATH" prefix (,talloc ,tdb ,python-dnspython))))
+ '("/bin/samba-tool"
+ "/sbin/samba-gpupdate"
+ "/sbin/samba_dnsupdate"
+ "/sbin/samba_downgrade_db"
+ "/sbin/samba_kcc"
+ "/sbin/samba_spnupdate"
+ "/sbin/samba_upgradedns"))))))
;; FIXME: The test suite seemingly hangs after failing to provision the
;; test environment.
#:tests? #f))
@@ -258,7 +281,8 @@ (define-public samba
python
popt
readline
- tdb))
+ tdb
+ python-dnspython))
(propagated-inputs
;; In Requires or Requires.private of pkg-config files.
(list ldb talloc tevent))
--
2.34.0
Information forwarded
to
bug-guix <at> gnu.org
:
bug#52976
; Package
guix
.
(Fri, 14 Jan 2022 03:37:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 52976 <at> debbugs.gnu.org (full text, mbox):
Hello Simon,
Simon Streit <simon <at> netpanic.org> writes:
> While experimenting with Samba, I noticed that some tools, especially
> samba-tools will not run, and crash:
>
> root <at> motor ~# samba-tool
> Traceback (most recent call last):
> File "/run/current-system/profile/bin/samba-tool", line 33, in <module>
> from samba.netcmd.main import cmd_sambatool
> File "/gnu/store/78baaab8085rd5xnfrpdkxdf07zkmin9-samba-mod-4.13.14/lib/python3.9/site-packages/samba/__init__.py", line 29, in <module>
> import samba.param
> ModuleNotFoundError: No module named 'talloc'
>
> Doing more testing, other tools appear to not find the libraries they
> need too. The combination is as folows:
> - samba-tool, fails when tdb missing.
> - samba-gpupdate Idem.
> - samba_dnsupdate requires dnspython, but fails when talloc missing.
> - samba_downgrade_db" fails when tdb missing.
> - samba_kcc Idem.
> - samba_spnupdate" Idem.
> - samba_upgradedns" dns not found when talloc missing.
>
> I prepared a small patch to wrap up the inputs appropriately. I hope it
> is acceptable that they are all combined in one wrap procedure.
Thanks for testing samba!
I've updated samba recently on the version-1.4.0 branch; but the problem
probably remains (I've only tested smbd and smbclient). It's now at
version 4.15.3 and I nedded to add the python-cryptogaphy,
python-dnspython, python-markdown and python-pyasn1 as native inputs.
Based on your findings it probably should be moved to an input.
>>From 201dc8e01fa4484e24b3e088ab6a4211e9839f33 Mon Sep 17 00:00:00 2001
> From: Simon Streit <simon <at> netpanic.org>
> Date: Mon, 3 Jan 2022 13:08:23 +0100
> Subject: [PATCH] gnu: samba: Use PYTHONPATH.
>
> * gnu/packages/samba.scm (samba): Use PYTHONPATH in 'wrap-program phase..
> ---
> gnu/packages/samba.scm | 28 ++++++++++++++++++++++++++--
> 1 file changed, 26 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
> index bb5b402eee..33a39eb3be 100644
> --- a/gnu/packages/samba.scm
> +++ b/gnu/packages/samba.scm
> @@ -235,7 +235,30 @@ (define-public samba
> (lambda _
> (substitute* "dynconfig/wscript"
> (("bld\\.INSTALL_DIR.*") ""))
> - #t)))
> + #t))
Trailing #t are no longer needed.
> + (add-after 'install 'wrap-program
> + ;; Some samba tools selectively fail to find talloc, tdb
> + ;; and dnspython.
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (let ((out (string-append (assoc-ref outputs "out")))
> + (talloc (string-append (assoc-ref inputs "talloc")
> + "/lib/python3.9/site-packages"))
> + (tdb (string-append (assoc-ref inputs "tdb")
> + "/lib/python3.9/site-packages"))
> + (python-dnspython (string-append
> + (assoc-ref inputs "python-dnspython")
> + "/lib/python3.9/site-packages")))
We shouldn't hard code Python versions in the paths as it'd be too prone
to break. You could probably make good use of the recently introduced
search-input-directory procedure here :-).
> + (for-each
> + (lambda (bin)
> + (wrap-program (string-append out bin)
> + `("PYTHONPATH" prefix (,talloc ,tdb ,python-dnspython))))
Make sure to run 'guix lint', it'll probably suggest to add minimal-bash
as an input because of the use of wrap-program.
> + '("/bin/samba-tool"
> + "/sbin/samba-gpupdate"
> + "/sbin/samba_dnsupdate"
> + "/sbin/samba_downgrade_db"
> + "/sbin/samba_kcc"
> + "/sbin/samba_spnupdate"
> + "/sbin/samba_upgradedns"))))))
> ;; FIXME: The test suite seemingly hangs after failing to provision the
> ;; test environment.
> #:tests? #f))
> @@ -258,7 +281,8 @@ (define-public samba
> python
> popt
> readline
> - tdb))
> + tdb
> + python-dnspython))
> (propagated-inputs
> ;; In Requires or Requires.private of pkg-config files.
> (list ldb talloc tevent))
Otherwise it LGTM. Could you try to rebase this patch on top of the
version-1.4.0 branch? Otherwise, wait a few days and it should be
merged into master.
Thank you!
Maxim
Information forwarded
to
bug-guix <at> gnu.org
:
bug#52976
; Package
guix
.
(Mon, 17 Jan 2022 13:11:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 52976 <at> debbugs.gnu.org (full text, mbox):
Hello Maxim,
thanks for having look at my patch.
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:
> We shouldn't hard code Python versions in the paths as it'd be too prone
> to break. You could probably make good use of the recently introduced
> search-input-directory procedure here :-).
I tried your suggestion, but unfortunately my attempt with modifying
the lines to as such:
--8<---------------cut here---------------start------------->8---
(talloc (string-append
(search-input-directory inputs
"/lib/python3.9/site-packages")))
(tdb (string-append
(search-input-directory inputs
"/lib/python3.9/site-packages")))
(python-dnspython (string-append
(search-input-directory inputs
"/lib/python3.9/site-packages")))
--8<---------------cut here---------------end--------------->8---
compiles to a package. But ‘samba-tools’ fails again.
It is not quite clear to me now why this method is better? Is hard
coding being avoid now? Should I avoid the ‘3.9’ in the search path?
Sorry that I have to ask for an explanation.
And while we are at it. I noticed that you have already replaced
heimdal with mit-krb5, which I had done personally already without
proposing it yet. Thanks for that.
Point is that I was trying to pull up an AD DC, which is why I run these
problems.
And then, can I ask you to add avahi to inputs? Since some time Samba
has disabled SMBv1, which means host discovery with NetBIOS doesn’t work
any more. Now it is best to have Avahi running alongside Samba hosts,
so that Samba can publish it’s service over multicast. No extra
configuration is needed for this.
This doesn’t help much for Windows hosts though. I’ve already packaged
wsdd [1], and have prepared a service, which I haven’t made public
either yet. I haven’t completed the documentation for info so far.
Should really finish it now.
I will open another issue for this later, and will not hijack this
thread for it.
Kind regards
Simon
[1] https://github.com/christgau/wsdd
Information forwarded
to
bug-guix <at> gnu.org
:
bug#52976
; Package
guix
.
(Mon, 17 Jan 2022 15:54:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 52976 <at> debbugs.gnu.org (full text, mbox):
Simon Streit <simon <at> netpanic.org> writes:
> compiles to a package. But ‘samba-tools’ fails again.
Just a quick follow up, samba-tools fails with ldb being missing:
--8<---------------cut here---------------start------------->8---
ModuleNotFoundError: No module named 'ldb'
--8<---------------cut here---------------end--------------->8---
I put ldb into inputs, and wrapped it as well. That didn't help.
Kind regards
Simon
This bug report was last modified 2 years and 317 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.