* bug#24834: Samba commands expect configuration file inside store
@ 2016-10-31 10:17 Adonay Felipe Nogueira
2016-11-03 13:38 ` Ludovic Courtès
2016-12-04 0:06 ` Adonay Felipe Nogueira
0 siblings, 2 replies; 8+ messages in thread
From: Adonay Felipe Nogueira @ 2016-10-31 10:17 UTC (permalink / raw)
To: 24834
[-- Attachment #1: Type: text/plain, Size: 544 bytes --]
# Begin of terminal interaction
$ strace ".guix-profile/sbin/samba/smbd"
stat64("/gnu/store/...-samba-4.5.0/etc/samba/smb.conf", 0xbfeb41b0) = -1
ENOENT (No such file or directory)
open("/gnu/store/...-samba-4.5.0/etc/samba/smb.conf", O_RDONLY|
O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2001, ...}) = 0
exit_group(1) = ?
+++ exited with 1 +++
# End of terminal interaction
Sorry for my brevity, I'll return to this issue at a later time.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 213 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24834: Samba commands expect configuration file inside store
2016-10-31 10:17 bug#24834: Samba commands expect configuration file inside store Adonay Felipe Nogueira
@ 2016-11-03 13:38 ` Ludovic Courtès
2016-11-18 9:50 ` Adonay Felipe Nogueira
2016-12-04 0:06 ` Adonay Felipe Nogueira
1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2016-11-03 13:38 UTC (permalink / raw)
To: Adonay Felipe Nogueira; +Cc: 24834
[-- Attachment #1: Type: text/plain, Size: 430 bytes --]
Adonay Felipe Nogueira <adfeno@openmailbox.org> skribis:
> # Begin of terminal interaction
> $ strace ".guix-profile/sbin/samba/smbd"
> stat64("/gnu/store/...-samba-4.5.0/etc/samba/smb.conf", 0xbfeb41b0) = -1
Presumably part of the solution is the attached patch, but very often
‘make install’ tries to mkdir $(sysconfdir), so a bit of additional work
may be needed.
Can you look into it?
Thanks,
Ludo’.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 586 bytes --]
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 1706ec3..447720c 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -121,6 +121,7 @@ anywhere.")
;; XXX: heimdal not packaged.
"--bundled-libraries=com_err"
(string-append "--prefix=" out)
+ "--sysconfdir=/etc"
;; Install public and private libraries into
;; a single directory to avoid RPATH issues.
(string-append "--libdir=" libdir)
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#24834: Samba commands expect configuration file inside store
2016-11-03 13:38 ` Ludovic Courtès
@ 2016-11-18 9:50 ` Adonay Felipe Nogueira
2016-11-23 10:44 ` Adonay Felipe Nogueira
2016-11-23 10:52 ` Adonay Felipe Nogueira
0 siblings, 2 replies; 8+ messages in thread
From: Adonay Felipe Nogueira @ 2016-11-18 9:50 UTC (permalink / raw)
To: 24834
Thank you for the suggestion!
I'll reinstall Samba from Guix here, and will test it.
I plan to do so this weekend.
Respectfully, Adonay.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24834: Samba commands expect configuration file inside store
2016-11-18 9:50 ` Adonay Felipe Nogueira
@ 2016-11-23 10:44 ` Adonay Felipe Nogueira
2016-11-23 22:16 ` Ludovic Courtès
2016-11-23 10:52 ` Adonay Felipe Nogueira
1 sibling, 1 reply; 8+ messages in thread
From: Adonay Felipe Nogueira @ 2016-11-23 10:44 UTC (permalink / raw)
To: 24834
[-- Attachment #1: Type: text/plain, Size: 394 bytes --]
Tested the patch today
It seems that, during the `install' phase, something tries to make
"/etc/samba" directory.
The log from the start of the error is attached.
I did `guix build samba` as normal user, and since I'm new to this
situation, I must ask: should I run it as root instead? Or should we
find a way to tell the `install' phase to not make such paths? Or, do
you have other ideas?
[-- Attachment #2: guix build samba.log --]
[-- Type: application/octet-stream, Size: 2240 bytes --]
Waf: Leaving directory `/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/bin'
'build' finished successfully (12m43.849s)
phase `build' succeeded after 764.2 seconds
starting phase `check'
test suite not run
phase `check' succeeded after 0.0 seconds
starting phase `install'
WAF_MAKE=1 python ./buildtools/bin/waf install
Waf: Entering directory `/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/bin'
* creating /etc/samba
/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/wscript: error: Traceback (most re
cent call last):
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/U
tils.py", line 669, in recurse
exec(compile(txt, file_path, 'exec'), dc)
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/wscript_build", line 47, i
n <module>
bld.RECURSE('dynconfig')
File "./buildtools/wafsamba/samba_utils.py", line 453, in RECURSE
return ctx.add_subdirs(relpath)
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Build.py", line 997, in add_subdirs
self.recurse(dirs, 'build')
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Utils.py", line 656, in recurse
f(self)
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/dynconfig/wscript", line 423, in build
bld.INSTALL_DIRS("", "${CONFIGDIR} ${PRIVATE_DIR} ${LOGFILEBASE}");
File "./buildtools/wafsamba/wafsamba.py", line 889, in INSTALL_DIRS
bld.install_dir(os.path.join(destdir, d))
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Build.py", line 844, in install_dir
Utils.check_dir(destpath)
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Utils.py", line 458, in check_dir
raise WafError("Cannot create the folder '%s' (error: %s)" % (path, e))
WafError: Cannot create the folder '/etc/samba' (error: [Errno 13] Permission denied: '/etc/samba')
make: *** [Makefile:11: install] Error 1
phase `install' failed after 0.5 seconds
builder for `/gnu/store/...-samba-4.5.1.drv' failed with exit code 1
@ build-failed /gnu/store/...-samba-4.5.1.drv - 1 builder for `/gnu/store/...-samba-4.5.1.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/...-samba-4.5.1.drv' failed
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24834: Samba commands expect configuration file inside store
2016-11-18 9:50 ` Adonay Felipe Nogueira
2016-11-23 10:44 ` Adonay Felipe Nogueira
@ 2016-11-23 10:52 ` Adonay Felipe Nogueira
1 sibling, 0 replies; 8+ messages in thread
From: Adonay Felipe Nogueira @ 2016-11-23 10:52 UTC (permalink / raw)
To: 24834
[-- Attachment #1: Type: text/plain, Size: 394 bytes --]
Tested the patch today
It seems that, during the `install' phase, something tries to make
"/etc/samba" directory.
The log from the start of the error is attached.
I did `guix build samba` as normal user, and since I'm new to this
situation, I must ask: should I run it as root instead? Or should we
find a way to tell the `install' phase to not make such paths? Or, do
you have other ideas?
[-- Attachment #2: guix build samba.log --]
[-- Type: application/octet-stream, Size: 2240 bytes --]
Waf: Leaving directory `/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/bin'
'build' finished successfully (12m43.849s)
phase `build' succeeded after 764.2 seconds
starting phase `check'
test suite not run
phase `check' succeeded after 0.0 seconds
starting phase `install'
WAF_MAKE=1 python ./buildtools/bin/waf install
Waf: Entering directory `/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/bin'
* creating /etc/samba
/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/wscript: error: Traceback (most re
cent call last):
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/U
tils.py", line 669, in recurse
exec(compile(txt, file_path, 'exec'), dc)
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/wscript_build", line 47, i
n <module>
bld.RECURSE('dynconfig')
File "./buildtools/wafsamba/samba_utils.py", line 453, in RECURSE
return ctx.add_subdirs(relpath)
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Build.py", line 997, in add_subdirs
self.recurse(dirs, 'build')
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Utils.py", line 656, in recurse
f(self)
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/dynconfig/wscript", line 423, in build
bld.INSTALL_DIRS("", "${CONFIGDIR} ${PRIVATE_DIR} ${LOGFILEBASE}");
File "./buildtools/wafsamba/wafsamba.py", line 889, in INSTALL_DIRS
bld.install_dir(os.path.join(destdir, d))
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Build.py", line 844, in install_dir
Utils.check_dir(destpath)
File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Utils.py", line 458, in check_dir
raise WafError("Cannot create the folder '%s' (error: %s)" % (path, e))
WafError: Cannot create the folder '/etc/samba' (error: [Errno 13] Permission denied: '/etc/samba')
make: *** [Makefile:11: install] Error 1
phase `install' failed after 0.5 seconds
builder for `/gnu/store/...-samba-4.5.1.drv' failed with exit code 1
@ build-failed /gnu/store/...-samba-4.5.1.drv - 1 builder for `/gnu/store/...-samba-4.5.1.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/...-samba-4.5.1.drv' failed
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24834: Samba commands expect configuration file inside store
2016-11-23 10:44 ` Adonay Felipe Nogueira
@ 2016-11-23 22:16 ` Ludovic Courtès
0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2016-11-23 22:16 UTC (permalink / raw)
To: Adonay Felipe Nogueira; +Cc: 24834
Hi,
Adonay Felipe Nogueira <adfeno@openmailbox.org> skribis:
> Tested the patch today
>
> It seems that, during the `install' phase, something tries to make
> "/etc/samba" directory.
[...]
> File "/tmp/guix-build-samba-4.5.1.drv-0/samba-4.5.1/third_party/waf/wafadmin/Utils.py", line 458, in check_dir
> raise WafError("Cannot create the folder '%s' (error: %s)" % (path, e))
> WafError: Cannot create the folder '/etc/samba' (error: [Errno 13] Permission denied: '/etc/samba')
>
> make: *** [Makefile:11: install] Error 1
> phase `install' failed after 0.5 seconds
That’s a common issue as I mentioned in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24834#8> (‘sysconfdir’
corresponds to /etc here.)
Do address it, we need to modify Samba’s build system to not attempt to
create /etc. Samba uses Waf, so we’d have to comment out the Waf bit
that leads to this attempt to create /etc. I’m not familiar with Waf so
I’d “grep -r” in the source. :-)
Could you look into it?
There are similar cases in gnu/packages/*.scm but the fix always depends
on the specifics of the build system being used, so nothing that really
helps here I’m afraid.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24834: Samba commands expect configuration file inside store
2016-10-31 10:17 bug#24834: Samba commands expect configuration file inside store Adonay Felipe Nogueira
2016-11-03 13:38 ` Ludovic Courtès
@ 2016-12-04 0:06 ` Adonay Felipe Nogueira
2016-12-07 23:29 ` Ludovic Courtès
1 sibling, 1 reply; 8+ messages in thread
From: Adonay Felipe Nogueira @ 2016-12-04 0:06 UTC (permalink / raw)
To: 24834
[-- Attachment #1: Type: text/plain, Size: 126 bytes --]
Here's a patch that tries to fix this issue. I already tested it, but
please do so also just in case.
Respectfully, Adonay.
[-- Attachment #2: guix.patch --]
[-- Type: text/x-diff, Size: 2188 bytes --]
From 086396d33e113a6d991b7c63063844c66a5610ca Mon Sep 17 00:00:00 2001
From: Adonay Felipe Nogueira <adfeno@openmailbox.org>
Date: Sat, 3 Dec 2016 21:22:56 -0200
Subject: [PATCH] gnu: samba: Don't expect configuration files inside the
store.
Attempts to fix <https://bugs.gnu.org/24834>.
* gnu/packages/samba.scm (samba) [arguments]:
* Set `--sysconfdir` to "/etc".
* Avoid creation of "/etc/samba" (otherwise would require root).
---
gnu/packages/samba.scm | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 1706ec3..6a27a63 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -121,11 +122,17 @@ anywhere.")
;; XXX: heimdal not packaged.
"--bundled-libraries=com_err"
(string-append "--prefix=" out)
+ ;; Don't write to store.
+ "--sysconfdir=/etc"
;; Install public and private libraries into
;; a single directory to avoid RPATH issues.
(string-append "--libdir=" libdir)
- (string-append "--with-privatelibdir=" libdir)))))))
-
+ (string-append "--with-privatelibdir=" libdir))))))
+ (add-before 'install 'disable-etc-samba-directory-creation
+ (lambda _
+ (substitute* "dynconfig/wscript"
+ (("bld\\.INSTALL_DIRS\\(\"\",[[:blank:]]{1,}\"\\$\\{CONFIGDIR\\}[[:blank:]]{1,}")
+ "bld.INSTALL_DIRS(\"\", \"")))))
;; XXX: The test infrastructure attempts to set password with
;; smbpasswd, which fails with "smbpasswd -L can only be used by root."
;; So disable tests until there's a workaround.
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#24834: Samba commands expect configuration file inside store
2016-12-04 0:06 ` Adonay Felipe Nogueira
@ 2016-12-07 23:29 ` Ludovic Courtès
0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2016-12-07 23:29 UTC (permalink / raw)
To: Adonay Felipe Nogueira; +Cc: 24834-done
Adonay Felipe Nogueira <adfeno@openmailbox.org> skribis:
> Here's a patch that tries to fix this issue. I already tested it, but
> please do so also just in case.
>
>
> Respectfully, Adonay.
>
> From 086396d33e113a6d991b7c63063844c66a5610ca Mon Sep 17 00:00:00 2001
> From: Adonay Felipe Nogueira <adfeno@openmailbox.org>
> Date: Sat, 3 Dec 2016 21:22:56 -0200
> Subject: [PATCH] gnu: samba: Don't expect configuration files inside the
> store.
>
> Attempts to fix <https://bugs.gnu.org/24834>.
>
> * gnu/packages/samba.scm (samba) [arguments]:
> * Set `--sysconfdir` to "/etc".
> * Avoid creation of "/etc/samba" (otherwise would require root).
Apply with commit log and indentation tweaks. It builds fine here.
Thank you!
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-12-07 23:30 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-31 10:17 bug#24834: Samba commands expect configuration file inside store Adonay Felipe Nogueira
2016-11-03 13:38 ` Ludovic Courtès
2016-11-18 9:50 ` Adonay Felipe Nogueira
2016-11-23 10:44 ` Adonay Felipe Nogueira
2016-11-23 22:16 ` Ludovic Courtès
2016-11-23 10:52 ` Adonay Felipe Nogueira
2016-12-04 0:06 ` Adonay Felipe Nogueira
2016-12-07 23:29 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).