Re: RFC: [PATCH] trans/fakeroot.c

2015-05-15 Thread Samuel Thibault
Svante Signell, le Tue 12 May 2015 09:15:46 +0200, a écrit :
 +  /* XXX: Limit openmodes */
 +  if (openmodes  O_ALLOWED)
 +openmodes = O_ALLOWED; /* works */

More precisely, which openmode posed problem here?  Perhaps this is not
the best place to exclude them.  At the very least we need to know what
exactly was posing problem before patching the source code.

Also, use if (openmodes  ~O_ALLOWED) rather than openmodes  O_ALLOWED.
It happens that O_ALLOWED contains contiguous bits from bit #0, and thus
 O_ALLOWED happens to produce the expected result, but that's only by
luck.

 +   /* XXX: Change nn-openmodes selectively */
 +   //if (newmodes  nn-openmodes)
 + nn-openmodes = newmodes;

Ditto.

 -  if (file != MACH_PORT_NULL  (nn-openmodes  ~newmodes))
 +  if (file != MACH_PORT_NULL  (nn-openmodes  newmodes )) /* works */

This change needs to be motivated and explained.

Samuel



GSoC: Porting Guix to Hurd week 2 report

2015-05-15 Thread Manolis Ragkousis
Hello Guix, Hello Hurd

Time for the second report. Will report what happened in chronological
order like the last time.

1) I modified gnumach-headers and hurd-headers packages so they will use
--build=i686-pc-gnu only when not cross-building.

2) Mig needs flex for both build and run time. So I added flex as both an input
and a native input. Before we were getting a linking error when cross-building.

3) Flex and bison could not be built with when targeting the hurd.
This was because of the
dependency lists m4-bison-2.7-flex and m4-bison.

4) m4 for some reason would run make test even when cross-compiling.
So when hurd
was targeted (and mips as Ludovic pointed out today) it would fail. I
disabled the tests
when cross-building in my local repo and spent quite some time waiting
for the whole
rebuild to finish :P. In any case, Ludovic pushed today at master, a
patch that fixes that.

5) Tomorrow if not today I will have ready the bootstrap-tarballs. I
modified make-boostrap.scm
to use the hurd headers, and everything up to %glibc-bootstrap-tarball
builds fine. I am waiting
for the current build to finish to report on the rest.

There was a problem with the libpthread native input where
(copy-recursively (assoc-ref inputs
 libpthread) libpthread) would evaluate to (copy-recursively #f
libpthread), when creating the tarballs.
I changed it to use %build-inputs and it seemed to work, but after
Thomas uploaded the
glibc-hurd+ libpthread tarball, I removed the problematic part all together.
In any case we should still investigate this one.

6) As I said above Thomas uploaded today a glibc-hurd+ libpthread
tarball. With this, our package
definition for glibc/hurd became as simple as it could possibly get in
this form. The patches are gone.
I can sleep with ease now. Thank you Thomas :-).

I was thinking about following Mark's suggestion of having a generic
glibc package with all the common
configure flags and inputs, and the two others inheriting from it,
defining the specific sources and
inputs/flags. WDYT?

Ludovic I don't have anything to report on the binaries actually
running on hurd right now,
because I am hoping to test that with the actual bootstrap tarballs.

I think that's it for this week. If you have any questions please feel
free to ask :-)

Manolis