[PATCH v2] config.make: Use more configure settings when building xkb-data

2013-08-15 Thread David Michael
* config.make.in (datarootdir,LEX,YACC): New variable. * configure.ac (XKB_BASE): Drop extraneous "/share" from path. * configure.ac: Reset pkg-config status between tests. --- Hi, Here's a slight addition: The pkg-config error state was not being reset between the variable reads. This would fo

Re: GHM2013 talk

2013-08-15 Thread Ludovic Courtès
Hello! Samuel Thibault skribis: > I'll make a talk about GNU Hurd at GHM 2013. I have put a very rough > draft on the wiki on > http://darnassus.sceen.net/~hurd-web/community/meetings/ghm2013 Looks nice. In addition, I’d love to see more about the vision (why it matters), future directions, a

[PATCH 1/3] Drop the register keyword

2013-08-15 Thread Justus Winter
Drop the register keyword both from MIGs code and from the generated code. The register keyword is only a hint and it is ignored by modern compilers. * alloca.c: Drop the register keyword. * header.c: Likewise. * lexxer.l: Likewise. * parser.y: Likewise. * routine.c: Likewise. * server.c: Likewise

[PATCH 3/3] Drop alloca.c

2013-08-15 Thread Justus Winter
This file was only used with GCC < 2, so it's time to drop it. * alloca.c: Remove file. * configure.ac: Remove test for alloca. * Makefile.am (migcom_LDADD): Remove @ALLOCA@. --- Makefile.am |2 +- alloca.c | 504 -- configure.ac |

[PATCH 2/3] Remove unused file alloc.h

2013-08-15 Thread Justus Winter
* alloc.h: Remove file. * Makefile (migcom_SOURCES): Remove alloc.h. --- Makefile.am |2 +- alloc.h | 34 -- 2 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 alloc.h diff --git a/Makefile.am b/Makefile.am index a28fa3e..484e183 100644

Cleanups for mig

2013-08-15 Thread Justus Winter
Hi, while waiting hours for package rebuilds, I looked at mig and started by doing some cleanups. I hope noone shows up with a VAX and gcc < 2.0 and complains about me pulling the plug on the custom alloca implementation ;) I'm reasonably sure I didn't break anything, I rebuilt the Hurd with this

[PATCH 5/5] exec: remove the BFD code

2013-08-15 Thread Justus Winter
This commit removes the parts of the exec server that were once using the Binary File Descriptor library. As I understand it, the BFD code stopped working because it uses stdio streams and the glue code for that has never been ported to libio. The code has been #ifdefed out ever since. It may or m

[PATCH 4/5] exec: Remove #ifdef 0-out code for user specified exec servers.

2013-08-15 Thread Justus Winter
This code was meant to allow the user to specify alternative exec servers using an environment variable. The Hurd uses the file system as namespace for server lookups, so the proper way to use one's own exec server seems to be the remap translator. * exec/exec.c (S_exec_exec): Remove unused code.

[PATCH 3/5] exec: Remove #ifdef 0-out code doing nothing.

2013-08-15 Thread Justus Winter
exec/exec.c (load_section): Remove unused code. --- exec/exec.c | 18 +- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/exec/exec.c b/exec/exec.c index 0d3ec69..48409c0 100644 --- a/exec/exec.c +++ b/exec/exec.c @@ -164,23 +164,7 @@ load_section (void *section, str

Cleanups for the exec server

2013-08-15 Thread Justus Winter
Hi :) this is a series removing both functionality and unused (out-#ifdef-ed) code in an attempt to reduce the size and complexity of an essential server. Overall this cuts about 800 lines from exec/exec.c. It is meant to be applied over my recent patch series, but should be applicable to the van

[PATCH] config.make: Use more configure settings when building xkb-data

2013-08-15 Thread David Michael
* config.make.in (datarootdir,YACC): New variable. * configure.ac (XKB_BASE): Drop extraneous "/share" from path. --- Hi, I recently started building Hurd with X11 and ran into some minor troubles. First, configure detects yacc, but it doesn't get substituted. This results in make's default YAC

[PATCH 2/2] Define _PATH_MOUNTED as "/etc/mtab"

2013-08-15 Thread Justus Winter
Change the definition of _PATH_MOUNTED to "/etc/mtab". This is the value used on Linux. The change is motivated by the fact that on Debian /etc/mtab is a symbolic link to /proc/mounts. This patch adjusts the macro for non-linux systems such as Hurd. Changing this using sysdeps/mach/hurd/paths.h ca

[PATCH 1/2] Hurd: make reboot() send messages to both pid 1 and 2

2013-08-15 Thread Justus Winter
Previously /hurd/init was run as pid 1 on Hurd systems, however sysvinit assumes that it is being run as pid 1. To appease sysvinit, /hurd/init will be run as pid 2 in the near future. Currently the pid of /hurd/init is hardcoded to 1. This patch makes reboot() try to send the start_reboot message

[PATCH 7/7] sysvinit: Fix getty path in /etc/inittab on Hurd.

2013-08-15 Thread Justus Winter
This is essentially the same as 89f6476d8979174f395a1bf784486254464c349d but fixes the existing /etc/inittab file in the postinstall script. --- debian/changelog |1 + debian/sysvinit.config| 43 +++ debian/sysvinit.postinst | 13 ++

[PATCH 5/7] initscripts: Only run rootcheck on Linux

2013-08-15 Thread Justus Winter
Neither kFreeBSD nor Hurd have /dev/root and the device ids used here are specific to Linux. Note that fsck is still run, rootcheck refers to the check whether the root device in /etc/fstab matches the actual device. --- debian/changelog |2 ++ debian/src/initscri

[PATCH 4/7] initscripts: add runsystem.sysv

2013-08-15 Thread Justus Winter
runsystem.sysv does some very early initialization of Hurd and execs /sbin/init to start the system using sysvinit. Hurd uses the alternatives system to choose which runsystem to use and traditionally shipped a custom init solution. Add runsystem.sysv using update-alternatives in initscripts.postin

[PATCH 6/7] killall5.c: Use sysconf(_SC_SYMLOOP_MAX) instead of MAXSYMLINKS.

2013-08-15 Thread Justus Winter
If sysconf returns an error, fall back to MAXSYMLINKS on platforms that define it. Fixes build on Hurd. --- debian/changelog |2 ++ src/killall5.c | 15 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index ce16030..dd1861

[PATCH 1/7] initscripts: hurd has a proper tmpfs now, remove workaround

2013-08-15 Thread Justus Winter
--- debian/changelog |3 +++ debian/src/initscripts/lib/init/mount-functions.sh |1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 7c92f0f..a1da0fb 100644 --- a/debian/changelog +++ b/debian/change

[PATCH 3/7] initscripts: use pidof -s /sbin/init for robustness

2013-08-15 Thread Justus Winter
pidof -s returns the first matching process. Since readdir(2) on procfs returns the processes in ascending order, this returns the first process. This is more robust if there is more than one /sbin/init process. Currently on Hurd there are two /sbin/init processes. Clearly this needs some investig

[PATCH 2/7] initscripts: add -ocompatible to procfs mounts on Hurd

2013-08-15 Thread Justus Winter
--- debian/changelog |1 + debian/src/initscripts/lib/init/mount-functions.sh |3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index a1da0fb..1ff8750 100644 --- a/debian/changelog +++ b/debian/change

patches for sysvinit (2)

2013-08-15 Thread Justus Winter
Hi :) this is my updated patch series for the sysvinit package. Notable changes since the last series: * There are no dirty hacks anymore thanks to the recently send patch series for Hurd that makes sysvinit pid 1 and marks some processes as important and not to be killed by killall5. * The

[PATCH 14/17] proc: keep track of {start,end}_code

2013-08-15 Thread Justus Winter
Any executable segments loaded from the ELF binary are in this range. * proc/proc.h (struct proc): Add {start,end}_code. * proc/mgt.h (S_proc_set_code): New function. * proc/mgt.h (S_proc_get_code): New function. --- proc/mgt.c | 39 +++ proc/proc.h |2 +

[PATCH 17/17] Build fixes: Build processUser.o and link against it

2013-08-15 Thread Justus Winter
The process interfaces got new routines, add processUser.o so that they get picked up by the servers that need them. As I understand it this is no longer necessary once the libc has been rebuilt with the new definitions. So this patch can either be omitted if the libc is rebuild first, or committe

[PATCH 11/17] libtrivfs: register libtrivfs-based translators as important

2013-08-15 Thread Justus Winter
Register libtrivfs-based translators running as root as important processes at the proc server. * libtrivfs/startup.c (trivfs_startup): Mark us as important. --- libtrivfs/startup.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/libtrivfs/startup.c b/libtrivfs/startup.

[PATCH 09/17] libdiskfs: register libdiskfs-based translators as important

2013-08-15 Thread Justus Winter
Register libdiskfs-based translators running as root as important processes at the proc server. * libdiskfs/init-startup.c (_diskfs_init_completed): Mark us as important. --- libdiskfs/init-startup.c |7 +++ 1 file changed, 7 insertions(+) diff --git a/libdiskfs/init-startup.c b/libdiskf

[PATCH 16/17] exec: keep track of the range where executable segments are mapped

2013-08-15 Thread Justus Winter
Keep track of the range where executable segments are mapped into memory and hand that information over to the proc server. * exec/priv.h (struct execdata): Add {start,end}_code. * exec/exec.c (prepare): Initialize {start,end}_code. (load_section): Update {start,end}_code. (do_exec): Use proc_set_

[PATCH 13/17] trans: register symlink translators as important

2013-08-15 Thread Justus Winter
Register any symlink translators running as root as important processes at the proc server. * trans/symlink.c (main): Mark us as important. --- trans/symlink.c | 13 + 1 file changed, 13 insertions(+) diff --git a/trans/symlink.c b/trans/symlink.c index 03b5100..845a112 100644 ---

[PATCH 12/17] mach-defpager: register mach-defpager translators as important

2013-08-15 Thread Justus Winter
Register any mach-defpager translators running as root as important processes at the proc server. * mach-defpager/main.c (main): Mark us as important. --- mach-defpager/main.c | 13 + 1 file changed, 13 insertions(+) diff --git a/mach-defpager/main.c b/mach-defpager/main.c index 31

[PATCH 08/17] init: Mark all of inits children and init itself as important

2013-08-15 Thread Justus Winter
This is based on a fragment of Guillem Jovers patch presented here: http://lists.gnu.org/archive/html/bug-hurd/2006-02/msg00081.html It has been refreshed, updated and the copyright year is adjusted properly. It has been complemented with the necessary features to address the issues the original

[PATCH 10/17] libnetfs: register libnetfs-based translators as important

2013-08-15 Thread Justus Winter
Register libnetfs-based translators running as root as important processes at the proc server. * libnetfs/init-startup.c (netfs_startup): Mark us as important. --- libnetfs/init-startup.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/libnetfs/init-startup.c b/libnetfs/init

[PATCH 15/17] hurd: add proc_{get,set}_code

2013-08-15 Thread Justus Winter
Add routines to set and query the processes start_code and end_code locations. Any executable segments loaded from the ELF binary are in this range. * hurd/process.defs: Add proc_{get,set}_code. * hurd/process_reply.defs: Add proc_{get,set}_code. * hurd/process_request.defs: Add proc_{get,set}_cod

[PATCH 06/17] proc: add proc_mark_important server code

2013-08-15 Thread Justus Winter
This is based on a fragment of Guillem Jovers patch presented here: http://lists.gnu.org/archive/html/bug-hurd/2006-02/msg00081.html It has been refreshed, updated and the copyright year is adjusted properly. It has been complemented with the necessary features to address the issues the original

[PATCH 03/17] Add proc_set_init_task, make runsystem pid 1

2013-08-15 Thread Justus Winter
* hurd/process.defs (proc_set_init_task): New procedure. * hurd/process_reply.defs (proc_set_init_task): Likewise. * hurd/process_request.defs (proc_set_init_task): Likewise. * include/pids.h: Add HURD_PID_INIT as 1, adjust others accordingly. * init/init.c (start_child): Register the child task. *

[PATCH 05/17] proc: make the function check_owner available

2013-08-15 Thread Justus Winter
Make the function check_owner available for use in other files. * proc/info.c (check_owner): Drop attributes static and inline. * proc/proc.h (check_owner): Add prototype. --- proc/info.c |2 +- proc/proc.h |1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/proc/info.c b/

[PATCH 07/17] hurd: add proc_mark_important

2013-08-15 Thread Justus Winter
This is based on a fragment of Guillem Jovers patch presented here: http://lists.gnu.org/archive/html/bug-hurd/2006-02/msg00081.html It has been refreshed, updated and the copyright year is adjusted properly. It has been complemented with the necessary features to address the issues the original

[PATCH 02/17] Define and use symbolic names for important processes

2013-08-15 Thread Justus Winter
* include/pids.h: New file. * init/init.c (frob_kernel_process): Use symbolic name for kernel process. * exec/main.c (S_exec_init): Use symbolic name for startup process. * libdiskfs/boot-start.c (diskfs_S_fsys_init): Likewise. * libdiskfs/init-startup.c (_diskfs_init_completed): Likewise. * pfinet

[PATCH 04/17] daemons: fix setsid(2) in console-run

2013-08-15 Thread Justus Winter
Only run setsid(2) if the process is not already the group leader. * daemons/console-run.c (open_console): Fix setsid(2). --- daemons/console-run.c |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/daemons/console-run.c b/daemons/console-run.c index fb879e5..e1bfe64 1006

[PATCH 01/17] hurd: add missing routines in process_reply.defs

2013-08-15 Thread Justus Winter
Add the appropriate simpleroutine or skip directives to hurd/process_reply.defs matching the ones in hurd/process.defs. * hurd/process_reply.defs: Add missing routine declarations. --- hurd/process_reply.defs | 114 +++ 1 file changed, 114 insertions(+

Make sysvinit pid 1, fix killall5 (2)

2013-08-15 Thread Justus Winter
Hi, This is an updated patch series fixing all sysvinit related issues. [PATCH 04/17] daemons: fix setsid(2) in console-run Pid 1 is already the group leader, using setsid(2) again fails. [PATCH 09/17] libdiskfs: register libdiskfs-based translators as [PATCH 10/17] libnetfs: register libnetfs-