* 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-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-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-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).