Re: SELinux log

2019-06-06 Thread Laura Lazzati
Hi!

Hope to shed some light.

I followed all the steps that I hadn't followed before in the
documentation manual about SELinux for guix daemon (ran semodule,
restorecon for all the filesystem and restarted the daemon).
I forgot to set SELinux in permissive mode, so I still got the issue
with the socket.
Then I realized about this, and changed the mode. My log shows that
SELinux would have prevented the daemon from running, like when I had
it in enforcing mode:
---start
here---
type=SERVICE_START msg=audit(1559870054.070:258): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0
msg='unit=flatpak-system-helper comm="systemd"
exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=?
res=success'^]UID="root" AUID="unset"
type=SERVICE_STOP msg=audit(1559870056.300:259): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0
msg='unit=user@42 comm="systemd" exe="/usr/lib/systemd/systemd"
hostname=? addr=? terminal=? res=success'^]UID="root" AUID="unset"
type=SERVICE_STOP msg=audit(1559870056.340:260): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0
msg='unit=user-runtime-dir@42 comm="systemd"
exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=?
res=success'^]UID="root" AUID="unset"
type=AVC msg=audit(1559870056.930:261): avc:  denied  { read } for
pid=750 comm="guix-daemon" name="libnss_files.so.2" dev="dm-0"
ino=559459 scontext=system_u:system_r:init_t:s0
tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=lnk_file
permissive=1
type=AVC msg=audit(1559870056.930:262): avc:  denied  { map } for
pid=750 comm="guix-daemon"
path="/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libnss_files-2.28.so"
dev="dm-0" ino=559457 scontext=system_u:system_r:init_t:s0
tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870056.930:263): avc:  denied  { execute } for
pid=750 comm="guix-daemon"
path="/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libnss_files-2.28.so"
dev="dm-0" ino=559457 scontext=system_u:system_r:init_t:s0
tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870056.937:264): avc:  denied  { create } for
pid=2170 comm="guix-daemon" name="reserved"
scontext=system_u:system_r:init_t:s0
tcontext=system_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870056.937:265): avc:  denied  { write } for
pid=2170 comm="guix-daemon" path="/var/guix/db/reserved" dev="dm-0"
ino=306296 scontext=system_u:system_r:init_t:s0
tcontext=system_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870056.940:266): avc:  denied  { write } for
pid=2170 comm="guix-daemon" name="db.sqlite" dev="dm-0" ino=306225
scontext=system_u:system_r:init_t:s0
tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870056.950:267): avc:  denied  { setattr } for
pid=2170 comm="guix-daemon" name="db.sqlite-wal" dev="dm-0" ino=306376
scontext=system_u:system_r:init_t:s0
tcontext=system_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870056.950:268): avc:  denied  { map } for
pid=2170 comm="guix-daemon" path="/var/guix/db/db.sqlite-shm"
dev="dm-0" ino=306377 scontext=system_u:system_r:init_t:s0
tcontext=system_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870058.000:269): avc:  denied  { link } for
pid=2170 comm="guix-daemon"
name="7f1alh9qj2h0wwy2220npgnmw6pbrkwx-mirrors" dev="dm-0" ino=551918
scontext=system_u:system_r:init_t:s0
tcontext=system_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870058.130:270): avc:  denied  { rename } for
pid=2170 comm="guix-daemon" name=".tmp-link-2170-1804289383"
dev="dm-0" ino=551930 scontext=system_u:system_r:init_t:s0
tcontext=system_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870060.410:271): avc:  denied  {
execute_no_trans } for  pid=2173 comm="guix-daemon"
path="/gnu/store/ncknl03pkmamrxg7q9nxi1rn1qhvwbi9-guix-1.0.1/libexec/guix/substitute"
dev="dm-0" ino=679069 scontext=system_u:system_r:init_t:s0
tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file permissive=1
type=AVC msg=audit(1559870060.886:272): avc:  denied  { name_connect }
for  pid=2173 comm=677569782073756273746974757465 dest=443
scontext=system_u:system_r:init_t:s0
tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket
permissive=1
type=SERVICE_STOP msg=audit(1559870062.620:273): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0
msg='unit=fprintd comm="systemd" exe="/usr/lib/systemd/systemd"
hostname=? addr=? terminal=? res=success'^]UID="root" AUID="unset"
type=SERVICE_STOP msg=audit(1559870070.140:274): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0
msg='unit=systemd-localed comm="systemd"
exe="/usr/lib/systemd/systemd" 

New German PO file for 'guix-manual' (version 1.0.1-pre1)

2019-06-06 Thread Translation Project Robot
Hello, gentle maintainer.

This is a message from the Translation Project robot.

A revised PO file for textual domain 'guix-manual' has been submitted
by the German team of translators.  The file is available at:

https://translationproject.org/latest/guix-manual/de.po

(We can arrange things so that in the future such files are automatically
e-mailed to you when they arrive.  Ask at the address below if you want this.)

All other PO files for your package are available in:

https://translationproject.org/latest/guix-manual/

Please consider including all of these in your next release, whether
official or a pretest.

Whenever you have a new distribution with a new version number ready,
containing a newer POT file, please send the URL of that distribution
tarball to the address below.  The tarball may be just a pretest or a
snapshot, it does not even have to compile.  It is just used by the
translators when they need some extra translation context.

The following HTML page has been updated:

https://translationproject.org/domain/guix-manual.html

If any question arises, please contact the translation coordinator.

Thank you for all your work,

The Translation Project robot, in the
name of your translation coordinator.





Re: Crosscompiling C++ for powerpc64le fails

2019-06-06 Thread Marius Bakke
Ludovic Courtès  writes:

> Hi Marius,
>
> Marius Bakke  skribis:
>
>> Ludovic Courtès  writes:
>
> [...]
>
>>> The issue that Tobias reports reminds me of the CPATH vs. C_INCLUDE_PATH
>>> issue that was causing troubles with newer GCCs, and that I think Marius
>>> addressed in ‘core-updates’ (?).  Marius, does that ring a bell?
>>
>> Unfortunately there are still issues with cross-compiling C++ on
>> 'core-updates'.  For 'C', the workaround was to go back to "CROSS_CPATH"
>> instead of "CROSS_C_INCLUDE_PATH", like with native builds.
>
> That should also address C++, since CPATH (and CROSS_CPATH) are for all
> language front-ends, no just C, no?

Indeed.  The cross-compilation problems are unrelated.

>> For native builds on core-updates, GCC7 occasionally fails if the libc
>> or kernel headers are not on C_INCUDE_PATH (see e.g. f90d6c3).  It could
>> be that cross builds need a similar workaround, but I have not found the
>> magic incantation yet.
>
> How can it be that kernel headers are not on C_INCLUDE_PATH (or CPATH)?

Sorry, this was a red herring.  :-)
(Kernel headers are of course on CPATH because they are propagated from
glibc, but adding them on C_INCLUDE_PATH works around some corner cases
because GCC disables warnings for such headers, which is expected by
some build scripts.)

I expected the problem with GCC not finding target libc headers to be a
matter of getting it on CROSS_CPLUS_INCLUDE_PATH, just like we had to
set C_INCLUDE_PATH for GCC 7's build processes to find libc.

But, looking at this issue with a fresh mind I managed to locate the
problem, and a one-liner fix:

From dcdedf8d8460a032c0333f6050626a41b39ff461 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Thu, 6 Jun 2019 19:33:05 +0200
Subject: [PATCH] gnu: cross-base: Fix C++ cross-compilation problems with GCC
 7.

* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Add
"--with-sysroot=/".
---
 gnu/packages/cross-base.scm | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 9fcf3bd780..0bd0cb3987 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -120,7 +120,15 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
,@(if libc
  `( ;; Disable libcilkrts because it is not
 ;; ported to GNU/Hurd.
-   "--disable-libcilkrts")
+   "--disable-libcilkrts"
+   ;; When building a cross compiler, --with-sysroot is
+   ;; implicitly set to "$gcc_tooldir/sys-root".  This does
+   ;; not work for us, because --with-native-system-header-dir
+   ;; is searched for relative to this location.  Thus, we set
+   ;; it to "/" so GCC is able to find the target libc headers.
+   ;; This is safe because in practice GCC uses CROSS_CPATH
+   ;; & co to separate target and host libraries.
+   "--with-sysroot=/")
  `( ;; Disable features not needed at this stage.
"--disable-shared" "--enable-static"
"--enable-languages=c,c++"
-- 
2.21.0


WDYT?

Cross-compiling bootstrap-tarballs still does not work, but I think we
just need to reinstate some known workarounds...  Will look into it the
coming days so we can get this branch rolling :-)


signature.asc
Description: PGP signature


Re: SELinux log

2019-06-06 Thread Ricardo Wurmus


Hi Laura,

>> Thanks.  Did you install the SELinux policy for the daemon that is
>> included in the source code repository?  (It is not included in the
>> files that “guix pull” installs.)
> My bad, I haven 't :/ Shall I put SELinux in enforcing mode and do so?

Permissive mode is better.  It will log violations but not prevent
them.  This allows us to see the details in the logs without impacting
our use of Guix. 

--
Ricardo




Re: Lightning talk at IPFS camp

2019-06-06 Thread Konrad Hinsen
Pierre Neidhardt  writes:

>> I was thinking of the Guix package definitions. In the long run,
>> assuming IPFS turns out to be reliable enough, we could put all source
>> into IPFS with a CID reference, rather then today's many ways to
>> download source files.
>
> There would be nothing special about it beside implementing an IPFS
> fetcher, or would it?  Let me know if I misunderstood.

What's special about it is that it could replace all the other ones.

> Didn't know Radicle, it looks fantabulous!  And... it uses (or plans to)
> a Scheme-based language! :)

Exactly.

> So you are saying that we could move the guix.git to a Radicle project,
> right?

Yes, assuming all that becomes stable at some point.

Konrad.



Re: SELinux log

2019-06-06 Thread Laura Lazzati
Hi!


> Thanks.  Did you install the SELinux policy for the daemon that is
> included in the source code repository?  (It is not included in the
> files that “guix pull” installs.)
My bad, I haven 't :/ Shall I put SELinux in enforcing mode and do so?

Regards :)
Laura



Re: Documentation videos are being uploaded!

2019-06-06 Thread Laura Lazzati
Hi!
> Thank you Laura for continuously caring about the videos even after
> your internship ended!
Of course Bruno :) I said I would go on as a contributor and here I am ;)

Alles gute!
Laura



Re: Lightning talk at IPFS camp

2019-06-06 Thread Pierre Neidhardt
Konrad Hinsen  writes:

> I was thinking of the Guix package definitions. In the long run,
> assuming IPFS turns out to be reliable enough, we could put all source
> into IPFS with a CID reference, rather then today's many ways to
> download source files.

There would be nothing special about it beside implementing an IPFS
fetcher, or would it?  Let me know if I misunderstood.

> Again in the long run, if we don't mind depending on IPFS, we don't need
> the Guix store any more. Package installation would amount to local
> pinning. Anyone could then build a package anywhere (home directory,
> ...) and just add it to IPFS. Since that also eliminates the technical
> constraints of the store, the same mechanism could be used for any kind
> of data processing, with the results stored in IPFS. Reproducibility of
> any kind of computation via Guix, with building software just an
> important special case.

Very good point, I like it.  I think I'll mention this in the talk.

> For human input, Git would be OK, with repositories stored in IPFS
> (there's already some support for that, see
> https://github.com/ipfs/go-ipld-git). A more radical redesign is
> Radicle (http://www.radicle.xyz/), which uses IPFS as a collaboration
> platform (still at the git level). I guess Radicle could be used for
> much more than that in Guix, but I haven't looked at that in detail.

Didn't know Radicle, it looks fantabulous!  And... it uses (or plans to)
a Scheme-based language! :)

So you are saying that we could move the guix.git to a Radicle project,
right?
Makes sense to me.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Lightning talk at IPFS camp

2019-06-06 Thread Konrad Hinsen
Pierre Neidhardt  writes:

>>   - A unified way to refer to stuff (I am thinking of IPLD here)
>>   No more tarballs, git commits, etc. CIDs everywhere.
>
> Do you have a concrete use case?

I was thinking of the Guix package definitions. In the long run,
assuming IPFS turns out to be reliable enough, we could put all source
into IPFS with a CID reference, rather then today's many ways to
download source files.

>>   - A unified storage scheme for all data, both "system" and "user".
>
> Can you elaborate?

Again in the long run, if we don't mind depending on IPFS, we don't need
the Guix store any more. Package installation would amount to local
pinning. Anyone could then build a package anywhere (home directory,
...) and just add it to IPFS. Since that also eliminates the technical
constraints of the store, the same mechanism could be used for any kind
of data processing, with the results stored in IPFS. Reproducibility of
any kind of computation via Guix, with building software just an
important special case.

> I'm not too sure about how human input would be logged, but at the very
> least the idea of distributing the store seems amazing.

For human input, Git would be OK, with repositories stored in IPFS
(there's already some support for that, see
https://github.com/ipfs/go-ipld-git). A more radical redesign is
Radicle (http://www.radicle.xyz/), which uses IPFS as a collaboration
platform (still at the git level). I guess Radicle could be used for
much more than that in Guix, but I haven't looked at that in detail.

Konrad.



Re: Running Guix System on Hetzner Cloud

2019-06-06 Thread Jonathan Brielmaier
On 6/6/19 12:37 PM, n...@n0.is wrote:
> Jonathan Brielmaier transcribed 93K bytes:
>> Hi fellow Guix hackers,
>>
>> the last weekend I tried to install Guix system on the Hetzner Cloud[0].
>> First I tried to use Ubuntu, install Guix with the installer script and
>> then initiate Guix with "guix system init /mnt...". This wasn't
>> successful as Guix system didn't boot.
>>
>> So I asked them if they could add the Guix ISO to there ISO image
>> collection and they did it. At the moment only for my account, not general.
>
> How did you convince them? The last 3 times I asked for systems which weren't
> in their ISO selection, I was told it isn't possible and I should find ways
> to do it myself (which I did then).

I just asked them over a support request :) The Guix ISO is only visible
at my account, I didn't asked yet if they could add it for all customers...

BTW: I built an ISO image with the fix from
https://issues.guix.gnu.org/issue/36099. They added this ISO as well to
my account and now the installation succeeds with the graphical installer :)



Re: Running Guix System on Hetzner Cloud

2019-06-06 Thread ng0
Jonathan Brielmaier transcribed 93K bytes:
> Hi fellow Guix hackers,
> 
> the last weekend I tried to install Guix system on the Hetzner Cloud[0].
> First I tried to use Ubuntu, install Guix with the installer script and
> then initiate Guix with "guix system init /mnt...". This wasn't
> successful as Guix system didn't boot.
> 
> So I asked them if they could add the Guix ISO to there ISO image
> collection and they did it. At the moment only for my account, not general.

How did you convince them? The last 3 times I asked for systems which weren't
in their ISO selection, I was told it isn't possible and I should find ways
to do it myself (which I did then).
 
> They provide some kind of serial console over the browser. So I just
> booted the server with Guix ISO mounted. I went through the graphical
> installer, which works very well in this environment :)
> 
> During the installation step it fails due to missing "virtio_pci" initrd
> modules (see hetzner_cloud_installer_fails.png). In the installer there
> was no way to bypass this issue. But rebooting and installing manually
> with the configuration below did work :)
> 
> I think it would be nice if the installer could handle that as he
> already cover the "virtio_scsi" module.
> 
> In the end I got a working Guix system for 0,05 € :)
> 
> Happy hacking
> Jonathan
> 
> P.S: Did I already mentioned that the installer is _very_ nice?
> 
> [0] https://www.hetzner.com/cloud
> 
> ;; This is an operating system configuration generated
> ;; by the graphical installer.
> 
> (use-modules (gnu))
> (use-service-modules databases desktop mail networking ssh xorg)
> (use-package-modules admin vim)
> 
> (operating-system
>   (locale "en_US.utf8")
>   (timezone "Europe/Berlin")
>   (keyboard-layout
> (keyboard-layout "de" "deadacute"))
>   (bootloader
> (bootloader-configuration
>   (bootloader grub-bootloader)
>   (target "/dev/sda")
>   (keyboard-layout keyboard-layout)))
>   (initrd-modules '("virtio_scsi" "virtio_pci"))
>   (swap-devices (list "/dev/sda1"))
>   (file-systems
> (cons* (file-system
>  (mount-point "/")
>  (device
>(uuid "713cf8af-e503-45f9-9a10-a0c5a4ce709b"
>  'ext4))
>  (type "ext4"))
>%base-file-systems))
>   (host-name "guixone")
>   (users (cons* (user-account
>   (name "jonathan")
>   (comment "Jonathan Brielmaier")
>   (group "users")
>   (home-directory "/home/jonathan")
>   (supplementary-groups
> '("wheel" "netdev" "audio" "video")))
> %base-user-accounts))
>   (packages
> (append
>   (list (specification->package "nss-certs") nmap vim)
>   %base-packages))
>   (services
> (append
>   (list (service dhcp-client-service-type)
>   (dovecot-service)
>   (mysql-service)
> (service openssh-service-type))
>   %base-services)))





Re: Video license

2019-06-06 Thread Paul Garlick
Hello Björn,

> For the code I would suggest GPL v3+, for the voices (currently Paul) 
> and videos I would suggest CC-BY-SA 4.0
> 
> What do you think? Does every contributor agree to that?

That looks good to me.  

For the source code we could add copyright statements at the top of the
files in a similar way to the rest of the Guix code.

Also, would you like to take a look at the CREDITS file and add entries
for the work that you have done?.  The idea is twofold: to acknowledge
the contributions made and also to make the steps more visible. 
Potential future contributors could then say ' hey, I could do that in
my language'.

Best regards,

Paul. 




Re: Testing needed for lzip substitutes!

2019-06-06 Thread Pierre Neidhardt
I've switched to it yesterday and since then it seems I have to compile
everything myself :(
Subversion, git, boost, to name a few.

I do get the source from qualif.ci.guix.gnu.org though:

--8<---cut here---start->8---
downloading from 
https://qualif.ci.guix.gnu.org/nar/z4yv0m8wqfqgpgqalgx1dlqylq6rwqyg-git-2.21.0.tar.xz...
--8<---cut here---end--->8---

Is this expected?  If not, any idea how to investigate?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: New Russian PO file for 'guix-manual' (version 1.0.0-pre3)

2019-06-06 Thread pelzflorian (Florian Pelz)
On Thu, May 09, 2019 at 06:08:46PM +0300, Pavel Maryanov wrote:
> Ludovic, unfortunately Russian translation "Keyboard Layout and Networking
> and Partitioning" have to contain comma because of two 'and'. It is a rule
> of Russian language.
> 

It appears you can write “@comma{}” instead of “,” according to the
Texinfo manual section “12.1.3 Inserting ',' with '@comma{}'”.

Regards,
Florian