[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[hurd] 01/04: Merge branch 'upstream-merged'
From: |
Samuel Thibault |
Subject: |
[hurd] 01/04: Merge branch 'upstream-merged' |
Date: |
Tue, 14 Jan 2014 02:02:30 +0000 |
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch master
in repository hurd.
commit d0a7ad9f90895c038052937faa78148672df6d66
Merge: 29d4c2d 92aeca9
Author: Samuel Thibault <address@hidden>
Date: Mon Jan 13 22:52:16 2014 +0000
Merge branch 'upstream-merged'
auth/auth.c | 20 +-
benchmarks/Makefile | 1 -
console-client/current-vcs.c | 1 -
console-client/timer.c | 1 -
console-client/trans.c | 2 -
console-client/unicode.h | 1 -
console-client/xkb/xkb-data/types/hurd | 1 -
console/mutations.h | 1 -
console/pager.c | 1 -
debian/changelog | 8 +-
debian/patches/exec_filename_exec.patch | 68 +++---
debian/patches/exec_filename_fs.patch | 241 +++++++++++----------
debian/patches/libports_stability.patch | 9 +-
debian/patches/proc_set_init_task.patch | 4 +-
defpager/Makefile | 1 -
defpager/backing.c | 1 -
doc/navigating | 3 +-
exec/main.c | 21 +-
ext2fs/dir.c | 2 +
fatfs/dir.c | 4 +
fatfs/fatfs.h | 1 -
fatfs/virt-inode.c | 6 -
fstests/Makefile | 1 -
fstests/opendisk.c | 2 -
hurd/fsys.defs | 1 -
hurd/gensym.awk | 1 -
hurd/ifsock.defs | 1 -
hurd/interrupt.defs | 1 -
hurd/shared.h | 1 -
hurd/startup.defs | 1 -
hurd/startup_notify.defs | 2 -
hurd/term.defs | 1 -
init/init.c | 7 +-
isofs/EXTENSIONS | 1 -
isofs/ext.c | 2 -
libcons/demuxer.c | 1 -
libcons/init-loop.c | 1 -
libcons/mutations.h | 1 -
libcons/vcons-scrollback.c | 1 -
libdirmgt/dirmgt.h | 2 -
libdiskfs/conch-fetch.c | 1 -
libdiskfs/demuxer.c | 45 ++--
libdiskfs/dir-lookup.c | 41 +++-
libdiskfs/dir-renamed.c | 2 +-
libdiskfs/disk-pager.c | 3 +-
libdiskfs/file-lock.c | 2 -
libdiskfs/file-set-trans.c | 18 +-
libdiskfs/fsys-goaway.c | 1 -
libdiskfs/fsys-startup.c | 1 -
libdiskfs/fsys-syncfs.c | 1 -
libdiskfs/ifsock.c | 1 -
libdiskfs/io-async.c | 1 -
libdiskfs/io-map.c | 1 -
libdiskfs/io-modes-get.c | 1 -
libdiskfs/io-stubs.c | 1 -
libdiskfs/io-write.c | 1 -
libdiskfs/node-drop.c | 2 -
libdiskfs/protid-make.c | 2 -
libdiskfs/protid-rele.c | 2 -
libfshelp/fshelp.h | 18 +-
libfshelp/get-identity.c | 66 +++---
libfshelp/lock-acquire.c | 3 -
libfshelp/set-active.c | 1 -
libfshelp/start-translator-long.c | 11 +-
libfshelp/transbox-init.c | 1 -
libfshelp/translator-list.c | 43 +++-
libftpconn/names.c | 1 -
libihash/ihash.c | 7 +-
libiohelp/handle_io_release_conch.c | 1 -
libiohelp/initialize_conch.c | 1 -
libiohelp/iouser-free.c | 2 -
libnetfs/demuxer.c | 34 +--
libnetfs/dir-link.c | 2 -
libnetfs/dir-lookup.c | 43 +++-
libnetfs/dir-mkfile.c | 1 -
libnetfs/dir-rename.c | 1 -
libnetfs/drop-node.c | 2 -
libnetfs/file-chauthor.c | 1 -
libnetfs/file-getlinknode.c | 2 -
libnetfs/file-set-size.c | 1 -
libnetfs/file-set-translator.c | 19 +-
libnetfs/init-loop.c | 1 -
libnetfs/io-get-icky-async-id.c | 1 -
libnetfs/io-seek.c | 1 -
libnetfs/io-stat.c | 1 -
libnetfs/io-write.c | 2 -
libnetfs/make-peropen.c | 1 -
libnetfs/modes.h | 1 -
libnetfs/mutations.h | 1 -
libnetfs/nput.c | 1 -
libpager/Makefile | 1 -
libpager/chg-compl.c | 2 -
libpager/no-senders.c | 2 -
libpager/offer-page.c | 1 -
libpager/pager-create.c | 2 -
libpager/pager-flush.c | 1 -
libpager/pager-return.c | 1 -
libpager/pager-shutdown.c | 1 -
libpager/pager-sync.c | 1 -
libpipe/Makefile | 1 -
libports/begin-rpc.c | 2 -
libports/claim-right.c | 1 -
libports/complete-deallocate.c | 1 -
libports/count-class.c | 3 -
libports/create-internal.c | 1 -
libports/create-port-noinstall.c | 3 -
libports/create-port.c | 3 -
libports/interrupt-notified-rpcs.c | 1 -
libports/lookup-port.c | 2 -
libports/manage-multithread.c | 106 ++++------
libports/port-deref-weak.c | 1 -
libports/port-deref.c | 2 -
libports/port-ref.c | 2 -
libports/reallocate-from-external.c | 3 +-
libports/reallocate-port.c | 8 +-
libports/resume-all-rpcs.c | 2 -
libports/resume-class-rpcs.c | 1 -
libports/resume-port-rpcs.c | 3 -
libports/transfer-right.c | 6 +-
libps/procstat.c | 7 +
libps/spec.c | 2 +-
libshouldbeinlibc/cacheq.c | 2 +-
libshouldbeinlibc/canon-host.c | 1 -
libshouldbeinlibc/fsysops.c | 1 +
libshouldbeinlibc/idvec-auth.c | 1 +
libshouldbeinlibc/idvec.c | 3 +-
libshouldbeinlibc/idvec.h | 1 -
libshouldbeinlibc/localhost.c | 2 +-
libshouldbeinlibc/maptime.c | 19 +-
libshouldbeinlibc/nullauth.c | 2 -
libshouldbeinlibc/portxlate.c | 8 +-
libshouldbeinlibc/shared-dom.c | 3 -
libshouldbeinlibc/timefmt.c | 4 +-
libshouldbeinlibc/ugids-argp.c | 3 +-
libshouldbeinlibc/ugids-auth.c | 2 +-
libshouldbeinlibc/ugids-imply.c | 3 +-
libshouldbeinlibc/ugids-merge.c | 3 +-
libshouldbeinlibc/ugids-subtract.c | 4 +-
libshouldbeinlibc/ugids-verify-auth.c | 7 +-
libshouldbeinlibc/ugids-verify.c | 7 +-
libshouldbeinlibc/ugids.c | 1 +
libshouldbeinlibc/ugids.h | 2 +
libshouldbeinlibc/wire.c | 2 +-
libshouldbeinlibc/wire.h | 1 -
libthreads/Makefile.GNU | 1 -
libthreads/Makefile.GNU2 | 1 -
libthreads/alpha/lock.S | 1 -
libtreefs/Makefile | 1 -
libtreefs/s-fsys.c | 1 -
libtrivfs/demuxer.c | 32 +--
libtrivfs/protid-clean.c | 3 -
libtrivfs/times.c | 4 -
mach-defpager/Makefile | 3 -
mach-defpager/default_pager.c | 236 ++++++++++-----------
mach-defpager/kalloc.c | 10 +-
mach-defpager/queue.h | 10 +-
mach-defpager/wiring.c | 2 +-
nfs/cache.c | 1 -
nfs/main.c | 1 -
nfsd/Makefile | 1 -
nfsd/ops.c | 2 +-
nfsd/xdr.c | 2 +-
pfinet/dummy.c | 4 -
pfinet/glue-include/linux/interrupt.h | 2 +
pfinet/linux-src/arch/i386/lib/checksum.S | 2 +-
pfinet/linux-src/arch/i386/lib/old-checksum.c | 2 -
pfinet/linux-src/arch/s390/lib/checksum.c | 1 -
pfinet/linux-src/arch/sparc64/lib/checksum.S | 1 -
pfinet/linux-src/include/asm-s390/checksum.h | 2 -
pfinet/linux-src/include/linux/busmouse.h | 1 -
pfinet/linux-src/include/linux/coda.h | 3 +-
pfinet/linux-src/include/linux/digiPCI.h | 5 -
pfinet/linux-src/include/linux/dmascc.h | 1 -
pfinet/linux-src/include/linux/efs_dir.h | 1 -
pfinet/linux-src/include/linux/efs_fs.h | 1 -
pfinet/linux-src/include/linux/efs_fs_i.h | 1 -
pfinet/linux-src/include/linux/efs_fs_sb.h | 1 -
pfinet/linux-src/include/linux/efs_vh.h | 1 -
pfinet/linux-src/include/linux/epca.h | 1 -
pfinet/linux-src/include/linux/hayesesp.h | 1 -
pfinet/linux-src/include/linux/ioctl.h | 1 -
pfinet/linux-src/include/linux/ipc.h | 2 -
pfinet/linux-src/include/linux/irda.h | 4 -
pfinet/linux-src/include/linux/isicom.h | 1 -
pfinet/linux-src/include/linux/kmod.h | 1 -
pfinet/linux-src/include/linux/locks.h | 1 -
pfinet/linux-src/include/linux/lp_intern.h | 1 -
pfinet/linux-src/include/linux/lp_mfc.h | 1 -
pfinet/linux-src/include/linux/ncp_fs_sb.h | 1 -
pfinet/linux-src/include/linux/ntfs_fs.h | 1 -
pfinet/linux-src/include/linux/nubus.h | 1 -
pfinet/linux-src/include/linux/route.h | 1 -
pfinet/linux-src/include/linux/sdla_fr.h | 1 -
pfinet/linux-src/include/linux/sdlapci.h | 1 -
pfinet/linux-src/include/linux/sdlasfm.h | 1 -
pfinet/linux-src/include/linux/serial_reg.h | 1 -
pfinet/linux-src/include/linux/sysv_fs.h | 1 -
pfinet/linux-src/include/linux/sysv_fs_i.h | 1 -
pfinet/linux-src/include/linux/sysv_fs_sb.h | 1 -
pfinet/linux-src/include/linux/tpqic02.h | 1 -
pfinet/linux-src/include/linux/tty_flip.h | 7 -
pfinet/linux-src/include/linux/vmalloc.h | 1 -
pfinet/linux-src/include/linux/wanpipe.h | 1 -
pfinet/linux-src/include/net/br.h | 3 -
pfinet/linux-src/include/net/inet_common.h | 2 -
pfinet/linux-src/include/net/ipv6.h | 3 -
pfinet/linux-src/include/net/llc.h | 1 -
pfinet/linux-src/include/net/llc_name.h | 1 -
pfinet/linux-src/include/net/llccall.h | 1 -
pfinet/linux-src/include/net/neighbour.h | 2 -
pfinet/linux-src/include/net/rarp.h | 1 -
pfinet/linux-src/include/net/scm.h | 1 -
pfinet/linux-src/net/core/dev_mcast.c | 1 -
pfinet/linux-src/net/ipv4/Config.in | 1 -
pfinet/linux-src/net/ipv4/fib_frontend.c | 1 -
pfinet/linux-src/net/ipv4/igmp.c | 1 -
pfinet/linux-src/net/ipv4/ip_input.c | 1 -
pfinet/linux-src/net/ipv4/ip_masq_quake.c | 2 -
pfinet/linux-src/net/ipv4/ip_output.c | 1 -
pfinet/linux-src/net/ipv4/timer.c | 1 -
pfinet/linux-src/net/ipv4/utils.c | 1 -
pfinet/linux-src/net/ipv6/exthdrs.c | 1 -
pfinet/linux-src/net/ipv6/ip6_fib.c | 2 -
pfinet/loopback.c | 7 +
pfinet/main.c | 52 +++--
pfinet/sched.c | 7 +-
pflocal/pflocal.c | 14 +-
pflocal/sserver.c | 25 ++-
proc/host.c | 6 +-
proc/main.c | 38 ++--
proc/mgt.c | 27 ++-
proc/msg.c | 2 +-
proc/pgrp.c | 8 +-
proc/proc.h | 9 +-
proc/proc_exc.defs | 3 -
release/README | 2 -
release/SOURCES.0.2 | 2 -
release/dist-README | 3 -
release/menu.lst | 1 -
term/hurdio.c | 7 +-
trans/fakeroot.c | 291 +++++++++++++++++---------
trans/mtab.c | 176 ++++++++++++----
usermux/node.c | 2 +-
utils/Makefile | 1 +
utils/fakeauth.c | 19 +-
utils/frobauth.c | 4 +-
utils/mount.c | 7 +-
utils/portinfo.c | 126 ++++++++++-
utils/rpctrace.c | 124 ++++++++---
utils/settrans.c | 91 +++++---
250 files changed, 1464 insertions(+), 1073 deletions(-)
diff --cc debian/changelog
index 805092e,0000000..c8f0df1
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,1604 -1,0 +1,1608 @@@
- hurd (1:0.5.git20131101-2) UNRELEASED; urgency=low
++hurd (1:0.5.git20140113-1) unstable; urgency=low
++
++ [ Samuel Thibault ]
++ * New upstream snapshot.
++ - refresh patches.
+
+ [ Justus Winter ]
+ * patches/exec_filename_fix.patch: Fix passing path in hurdish
+ fakeroot/chroot.
+
- -- Samuel Thibault <address@hidden> Tue, 19 Nov 2013 00:21:47 +0100
++ -- Samuel Thibault <address@hidden> Mon, 13 Jan 2014 22:52:51 +0000
+
+hurd (1:0.5.git20131101-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New upstream snapshot.
+ * control: bump libc0.3-dev dependency to make sure we don't get internal
+ inlines exported by previous versions.
+ * patches/proc_set_init_task.patch: Fix kernel pid in procfs too.
+ * Remove dpkg | install-info dependency.
+ * Bump Standards-Version to 3.9.5.
+
+ [ Justus Winter ]
+ * hurd.hurd-console.init: Clean up pid if any.
+
+ -- Samuel Thibault <address@hidden> Sun, 03 Nov 2013 12:19:03 +0000
+
+hurd (1:0.5.git20130928-1) unstable; urgency=low
+
+ * New upstream release, yay!
+
+ -- Samuel Thibault <address@hidden> Sat, 28 Sep 2013 14:25:53 +0000
+
+hurd (20130924-2) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * patches/proc_set_init_task.patch: New patch from Justus Winter to make
+ /hurd/init pid 2, leaving room for sysvinit to be pid 1.
+
+ -- Samuel Thibault <address@hidden> Tue, 24 Sep 2013 21:58:30 +0000
+
+hurd (20130924-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New upstream snapshot
+ - patches/mount-test-opts.patch: Drop, merged upstream
+ * control, hurd.install.in, rules: Remove ufs parts.
+ * patches/rc.patch: Make sure /proc is mounted at boot.
+ * hurd-udeb.install.in: Add hurd/mtab.
+ * control: Bump libc0.3-dev build dep to get new RPC stubs.
+ * patches/newRPC: Drop accordingly.
+ * rules: Pass --without-libdaemon to udeb configure.
+
+ [ Justus Winter ]
+ * Include the nullauth utility in hurd and hurd-udeb.
+
+ [ Pino Toscano ]
+ * Add missing libpcap0.8-dev build dependency.
+ * Add ${perl:Depends} in hurd-dev.
+ * Add ${shlibs:Depends} in hurd-libs0.3-udeb and hurd-udeb.
+ * Rename the installed libdde-linux26 stuff back to libdde_linux26.
+ * Exclude shlibs for private modules in /usr/lib/hurd; this allows the drop
+ of the shlibs for hurd, which has no public libraries anymore after the
+ hurd-libs0.3 split.
+ * run.patch: refresh to apply without fuzz.
+ * Rename the "build" build dir to "build-deb".
+ * Force the sourcedir for dh_install to debian/tmp, and strip/fix the paths
+ in *.install.in files according to the new root.
+ * Do a separate build for the udeb variant, so it can have a different
+ configuration:
+ - Use build-udeb as build dir.
+ - Use debian/tmp-udeb as DESTDIR, and use it as sourcedir for dh_install
+ of *-udeb binaries.
+ * Remove duplicated texinfo build dependency.
+
+ -- Samuel Thibault <address@hidden> Tue, 24 Sep 2013 08:56:08 +0000
+
+hurd (20130916-1) unstable; urgency=low
+
+ * New upstream snapshot. Closes: Bug#701516, Bug#313560.
+ - patches/{ext2fs_large_stores.patch, ext2fs_large_stores_pthread.patch,
+ mount-n.patch, mount-f.patch, mount-remount.patch, procfs-update.patch,
+ procfs-default.patch, procfs-get-options.patch, sutils-types.patch,
+ mount-ignore-mounted-all.patch, mount-t-auto.patch,
+ sutils-multiple-none.patch, umount.patch}: Remove, merged upstream.
+ - patches/{exec_filename_exec.patch, exec_filename_fs.patch,
+ mount-test-opts.patch, proxy-defpager.diff}: Refresh.
+ * patches/rc.patch: point /run/mtab to /proc/mounts.
+ * rules, control: Switch to makeinfo.
+ * Refresh lintian overrides.
+
+ [ Justus Winter ]
+ * hurd.hurd-console.init: Add an initscript for hurd-console.
+ * patches/hurd_console_startup.patch: Drop, this is no longer necessary with
+ the initscript in place.
+ * control: Add build dependency on libdaemon
+ * patches/newRPC.patch: New patch to fix link until libc gets rebuilt
+ against new .defs.
+
+ -- Samuel Thibault <address@hidden> Mon, 16 Sep 2013 14:30:13 +0000
+
+hurd (20130727-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New upstream snapshot.
+ - Adds firewalling support.
+ - Move to multiple orig tarballs.
+ - Use autoreconf.
+ - Rename libdde_linux26 into libdde-linux26
+ * Bump Standards-Version to 3.9.4 (no changes).
+ * control: Remove Neal and Jeff from uploaders.
+
+ [ Justus Winter ]
+ * Include the umount utility in hurd and hurd-udeb.
+
+ -- Samuel Thibault <address@hidden> Sat, 27 Jul 2013 22:37:17 +0000
+
+hurd (20130707-1) unstable; urgency=low
+
+ * New upstream snapshot (Closes: Bug#714733).
+
+ * patches/{mount-{f,n,remount,test-opts,ignore-mounted-all,t-auto},
+ sutils-{types,multiple-none}}.patch: New
+ patches from Justus Winter to make mount more compatible with Linux'.
+ * patches/mount-loop.patch: New patch to ignore loop option.
+ * patches/umount.patch: New patch to add umount tool.
+ * patches/procfs-{update,default,get-options}.patch: New patches from Justus
+ Winter to make procfs behave as sysvinit desires.
+
+ -- Samuel Thibault <address@hidden> Sun, 07 Jul 2013 22:25:25 +0000
+
+hurd (20130620-1) unstable; urgency=low
+
+ * New upstream release.
+
+ * patches/exec_filename_fs.patch,exec_filename_use.patch,external.patch:
+ Refresh.
+ * io_select_timeout, doc-fix.patch: Remove merged patches.
+
+ -- Samuel Thibault <address@hidden> Wed, 19 Jun 2013 23:32:07 +0000
+
+hurd (20130226-3) unstable; urgency=low
+
+ [ Pino Toscano ]
+ * Stop installing the upstream ChangeLog, since it is just a pointer to the
+ pre-Git ChangeLog files.
+ * Install the Debian NEWS file only in the hurd binary.
+ * hurd: pre-depend on hurd-libs0.3. (Closes: #704998)
+ * control: build-depend on gawk.
+
+ [ Samuel Thibault ]
+ * Do not create lpr3, it does not exist in standard PC hardware.
+ * Add doc-fix.patch to fix documentation build.
+ * Add io_select_timeout patch to introduce the RPC definition for libc to
+ build the RPC stubs.
+
+ -- Samuel Thibault <address@hidden> Wed, 19 Jun 2013 10:56:03 +0000
+
+hurd (20130226-2) unstable; urgency=low
+
+ [ Pino Toscano ]
+ * Split the hurd libraries in own hurd-libs0.3{,-udeb} packages.
+
+ [ Samuel Thibault ]
+ * Bump netdde breaking version, our updated pfinet wants a rebuilt one.
+
+ [ Pino Toscano ]
+ * Move /bin/timertest and /bin/fstests from hurd to hurd-dev, since they are
+ development-related utilities; add proper breaks/replaces.
+ * Remove the libsem-dev conflicts/replaces/provides from hurd-dev, obsolete.
+ * Update the hurd-doc suggests:
+ - Remove hurd (a bit pointless, since it is essential).
+ - Add www-browser (for the HTML documentation).
+ * Add missing autotools-dev build dependency (for the autotools_dev dh
addon).
+ * Rename hurd{,-dev,-udeb}.install to hurd{,-dev,-udeb}.install.in, and
+ generate the .install files at build time.
+ * Call dh_install with --list-missing.
+ * Install the hurd libraries in multiarch library directories, but not in
+ the udeb.
+ * Update lintian overrides.
+
+ -- Samuel Thibault <address@hidden> Sat, 16 Mar 2013 00:06:39 +0000
+
+hurd (20130226-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New upstream snapshot.
+ * local/finish-install.d/51hurd_config-console: Disable the Hurd console on
+ the installed system if installation was done without it.
+ * Add remap script.
+
+ [ Pino Toscano ]
+ * Bump debhelper compatibility to 7:
+ - Bump compat to 7.
+ - Bump the debhelper build dependency to >= 7.
+ - Fix the dh_strip parameters.
+ * Rename hurd-console.default to hurd.hurd-console.default, and let it be
+ installed by dh_installinit.
+ * hurd/hurd-dev: install more stuff via dh_install, instead of copying them
+ manually.
+ * Turn the X11 compose data into static files in the debian directory
+ (instead of being generated at build time), and install them in hurd-udeb.
+ * Drop hurd-dbg.dirs, useless.
+ * hurd-udeb: remove XC-Package-Type, redundant with Package-Type.
+ * Fix Vcs-* keys to point to anonscm.debian.org.
+ * Remove asterisks from NEWS file.
+ * Update lintian overrides.
+ * Switch rules from cdbs to the sequential `dh':
+ - Bump the debhelper build dependency to >= 7.0.50~.
+ - Drop the cdbs build dependency.
+ - Install BUGS, NEWS, README, and TODO only in hurd.
+
+ -- Samuel Thibault <address@hidden> Tue, 26 Feb 2013 02:12:55 +0000
+
+hurd (20130105-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New ustream snapshot
+ - Migrates everything to libpthread.
+ - Bump libc0.3-dev build dependency to get pthread_hurd_cond_wait.
+ - Break libthreads-based netdde.
+ - Remove install-msgids.diff, pflocal.patch,
+ runsystem_setup_pflocal.patch, makedev_keep_options.patch,
+ makedev_parted_store.patch, ext2fs_nowait.patch, libpager_deadlock.patch,
+ libdiskfs_self-reauth.patch, libdiskfs_sync.patch, merged upstream
+ - Refresh exec_filename_exec.patch, exec_filename_fs.patch,
+ ext2fs_large_stores.patch, external.patch, init_try_runsystem.gnu.patch,
+ libdde_workqueue.patch, libports_stability.patch, pfinet_dhcp.patch,
+ posix-sigcodes.patch, proxy-defpager.diff.
+ * New patch ext2fs_large_stores_pthread.patch to move ext2fs large store
+ support to pthread.
+ * control:
+ - Add missing libx11-dev, x11proto-core-dev, pkg-config, xkb-data, flex,
+ and bison build-dependencies.
+ - Drop hurd dependency on libc0.3, it is now properly automatically
+ computed.
+ * Fix g-i by putting console keyboard parameters before mouse parameters,
+ otherwise it seems the -c option gets lost.
+ * Install all msgids files, not only hurd.msgids.
+
+ -- Samuel Thibault <address@hidden> Sat, 05 Jan 2013 22:30:06 +0000
+
+hurd (20120710-3) unstable; urgency=low
+
+ * control: Make hurd depend on xkb-data.
+
+ -- Samuel Thibault <address@hidden> Thu, 12 Jul 2012 14:14:20 +0000
+
+hurd (20120710-2) unstable; urgency=low
+
+ * control: Make hurd-udeb depend on xkb-data-udeb. Make hurd
+ conflict/replace console-driver-xkb (Closes: Bug#681183).
+ * rules: Add empty compose file for hurd-udeb.
+ * hurd.install: Do not install empty compose file.
+ * local/runsystem: Read keyboard layout from console-setup, restart the
+ console automatically.
+
+ -- Samuel Thibault <address@hidden> Wed, 11 Jul 2012 12:32:57 +0000
+
+hurd (20120710-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ - patches/balloc.patch: Remove, merged upstream.
+ - patches/libdde_config.patch: Remove, merged upstream.
+ - patches/libdde_fixes.patch: Remove, merged upstream.
+ - patches/ext2fs_large_stores.patch: Refresh.
+ * hurd-console.default: Get keyboard layout from console-setup.
+ * rules: Set XKB_DATA root for installing in debian/tmp.
+ * hurd.install, hurd-dev.install: Install hurd xkb data.
+
+ -- Samuel Thibault <address@hidden> Tue, 10 Jul 2012 01:36:55 +0000
+
+hurd (20120605-2) unstable; urgency=low
+
+ * control: Add missing autoconf build-dependency.
+
+ -- Samuel Thibault <address@hidden> Wed, 06 Jun 2012 21:20:43 +0200
+
+hurd (20120605-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ - patches/ext2fs_large_stores.patch,libmachdev.patch: Refresh.
+ * control:
+ - Do not make hurd-udeb depend on netdde-udeb, it leads to configure
+ recursion, and is not actually needed.
+ - Depend on libpciaccess-dev for libddekit.
+ * hurd.postinst: Drop error messages while fetching pfinet options.
+ * local/setup-translators: Remove /dev/shm directory if any, to be replaced
+ with symlink to /run/shm.
+ * patches/balloc.patch: Fix parentheses.
+ * patches/exec_filename_{exec,fs,use}.patch: Add support for passing
+ filename through exec() call.
+
+ -- Samuel Thibault <address@hidden> Tue, 22 May 2012 00:07:09 +0000
+
+hurd (20120520-1) unstable; urgency=low
+
+ * New upstream snapshot, remove libpthread.
+ * rules: Bump to gcc-4.7.
+ * control: Depend on netdde, recent enough (>= 0.0.20120518~) to avoid
+ conflicts with gnumach drivers.
+ * local/setup-translators:
+ - Setup netdde translator and /dev/eth*.
+ - Add hd4 and hd5 /dev entries, for some SATA controlers.
+ * hurd.postinst: Migrate pfinet into using /dev/eth0.
+ * patches/libmachdev.patch: Fix packet delivery on pfinet restart.
+ * hurd-udev.install: Add devnode.
+
+ -- Samuel Thibault <address@hidden> Thu, 03 May 2012 01:53:00 +0200
+
+hurd (20120408-3) unstable; urgency=low
+
+ * patches/libpthread*, control, patches/external.patch: Remove libpthread,
now
+ shipped by glibc, and depend on it.
+
+ -- Samuel Thibault <address@hidden> Wed, 25 Apr 2012 02:14:04 +0000
+
+hurd (20120408-2) unstable; urgency=low
+
+ * debian/patches/libdde_{addr_fix,addr_list,config,devres,dma_head,ethoc,
+ ethtool,fixes,group_addr,mdio,netdev_tx_t,pci-needs_freset,pci_ids.h,phy,
+ pr_cont,rcu,rculist,rx_queue,trans_start,ucast_list,workqueue}: New patches
+ to upgrade the libdde_linux26 layer to 2.6.32 compatibility.
+ * debian/copyright: Add copyright information for libdde_linux26.
+
+ -- Samuel Thibault <address@hidden> Mon, 16 Apr 2012 00:31:41 +0000
+
+hurd (20120408-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ - Fixes tmpfs, thanks Maksym!
+ - Remove patches/console_utf-8.patch and patches/extern_inline_fix.patch,
+ merged upstream.
+ - patches/ext2fs_large_stores.patch: Refresh.
+ * control:
+ - Bump Standards-Version to 3.9.3 (no changes).
+ - Set hurd-udeb XC-Package-Type to udeb.
+ * patches/libexec.patch: Switch to gnu-mach-color TERM.
+ * hurd-console.default: Document the -f option of the vga module.
+ * patches/run.patch: Fix utmp database creation, and thus w command.
+ * rules: Remove dde drivers, will be shipped by netdde.
+
+ -- Samuel Thibault <address@hidden> Fri, 06 Apr 2012 19:07:15 +0200
+
+hurd (20120222-1) unstable; urgency=low
+
+ * New upstream snapshot
+ * Add libddekit and libdde_linux26 headers.
+
+ -- Samuel Thibault <address@hidden> Wed, 22 Feb 2012 01:57:29 +0000
+
+hurd (20120219-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New upstream snapshot.
+ - And merge DDE work from Zheng Da.
+ * patches/ext2fs_large_stores.patch: Fix memory leak, thanks Sergio Lopez!
+ * debian/hurd-console.default: Enable the console by default.
+ * debian/patches/libpthread_procfs.patch: Rename to external.patch.
+
+ [ Pino Toscano ]
+ * hurd.install, hurd.postinst, rules: Rename halt/reboot to
+ halt-hurd/reboot-hurd, and register them as slaves of the runsystem
+ alternative.
+
+ -- Samuel Thibault <address@hidden> Sun, 19 Feb 2012 06:17:49 +0000
+
+hurd (20111206-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ - Drop debian/patches/libpager_update_seqno.patch, applied upstream.
+ - Closes: #650097, #650186, #650096.
+ * control:
+ - Use hurd-any instead of hurd-i386.
+ - Recommend bf-utf-source to get more than just latin1 on the console.
+ * hurd.postinst: Set up "*random" alternatives and generate seed on
+ first install too.
+ * patches/libexec.patch, hurd.install, hurd-udeb.install, hurd.postinst,
+ rules: Move getty, console-run, and runttys to /sbin, runsystem and rc to
+ /etc/hurd (Closes: Bug#556526).
+ * hurd-udeb.lintian-overrides: Drop override about /libexec
+ * local/random-hurd.sh, urandom-hurd.sh: Add scripts to be used as
+ hurd-provided translators for /dev/*random.
+ * hurd.postinst: Remove "random" alternative introduced by 20111106-1, as it
+ makes rgrep in /etc not working any more. Install random.sh alternative
+ instead, which sets /hurd/u?random.sh scripts.
+ * local/setup-translators: Set /dev/u?random translator from
+ /hurd/u?random.sh instead of making them alternatives. Set up
+ /dev/u?random in hurd-udeb too.
+ * hurd-udeb.install: Add /hurd/random.
+ * hurd.install: Add /etc/securetty.
+ * local/setup-translators: Move /run initialization to...
+ * patches/run.patch: ... boot time.
+
+ -- Samuel Thibault <address@hidden> Tue, 06 Dec 2011 01:49:34 +0100
+
+hurd (20111106-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ - Drop debian/patches/ttys.patch.patch, applied upstream.
+ - Drop debian/patches/auth-intr-cure.patch, applied upstream.
+ - Drop debian/patches/libpthread_tls.patch, applied upstream.
+ - debian/patches/libpthread_procfs.patch: Refresh.
+ - Closes: #639010.
+ * local/setup-translators:
+ - Restore /dev/shm creation.
+ - create /run/shm and /run/lock, to fix locking until we properly start
+ rcS.d scripts.
+ - Add cd[01] SCSI CD-ROMs.
+ * patches/libdiskfs_sync.patch: New patch to fix sync at shutdown.
+ * patches/libpthread_procfs.patch: Add random server.
+ * local/setup-translators: Use random server, set up its entropy pool in
+ /var/spool.
+ * debian/control, debian/local/setup-translators: Use native random server
+ set on /dev/u?random-hurd instead of random-egd on /dev/u?random.
+ (Closes: bug#637231)
+ * debian/hurd.{postinst,prerm}: Handle alternative for /dev/u?random,
+ default to u?random-hurd, generate an initial pseudo-random seed.
+ * debian/hurd.lintian-overrides: Override warnings about the /dev/u?random
+ mangling.
+ * debian/local/cdrom.h: Add header for basic CD-ROM ioctl support.
+ * debian/patches/libpthread_globsigdisp.patch,posix-sigcodes.patch: New
+ patches from Jeremie Koenig to enable global signal support.
+ * debian/patches/libpthread_sigmask.patch: Update to global signal support.
+ * debian/copyright: Fix copyright notice.
+ * debian/control:
+ - Drop article from synopsis.
+ - Tighten hurd-dev dependency on hurd to the same version.
+ * debian/hurd-udeb.install: Only include the necessary console drivers.
+ * debian/patches/random-default-fast.patch: Set default randomness to fast,
+ until we set up a daemon to feed /dev/random with entropy.
+
+ -- Samuel Thibault <address@hidden> Thu, 18 Aug 2011 01:15:04 +0000
+
+hurd (20110519-3) unstable; urgency=low
+
+ * debian/local/runsystem: Set d-i umask to 022.
+
+ -- Samuel Thibault <address@hidden> Sat, 11 Jun 2011 19:21:25 +0200
+
+hurd (20110519-2) unstable; urgency=low
+
+ * debian/control: Make the hurd package depend on random-egd, to get
+ /dev/*random working as early as d-i's base install.
+ * debian/local/setup-translators: Add entries for partitions 9-16 too, as
the
+ full partman layout at least uses slice 9. Add comX and random translators
+ on installed system.
+ * debian/hurd-console.default: Enable keyboard and mouse repeaters by
+ default for X11.
+ * debian/hurd.lintian-overrides, debian/hurd-dev.lintian-overrides: Update
to
+ newer lintian format.
+
+ -- Samuel Thibault <address@hidden> Wed, 08 Jun 2011 22:26:15 +0000
+
+hurd (20110519-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ * debian/control:
+ - Depend on gcc-4.6 instead of gcc-4.4.
+ - Bump Standards-Version to 3.9.2 (no change needed)
+ * debian/rules: Build with gcc-4.6.
+ * debian/local/runsystem, setup-translators: Enable mouse and keyboard
+ repeaters for g-i support.
+ * debian/local/setup-translators: Pass the --compatible option to procfs to
+ tweak it a bit to get proc-related tools working without too much
patching.
+ Add fd[01].
+ * debian/patches/disable-proc_getnports.patch: Remove patch, libc0.3 now
+ has proc_getnports, and the hurd package already breaks older versions.
+ * debian/patches/uptime_w_path_fix.patch: Fix /usr/bin/w-hurd command name,
+ thanks harish badrinath for the notice.
+
+ -- Samuel Thibault <address@hidden> Sun, 10 Apr 2011 20:42:45 +0200
+
+hurd (20110319-2) unstable; urgency=low
+
+ * debian/hurd.postinst: use useradd from required passwd package instead of
+ adduser, which is not required and thus not available at debootstrap.
+ * debian/control: Bump Standards-Version to 3.9.1 (no change needed).
+
+ -- Samuel Thibault <address@hidden> Mon, 21 Mar 2011 17:33:19 +0100
+
+hurd (20110319-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New upstream snapshot.
+ * debian/local/setup-translators: Add inet6 -> 26 symlink.
+ * debian/local/finish-install.d/51hurd_config-target-network: Set pfinet
+ translator on /servers/socket/26 too, add +x permission.
+ * debian/local/partman/commit.d/40hurd_reload-partitions: Add +x permission.
+ * debian/local/runsystem: Don't let d-i start if there is less then 256MiB
+ memory. Tell the user he needs to be patient while the d-i templates get
+ loaded.
+ * debian/patches/ext2fs_nowait.patch: Avoid systematically waiting for all
+ disk writes, as it slows us down awfully.
+ * debian/control: Recommend random-egd, to provide /dev/*random
+ (Closes: Bug#558664). Break old gnumach packages, instead of depending on
+ them. Break libc0.3 before getifaddrs fix, now that pfinet provides a
+ correct response.
+ * debian/patches/auth-intr-cure.patch: Add patch to mitigate
+ reauthentication issue triggered by sudo.
+ * debian/patches/libpager_deadlock.patch: Add patch to fix a known
+ synchronization deadlock.
+ * debian/local/finish-install.d/51hurd_config-target-network: Record active
+ network configuration, not only passive. Create /servers/socket/26 node if
+ it doesn't exist yet.
+ * debian/local/setup-translators, debian/patches/makedev_keep_options.patch:
+ Fix -K option into not starting existing translators.
+ * debian/patches/libdiskfs_self-reauth.patch: Add patch to fix one of the
+ spurious mach port deallocation issues.
+
+ [ Justus Winter ]
+ * debian/hurd.{postinst,postrm}: Add/remove loginpr shell and login user
with
+ loginpr shell, to drop the login shell in order to match common Debian
+ convention, in particular for remote telnet access...
+ (Closes: Bug#556522)
+
+ [ Samuel Thibault ]
+ * debian/NEWS: Add a notice about that.
+
+ -- Samuel Thibault <address@hidden> Sun, 27 Feb 2011 19:02:04 +0100
+
+hurd (20100926-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New upstream snapshot. Switch to jkoenig's procfs.
+ * debian/control: Depend on gcc-4.4 instead of gcc-4.3. Thanks Emilio!
+ * debian/rules: Fix back debugging symbols into the hurd-dbg package.
+ * debian/local/runsystem: Do not start the Hurd console if the TERM variable
+ is given. Should permit mach-console install for better debugging as well
+ as Xen or sub-hurd support.
+ * debian/patches/disable-proc_getnports.patch: New patch to disable
+ usage of proc_getnports until libc0.3 provides it.
+ * debian/patches/libpthread_procfs.patch: Update patch to integrate procfs
+ build.
+
+ [ Jeremie Koenig ]
+ * debian/patches/libpthread_sigmask.patch: New patch to fix missed signals
+ when using pthread_sigmask.
+
+ -- Samuel Thibault <address@hidden> Sun, 26 Sep 2010 22:15:43 +0000
+
+hurd (20100829-1) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * New upstream 20100827 snapshot.
+ - debian/patches/dir_acces_fix.patch: Remove patch, merged upstream.
+ - debian/patches/exec_fix.patch: Likewise.
+ - debian/patches/libdiskfs-rename.patch: Likewise.
+ - debian/patches/libpthread_mutex_owner.patch: Likewise.
+ - debian/patches/libpthread_recursive_mutex_initializer.patch: Likewise.
+ - debian/patches/libpthread_setcancel.patch: Likewise.
+ - debian/patches/pfinet-gcc-4.3-fix.patch: Likewise.
+ - debian/patches/procfs.patch: Likewise.
+ - debian/patches/ext2fs_large_stores.patch: Resync.
+ - debian/patches/libpthread_procfs.patch: New patch, to enable libpthread
+ and procfs build.
+ * debian/rules: Really put debugging symbols into the hurd-dbg package.
+ * debian/patches/hurd_console_startup.patch: Add -d current_vcs to enable
+ /dev/cons/vcs by default.
+ * debian/copyright: Reference /usr/share/common-licenses/GPL-2 instead of
+ just GPL.
+ * debian/hurd.dirs: Add /etc/sysctl.d.
+ * debian/control (hurd-udeb): Add Provides: *-modules.
+ * debian/patches/diskfs_no_inherit_dir_group.patch: Fix documentation too.
+ * debian/control:
+ - Drop duplicate priority and section fields.
+ - Add ${misc:Depends}.
+ - Add dpkg (>= 1.15.4) | install-info dependency.
+ - Drop -1 from gnumach-dev dependency.
+ - Bump Standards-Version to 3.8.4 (no change needed).
+ * debian/local/runsystem.gnu: New runsystem file for the d-i case,
incomplete
+ for now.
+ * debian/hurd-udeb.install: Remove getty, runttys, /etc/ttys ftpcp, ftpdir,
+ ftpfs, hostmux, usermux, nfs, isofs.static, rpctrace, gcore, forks.
Install
+ local/runsystem.gnu in /libexec, install ext2fs.static in /boot
+ * debian/rules: Do not ship *_pic.a, as mklibs breaks them.
+ * debian/patches/proxy-defpager.diff: New patch to fix proxying defpager.
+ * debian/patches/ext2fs_large_stores.patch: Apply Alioth fix #312328 from
+ Fredrik Hammar to fix random startup crash (Closes: Bug#576519).
+ * debian/patches/procfs.patch: Fix swap size printout.
+ * debian/hurd-udeb.install: remove reboot and halt (will be provided by
+ busybox), remove crash and password (not useful), add procfs, remove rc.
+ * debian/local/runsystem.gnu: Integrate jkoenig d-i changes, rename to
+ debian/local/runsystem.
+ * debian/hurd.links: Add symlink to /usr/src/unifont.bdf from the unifont
+ package to /usr/share/hurd/vga-system.bdf so the console can pick it up
+ when installed.
+ * debian/source/options: Set compression to bzip2.
+ * debian/control: Update Vcs fields to point to the new git repositories.
+ * debian/patches/console_ignore_bdf_err.patch: New patch to ignore erroneous
+ number of glyphs in bdf files.
+ * debian/rules: Remove debian/ChangeLog generation.
+ * debian/local/runsystem: Pass -g option to the console to maximize glyph
+ usage for chinese.
+ * debian/hurd.lintian-overrides: New overrides to announce which servers are
+ supposed to be statically linked, accept hurd to be essential, and accept
+ some setuid binaries.
+ * debian/hurd-udeb.lintian-overrides: New overrides to validate
+ hurd-i386-specific paths.
+ * debian/hurd-dev.lintian-overrides: New overrides to allow libstore_* not
+ being stripped (they wouldn't work, else).
+ * debian/local/runsystem: Export kernel parameters into environment, like
+ Linux does.
+ * debian/control: Use Package-Type instead of XC-Package-Type.
+ * debian/rules: Switch to gcc-4.4 (Closes: Bug#594285).
+
+ [ Guillem Jover ]
+ * Update make-new-tarball.sh to exclude git instead of CVS paths.
+ * Refresh patches with -pab to allow migration to source format 3.0 (quilt).
+ * Switch to source format “3.0 (quilt)”:
+ - Remove quilt from Build-Depends.
+ - Remove patchsys-quilt.mk include from debian/rules.
+
+ [ Michael Banck ]
+ * debian/control (Uploaders): Removed Marcus Brinkmann. (Closes: #503564)
+
+ [ Jeremie Koenig ]
+ * debian/control: Build-Depend on libparted-dev.
+ * debian/local/partman/commit.d/40hurd_reload-partitions: New file for
+ hurd-udeb, make partman restart the partition translators after the
+ partition table has been changed.
+ * debian/hurd-udeb.install: Install file above.
+ * debian/local/runsystem (hurd-udeb): Start mach-defpager.
+ * debian/hurd-udeb.dirs: Include /servers.
+ * Sort out the way device and server nodes are created:
+ - debian/patches/makedev_keep_options.patch: Introduces the -k and -K
+ options to MAKEDEV, respectively to keep active translators running or
+ leave existing files alone completely.
+ - debian/patches/makedev_parted_store.patch: MAKEDEV -p will use parted
+ instead of device stores for disk partitions.
+ - debian/local/setup-translators: New script installed in /usr/lib/hurd,
+ uses MAKEDEV's new options to create all the necessary device and
+ server nodes.
+ - debian/local/runsystem (hurd-udeb): Uses setup-translators in "minimal
+ mode" to prepare the initrd when the installer is started. Parted
+ stores are used to avoid problems when reloading the partition table.
+ - debian/hurd.postinst: Uses setup-translators to create missing nodes on
+ upgrades (on initial installs, debootstrap will use the
+ setup-translators script from the installed hurd package to setup the
+ devices and servers itself).
+ * debian/local/finish-install.d/51hurd_config-target-network: copy the
+ /servers/socket/2 translator settings into the target system.
+ * debian/hurd-udeb.links: Include the unifont.bdf link in hurd-udeb too.
+
+ -- Samuel Thibault <address@hidden> Fri, 27 Aug 2010 13:12:12 +0200
+
+hurd (20090404-2) unstable; urgency=low
+
+ * debian/patches/libpthread_no_recursive_mutex_initializer.patch: Remove
+ unused patch.
+ * debian/patches/procfs.patch: Fix a couple of memory leaks, fix swap size
+ report.
+ * debian/control: Add missing comma in Build-Depends.
+ * debian/patches/pfinet-gcc-4.3-fix.patch: Cherry-pick upstream patch to fix
+ build with gcc-4.3
+ * debian/rules: Set CC to gcc-4.3 instead of gcc-4.2.
+ * debian/control: Build-Depend on gcc-4.3 instead of gcc-4.2.
+ (Closes: Bug#533782)
+ * debian/control: Add Provides: hurd to the hurd-udeb package, to meet
+ dependencies.
+ * debian/rules: Add --add-udeb="hurd-udeb" option to dh_makeshlibs
+ invocation for the hurd package, to fix udeb dependency generation.
+ * debian/patches/MAKEDEV.patch: New patch to use bash for MAKEDEV.
+ (Closes: Bug#548587)
+ * debian/patches/libdiskfs-rename.patch: New patch to fix ext2fs hang on
+ renaming directory to something/.
+
+ -- Samuel Thibault <address@hidden> Sun, 11 Oct 2009 04:38:02 +0200
+
+hurd (20090404-1) unstable; urgency=low
+
+ [ Michael Banck ]
+ * New snapshot from CVS.
+ + debian/patches/diskfs_lookup_error_fix.patch: Removed, applied upstream.
+ + debian/patches/libpthread_mutex-no-include.patch: Likewise.
+ + debian/patches/libpthread_pthreadtypes_h.patch: Likewise.
+ + debian/patches/libpthread_spin-lock-inline.patch: Likewise.
+ + debian/patches/lock-memory-clobber.patch: Likewise.
+ + debian/patches/pflocal-port-leak.patch: Likewise.
+ + debian/patches/libpthread_pthreadexit-safety.patch: Removed, no longer
+ needed.
+ + debian/patches/libpthread_tls.patch: Refreshed.
+ * Change packaging to no tarball-in-tarball and quilt.
+ + debian/control (Build-Depends): Added quilt.
+ + debian/rules (DEB_TAR_SRCDIR): Removed.
+ + debian/rules (tarball.mk) No longer include it.
+ + debian/rules (simple-patchsys.mk) Replaced with ...
+ + debian/rules (patchsys-quilt.mk) ... this.
+ + debian/patches/series: New file.
+ + debian/rules (build/hurd): Replace build-tree with $(DEB_SRCDIR).
+ + debian/rules (install/hurd): Likewise.
+ + debian/hurd-doc.docs: Adjust paths.
+ * debian/hurd.postinst: Install ps alternatives link in /bin, not
+ /usr/bin.
+ * debian/hurd.postinst: Install /proc as passive translator only.
+ * debian/patches/uptime_w_path_fix.patch: New patch, run /usr/bin/w instead
+ of /bin/w.
+ * debian/rules: Install fakeroot, uptime and vmstat into /usr/bin, not /bin.
+ * debian/rules (binary-predeb/hurd): Adjust paths.
+ * debian/hurd.install: Likewise.
+ * debian/hurd-udeb.install: Likewise.
+ * debian/hurd.dirs: Added /usr/bin.
+ * debian/hurd.postinst: Update accordingly.
+ * debian/patches/libpthread_mutex_owner.patch: New patch, fix a hang in
+ libpthread, by Neal Walfield.
+
+ [ Samuel Thibault ]
+ * debian/patches/thread-throttle.patch: Remove patch, makes ext2fs hang on
+ big syncs.
+ * debian/control (Build-Depends): Bump libc0.3-dev to (>= 2.9).
+ * debian/patches/stat_round.patch: New temporary patch, fixes symlink issues
+ with tar.
+ * debian/patches/dir_acces_fix.patch: New patch, fixes ext2fs crashes.
+ * debian/patches/libports_stability.patch: New patch to keep the old
+ behavior of libports.
+ * debian/patches/libpthread_fix.patch: New patch from Thomas Schwinge to fix
+ libpthread.
+ * debian/patches/libpthread_setcancel.patch: New patch to fix configuration
+ of octave3.0.
+ * debian/patches/extern_inline_fix.patch: New patch from Marc Dequène to
+ fix extern inline declarations.
+ * debian/patches/exec_fix.patch: New patch to fix random hang of exec.
+ * debian/patches/libpthread_recursive_mutex_initializer.patch: New patch
+ to fix the recursive mutex initializers usage in libraries not linking
+ against libpthread.
+ * debian/control: Now using Standards-Version 3.8.2 (no changes needed).
+ * debian/control: Add myself to uploaders.
+
+ [ Guillem Jover ]
+ * Change hurd-dbg section to debug.
+
+ -- Samuel Thibault <address@hidden> Sun, 28 Jun 2009 22:19:07 +0000
+
+hurd (20080607-6) unstable; urgency=low
+
+ * debian/rules (install/hurd): Move away ps, uptime, vmstat and w in order
+ to have them handled by update-alternatives.
+ * debian/hurd.install: Update accordingly.
+ * debian/hurd-udev.install: Likewise.
+ * debian/rules (SUID_PROGRAMS): Likewise.
+ * debian/hurd.postinst: Run update-alternatives for ps, uptime, vmstat and
+ w.
+ * debian/hurd.postinst: Setup /proc if it hasn't been already.
+
+ -- Michael Banck <address@hidden> Fri, 12 Sep 2008 22:58:08 +0200
+
+hurd (20080607-5) unstable; urgency=low
+
+ * debian/patches/procfs.patch: New patch, implements a /proc translator, by
+ Madhusudan C.S., taken from a CVS branch.
+
+ -- Michael Banck <address@hidden> Tue, 02 Sep 2008 00:24:36 +0200
+
+hurd (20080607-4) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * debian/patches/pflocal-port-leak.patch: New patch to fix port leaks in
+ pflocal which was making tcl-related builds hang.
+ * debian/patches/lock-memory-clobber.patch: New patch to fix lock safety.
+ * debian/patches/libpthread_mutex-no-include.patch: New patch to drop
+ useless (and problematic) inclusion from mutex.h.
+ * debian/patches/libpthread_spin-lock-inline.patch: New patch to split off
+ inlines from spin-lock.h into spin-lock-inline.h to avoid including too
+ many headers from pthreadtypes.h (fixes glibc 2.7-13 compilation).
+ * debian/patches/libpthread_pthreadtypes_h.patch: Remove comma at end of
+ enumeration.
+ * debian/patches/diskfs_lookup_error_fix.patch: New patch to fix deadlock in
+ lookup error conditions.
+
+ -- Michael Banck <address@hidden> Fri, 29 Aug 2008 22:53:20 +0200
+
+hurd (20080607-3) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * debian/patches/libpthread_pthreadtypes_h.patch: fix patch into really
+ installing <pthread/pthreadtypes.h>.
+
+ -- Michael Banck <address@hidden> Sat, 12 Jul 2008 02:23:21 +0200
+
+hurd (20080607-2) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * debian/patches/libpthread_pthreadtypes_h.patch: New patch to get pthread
+ types into <pthread/pthreadtypes.h>, which <bits/pthreadtypes.h> will be
+ able to include.
+ * debian/patches/libpthread_stubs.patch: Fix build.
+ * debian/patches/libpthread_pthreadexit-safety.patch: New patch to fix a
+ race during thread exit. Fixes e.g. libatomic-ops' testsuite, and
+ probably also a lot of others'.
+
+ -- Michael Banck <address@hidden> Fri, 11 Jul 2008 15:33:27 +0200
+
+hurd (20080607-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ + debian/patches/ext2fs_large_stores.patch: Removed copyright year
+ changes.
+ + debian/patches/libpthread_getattr.patch: Removed, applied upstream.
+ + debian/patches/libpthread_inline.patch: Likewise.
+ + debian/patches/mmx.patch: Likewise.
+ + debian/patches/libpthread_stubs.patch: Updated, one hunk got applied
+ upstream.
+ * debian/rules (CC): New variable, set to gcc-4.2.
+ * debian/control (Build-Depends): Added gcc-4.2.
+
+ -- Michael Banck <address@hidden> Wed, 11 Jun 2008 01:02:01 +0200
+
+hurd (20071119-2) unstable; urgency=low
+
+ [ Michael Banck ]
+ * debian/local/menu.lst: Add some comments.
+ * debian/patches/libpthread_getattr.patch: New patch, implements
+ pthread_getattr_np, taken from CVS.
+
+ [ Guillem Jover ]
+ * debian/copyright: Update FSF address.
+ * debian/control: Use binary:Version and source:Version instead of
+ deprecated Source-Version substvar.
+ * debian/changelog: Fix Neal's mail address in ancient entry.
+ * debian/control: Line-wrap Build-Depends and Uploaders fields.
+ * debian/control: Now using Standards-Version 3.7.3 (no changes needed).
+ * debian/control: Move packages from base Section to admin.
+ * debian/control: Add Homepage field.
+ * debian/control: Add Vcs-Browser and Vcs-Svn fields.
+
+ [ Samuel Thibault]
+ * debian/patches/mmx.patch: New patch to align the stack of created
+ threads.
+ * debian/patches/thread-throttle.patch: New patch, add a fix for ext2fs to
+ keep the superblock in memory so as to avoid a thread creation dead lock.
+ * debian/patches/libpthread_stubs.diff: New patch, add generation of
+ <gnu/stubs-pthread.h> to advertise libpthread stubs.
+
+ -- Michael Banck <address@hidden> Sun, 18 May 2008 20:22:32 +0200
+
+hurd (20071119-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ + Includes a port of Linux' IPv6 support by Stefan Siegl.
+ (Closes: #274156)
+ + debian/patches/glibc_stat_updates.patch: Removed, applied upstream.
+ + debian/patches/libpthread_no-inline.patch: Likewise.
+ + debian/patches/pfinet_-fno-strict-aliasing.patch: Likewise.
+ + debian/patches/servers.boot-update.patch: Likewise.
+ + debian/patches/siocgifhwaddr.patch: Likewise.
+ + debian/patches/pfinet_dhcp.patch: Rediffed.
+ + debian/patches/pflocal.patch: Likewise.
+
+ [ Samuel Thibault ]
+ * debian/local/soundcard.h: Add _PATCHKEY definition.
+ * debian/patches/libpthread_tls.patch: New patch, replaces
+ debian/patches/libpthread_tls_transitional.patch.
+ * debian/patches/libpthread_inline.patch: New patch to fix extern inlines
+ with gcc 4.3.
+
+ [ Michael Banck ]
+ * debian/patches/runsystem_setup_pflocal.patch: New patch, sets up
+ pflocal during bootup if this has not been done before (in the install
+ case).
+ * debian/hurd.dirs: Added servers/socket.
+ * debian/patches/init_try_runsystem.gnu.patch: New patch, try
+ /libexec/runsystem.gnu as well if /libexec/runsystem is not
+ available.
+ * debian/patches/tmp_exec_startup.patch: New patch, try to attach the
+ exec server to /tmp/exec if /servers/exec is not yet available.
+ * debian/patches/diskfs_no_inherit_dir_group.patch: Update with better
+ patch by Thomas Schwinge.
+ * debian/patches/pfinet_dhcp.patch: Updated with new patch by Christian
+ Dietrich and Stefan Siegl.
+ * debian/local/menu.lst: New file.
+ * debian/hurd.examples: Ship it.
+
+ -- Michael Banck <address@hidden> Tue, 08 Jan 2008 01:10:07 +0100
+
+hurd (20070606-3) unstable; urgency=low
+
+ [ Michael Banck ]
+ * debian/patches/patches/servers.boot-update.patch: New patch, updates
+ the servers.boot script to use the currently used Grub module lines.
+ * debian/rules (install/hurd::): Install release/servers.boot into /boot.
+ * debian/patches/pfinet_-fno-strict-aliasing.patch: New patch, adding
+ -fno-strict-aliasing to pfinet's CFLAGS to fix compilation with gcc-4.2,
+ taken from CVS.
+ * debian/hurd.dirs: Added /boot.
+
+ [ Samuel Thibault ]
+ * debian/patches/patches/libpthread_no-inline.patch: New patch, removes
+ extern inlines to fix g++ and gettext FTBFS, by Samuel Thibault.
+
+ -- Michael Banck <address@hidden> Thu, 9 Aug 2007 17:08:01 +0200
+
+hurd (20070606-2) unstable; urgency=low
+
+ * debian/patches/libpthread_tls_transitional.patch: New patch,
+ implements TLS for libpthread, by Samuel Thibault.
+ * debian/patches/libpthread_weak_inline.patch: Removed.
+
+ -- Michael Banck <address@hidden> Sun, 22 Jul 2007 23:45:39 +0200
+
+hurd (20070606-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ + Includes a patch to make pthread_* function aliases strong.
+ (Closes: #407208)
+ + debian/patches/console_ioperms.patch: Removed, fixed upstream.
+ + debian/patches/no-debian-dir.patch: Removed, applied upstream.
+ * debian/local/soundcard.h: Updated by Samuel Thibault.
+ * debian/control (Build-Depends): Added libc0.3-dev (>= 2.5-5).
+ * debian/copyright: Clarify that the package is maintained by the
+ Debian GNU Hurd maintainers and no longer by upstream.
+ * debian/control (Build-Depends): Bumped gnumach-dev version to
+ 2:1.3.99.dfsg.cvs20070526-1.
+ * debian/control (hurd/Depends): Bumped gnumach version to
+ 2:1.3.99.dfsg.cvs20070526-1.
+
+ -- Michael Banck <address@hidden> Wed, 6 Jun 2007 18:54:37 +0200
+
+hurd (20060825-2) unstable; urgency=low
+
+ * Rebuilt against gnumach_1:20060826.dfsg.1-1.
+ * debian/control (hurd/Depends): Bump versioned dependency of gnumach
+ to 1:20060826.dfsg.1-1.
+ * debian/control (Build-Depends): Added versioned Build-Depends on
+ gnumach-dev 1:20060826.dfsg.1-1.
+ * debian/control (Build-Depends-Indep): Moved texi2html to ...
+ * debian/control (Build-Depends): ... here.
+
+ -- Michael Banck <address@hidden> Wed, 30 Aug 2006 00:17:15 +0200
+
+hurd (20060825-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * debian/patches/beta_make.patch: Removed, fixed upstream.
+ * debian/patches/ext2fs_large_stores.patch: Resynced.
+ * debian/patches/pfinet_dhcp.patch: Likewise.
+ * debian/patches/ftpfs_fix.patch: Removed, applied upstream.
+ * debian/patches/gcc-4.0_fixes.patch: Likewise.
+ * debian/patches/libpthread_need_clockid_t.patch: Likewise.
+ * debian/patches/libstore_attribute.patch: Likewise.
+ * debian/patches/magic_port_leak.patch: Likewise.
+ * debian/patches/pfinet_packet_filter.diff: Likewise.
+ * debian/patches/semaphore_restrict_fix.patch: Likewise.
+ * debian/rules (build/hurd::): Assemble all upstream ChangeLogs to one
+ big ChangeLog.
+ * debian/rules (DEB_INSTALL_CHANGELOGS_ALL): New variable, install it.
+ * debian/patches/no_shm_makedev.diff: Renamed to ...
+ * debian/patches/makedev.diff: ... this.
+ * debian/patches/console_utf-8.patch: New patch, setting the Hurd
+ console to UTF-8 by default. (Closes: #348260)
+
+ -- Michael Banck <address@hidden> Sat, 26 Aug 2006 01:00:41 +0200
+
+hurd (20050513-8) unstable; urgency=low
+
+ * debian/patches/pfinet_packet_filter: New patch, adding support for
+ gathering incoming packets, taken from CVS.
+ * debian/hurd.install: Install hurd.msgids into /usr/share/msgids.
+ * debian/hurd.dirs: Added /usr/share/msgids.
+ * debian/patches/sysvshm.patch: Removed, it was causing deadlocks.
+
+ -- Michael Banck <address@hidden> Fri, 4 Aug 2006 15:54:09 +0200
+
+hurd (20050513-7) unstable; urgency=low
+
+ * debian/patches/diskfs_no_inherit_dir_group.patch: New patch,
+ enabling SysV style behaviour (i.e. adopt the user's gid, not the
+ one from the parent directory) for group permissions of newly
+ created files by default.
+ * debian/rules (install/hurd::): Install motd.UTF8 into /etc.
+ * debian/patches/install-msgids.diff: New patch, install RPC message
+ IDs in $(datadir)/msgids, by Alfred M. Szmidt.
+ * debian/hurd.postinst: Create symlinks for /dev/kbd and /dev/mouse to
+ /dev/cons/{kbd,mouse} if not present already. (Closes: #355002)
+ * debian/patches/no_shm_makedev.diff: New patch, skip /dev/shm device
+ when generating the standard devices.
+ * debian/hurd.postinst: Create /dev/shm directory if not present
+ already.
+ * debian/patches/ext2fs_large_stores.patch: Include <hurd/pager.h>
+ rather than "../libpager/pager.h" and add pager to libdiskfs'
+ HURDLIBS.
+ * local/soundcard.h: New file by Samuel Thibault.
+ * debian/rules (install/hurd-dev::) New rule, install soundcard.h
+ in debian/tmp/include/sys.
+
+ -- Michael Banck <address@hidden> Tue, 25 Apr 2006 19:30:33 +0200
+
+hurd (20050513-6) unstable; urgency=low
+
+ * debian/patches/console_ioperms.patch: New patch by Samuel Thibault.
+ * debian/control (hurd): Add versioned Depends on gnumach 1:20050801-3.
+ * debian/patches/beta_make.patch: New patch, support newer make.
+
+ -- Michael Banck <address@hidden> Thu, 12 Jan 2006 02:42:36 +0100
+
+hurd (20050513-5) unstable; urgency=low
+
+ * debian/patches/thread-throttle.patch: New patch by Sergio Lopez.
+ * debian/patches/gcc-4.0_fixes.patch: New patch by Thomas Schwinge.
+ * debian/patches/libstore_attribute.patch: New patch by Roland
+ McGrath, taken from CVS.
+ * debian/rules (CC): Removed.
+ * debian/control (Build-Depends): Removed gcc-3.3.
+ * debian/patches/libpthread_weak_inline.patch: New patch by Neal
+ Walfield.
+
+ -- Michael Banck <address@hidden> Sun, 11 Dec 2005 13:31:11 +0100
+
+hurd (20050513-4) unstable; urgency=low
+
+ * debian/rules (DEB_CONFIGURE_USER_FLAGS): Build iso9660fs.static
+ as well.
+ * debian/hurd-udeb.install: Added iso9660fs.static.
+ * debian/patches/hurd_console_startup.patch: New patch, adding
+ support for starting the Hurd console on bootup.
+ * debian/hurd.dirs: Added `etc/default'.
+ * debian/hurd-console.default: New file.
+ * debian/rules (install/hurd::) Install it into debian/hurd/etc/default.
+ * debian/hurd.postinst: Removed creation of user `login'.
+ * debian/NEWS: Mention the possibility of starting the Hurd console
+ on bootup.
+ * debian/patches/magic_port_leak.patch: New patch by Marcus
+ Brinkmann, taken from CVS.
+ * debian/patches/ftpfs_fix.patch: New patch by Samuel Thibault.
+ * debian/patches/sysvshm.patch: New patch by Marcus Brinkmann.
+ * debian/patches/libpager_update_seqno.patch: New patch by Sergio Lopez.
+ * debian/patches/semaphore_restrict_fix.patch: New patch by Samuel
+ Thibault. (Closes: #320121)
+ * debian/control (Build-Depends): Added gcc-3.3.
+ * debian/rules (CC): New variable, set to gcc-3.3.
+
+ -- Michael Banck <address@hidden> Sun, 28 Aug 2005 14:45:55 +0200
+
+hurd (20050513-3) unstable; urgency=low
+
+ * debian/control (hurd-doc): Fix description to indicate the manual
+ is included in HTML and not PostScript format. (Closes: #309748)
+ * debian/control (hurd-dev): Provide/Replace/Conflict libsem-dev.
+ * debian/control (Build-Depends): Version dependency on debhelper to
+ >= 4.2.
+ * debian/control (hurd-udeb): New package.
+ * debian/hurd-udeb.install: New file.
+ * debian/patches/libpthread_need_clockid_t.patch: Updated from CVS.
+
+ -- Michael Banck <address@hidden> Thu, 9 Jun 2005 01:40:31 +0200
+
+hurd (20050513-2) unstable; urgency=low
+
+ * debian/patches/libpthread_need_clockid_t.patch: New patch by Neal
+ Walfield.
+ * debian/patches/pflocal.patch: New patch by Neal Walfield.
+
+ -- Michael Banck <address@hidden> Tue, 17 May 2005 18:37:08 +0200
+
+hurd (20050513-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ + Contains a POSIX semaphore implementation by Neal Walfield.
+ + Contains more libpthread fixes for test suites by Neal Walfield.
+ * debian/hurd.postinst: Handle /bin/fakeroot-hurd by alternatives.
+
+ -- Michael Banck <address@hidden> Sun, 15 May 2005 13:00:12 +0200
+
+hurd (20050507-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ + Contains libpthread fixes for various test suites by Neal
+ Walfield.
+ * debian/changelog (20050119-3): Added overlooked Closes: tag.
+ * debian/control (hurd-dbg/Priority:) Set to extra as requested by
+ the ftp-masters.
+ * debian/patches/isofs_boot.patch: Removed, applied upstream.
+ * debian/patches/libpthread_linker_script.patch: Likewise.
+
+ -- Michael Banck <address@hidden> Sat, 7 May 2005 15:28:51 +0200
+
+hurd (20050119-3) unstable; urgency=low
+
+ * debian/control (hurd-dbg): New package.
+ * debian/rules (DEB_DH_STRIP_ARGS): Add support for hurd-dbg.
+ * debian/hurd-dbg.dirs: New file.
+ * debian/control (hurd-doc): New package. (Closes: #264858)
+ (Build-Depends-Indep): Added texi2html.
+ * debian/rules (build/hurd::): Generate html version of the manual.
+ * debian/hurd-doc.info: New file.
+ * debian/hurd-doc.docs: New file.
+
+ -- Michael Banck <address@hidden> Fri, 15 Apr 2005 23:03:34 +0200
+
+hurd (20050119-2) unstable; urgency=low
+
+ [ Michael Banck ]
+ * debian/hurd-dev.install: Install development libraries into /lib,
+ not /usr/lib.
+ * debian/hurd.install: Install Hurd console drivers into
+ /usr/lib/hurd/console, not /lib/hurd/console.
+ * debian/copyright: Clarify that the FSF is the copyright holder.
+ * debian/copyright: Update download location to Savannah's GNU Hurd
+ project page.
+
+ -- Michael Banck <address@hidden> Mon, 4 Apr 2005 12:08:40 +0200
+
+hurd (20050119-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ + Contains libpthread header fixes by Neal Walfield and
+ Pietro Ferrari. (Closes: #184344)
+ + Contains console repeaters by Marco Gerards.
+ + Contains mount argp fixes. (Closes: #151407)
+
+ [ Michael Banck]
+ * debian/patches/exec.patch: Removed, no longer needed.
+ * debian/patches/mouse.patch: Likewise.
+ * debian/patches/console_repeater.patch: Removed, applied upstream.
+ * debian/patches/libcons_repeater.patch: Likewise.
+ * debian/patches/netfs_io_select.patch: Likewise.
+ * debian/patches/netfs_nonblock.patch: Likewise.
+ * debian/patches-contrib/kbd.patch: Removed, no longer needed.
+ * debian/patches/libpthread_linker_script.patch: New patch. Install
+ libpthread.a linker script correctly. (Closes: #291307)
+ * debian/rules (install/hurd::): Rename /bin/fakeroot to
+ /bin/fakeroot-hurd.
+ * debian/control (hurd): Removed fakeroot from Provides:, Replaces:
+ and Conflicts:. (Closes: #293511)
+ * debian/hurd.install: Install debian/tmp/bin/fakeroot-hurd instead
+ of debian/tmp/bin/fakeroot.
+ * NEWS: New file. Explain the console-client command line interface
+ changes.
+ * debian/patches/siocgifhwaddr.patch: New patch by Marco Gerards.
+ * debian/patches/isofs_boot.patch: New patch by Alfred M. Szmidt.
+
+ -- Michael Banck <address@hidden> Wed, 23 Feb 2005 20:52:07 +0100
+
+hurd (20040508-6) unstable; urgency=low
+
+ [ Michael Banck ]
+ * debian/patches/pfinet_dhcp.patch: New patch by Marco Gerards.
+
+ -- Michael Banck <address@hidden> Sat, 15 Jan 2005 21:04:33 +0100
+
+hurd (20040508-5) unstable; urgency=low
+
+ [ Michael Banck ]
+ * debian/patches-contrib/ext2fs_20040930.diff: Moved to ...
+ * debian/patches/ext2fs_large_stores.diff: ... here, updated from
+ Ognyan Kulev's 20041111 version. Set DISK_CACHE_BLOCKS to
+ 65536 in ext2fs.h.
+
+ -- Michael Banck <address@hidden> Sun, 12 Dec 2004 17:54:32 +0100
+
+hurd (20040508-4) unstable; urgency=low
+
+ [ Michael Banck ]
+ * debian/changelog: Added back 20040301-1 entry which got lost.
+ * debian/hurd.install: Do not install /sbin/fsck. (Closes: #272655)
+ * debian/patches/rc.patch: Updated to use e2fsprog's /sbin/fsck
+ command-line options. Make sure the root file system is read-only
+ during the fsck run, and update it to be writable again if fsck
+ succeeds. (Closes: #273508)
+ * debian/patches-contrib/ext2fs_20040930.diff: New file. Just put it
+ in debian/patches and recompile the package to get (experimental)
+ support for ext2 files systems larger than 2GB.
+ * debian/control (Maintainer): Changed Maintainer address.
+
+ [ Guillem Jover ]
+ * debian/hurd.postinst:
+ - Move /bin/login suid root chmod to debian/rules.
+ - Set suid bit to other binaries (/bin/ps, /bin/ids, /bin/w).
+ (Closes: #273507)
+ Thanks Ognyan Kulev <address@hidden>.
+
+ -- Michael Banck <address@hidden> Thu, 7 Oct 2004 20:11:38 +0200
+
+hurd (20040508-3) unstable; urgency=low
+
+ * debian/local/rc: Removed.
+ * debian/patches/rc.patch: New file. (Closes: #254147)
+ * debian/hurd.install: Install tmp/libexec/rc.
+ * debian/patches/console_switch3.patch: Removed.
+ * debian/patches/console_repeater.patch: New patch by Marco Gerards.
+ * debian/patches/libcons_repeater.patch: New patch by Marco Gerards.
+ * debian/patches/netfs_io_select.patch: New patch by Marco Gerards.
+ * debian/patches/netfs_nonblock.patch: New patch by Marco Gerards.
+ * Rebuilt against glibc_2.3.2.ds1-16.
+ * debian/hurd.postinst: Make sure /bin/login is suid. (Closes: #251863)
+ * debian/control (Uploaders): Added myself.
+ * debian/hurd.postinst: Only create the tty devices if they do not
+ exist already. (Closes: #268347)
+
+ -- Michael Banck <address@hidden> Thu, 9 Sep 2004 22:32:07 +0200
+
+hurd (20040508-2) unstable; urgency=low
+
+ * Fix typo in postinst. (Closes: #253662)
+ Thanks to Michael Banck.
+ * Support /usr tree in startup scripts (Closes: #229572)
+ Thanks to Guillem Jover
+
+ -- Jeff Bailey <address@hidden> Fri, 11 Jun 2004 11:17:26 -0400
+
+hurd (20040508-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Switch packaging to cdbs
+ * Do not provide /boot/serverboot or /boot/servers.boot
+ * Update policy to 3.6.1.0
+ * Do not provide update-rc.d, use the one from sysvinit instead
+ (Closes: #246813) - Thanks to Robert Millan
+ * Do not provide /sbin/fsck, use the one from e2fsprogs instead
+ Thanks to Robert Millan
+
+ -- Jeff Bailey <address@hidden> Sat, 8 May 2004 16:55:18 -0400
+
+hurd (20040301-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ kbd, mouse as usual. exec/exec.c PT_GNU_STACK work-around.
+ Provide example entries for new console in config/ttys.
+ * debian/rules: Do not call autoconf.
+ * debian/control: Remove build dependency autoconf.
+
+ -- Marcus Brinkmann <address@hidden> Mon, 1 Mar 2004 01:36:23 +0200
+
+hurd (20021118-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ kbd, mouse as usual, with bug fixes from David Walter.
+ Change terminal type to mach-color.
+
+ -- Marcus Brinkmann <address@hidden> Tue, 18 Nov 2002 21:32:22 +0200
+
+hurd (20021011-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ kbd, mouse as usual.
+ Build libpthread.
+ debian/control: Add libncursesw5-dev as build-dependency.
+ debian/shlibs: Add libpthread
+ debian/control: Add myself as an uploader.
+
+ -- Neal H. Walfield <address@hidden> Fri, 11 Oct 2002 21:42:21 -0400
+
+hurd (20020918-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+
+ -- Marcus Brinkmann <address@hidden> Tue, 18 Sep 2002 23:13:06 +0200
+
+hurd (20020804-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+
+ -- Marcus Brinkmann <address@hidden> Sun, 4 Aug 2002 20:46:28 +0200
+
+hurd (20020523-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 23 May 2002 15:29:40 +0200
+
+hurd (20020418-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 18 Apr 2002 15:22:39 +0200
+
+hurd (20011105-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Additional patches:
+ kbd, mouse as usual (well, the intention was there :).
+ Change terminal type to mach-color.
+ Compiled with -O2 rather than -O3.
+
+ -- Marcus Brinkmann <address@hidden> Mon, 5 Nov 2001 00:00:26 +0100
+
+hurd (20011016-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Additional patches:
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+ Compiled with -O2 rather than -O3.
+
+ -- Marcus Brinkmann <address@hidden> Tue, 16 Oct 2001 19:43:21 +0200
+
+hurd (20011013-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Additional patches:
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+ Compiled with -O2 rather than -O3.
+ * debian/rules: Change way how to find executables by Kevin Kreamer.
+ * debian/control: Add `file' to build dependencies by Kevin Kreamer.
+
+ -- Marcus Brinkmann <address@hidden> Sat, 13 Oct 2001 01:05:30 +0200
+
+hurd (20010817-2) unstable; urgency=low
+
+ * Include a copy of update-rc.d, moved from dpkg to init providing
+ package.
+
+ -- Marcus Brinkmann <address@hidden> Sun, 2 Sep 2001 19:40:00 +0200
+
+hurd (20010817-1) unstable; urgency=low
+
+ * New snapshot from CVS, closes: #105476, #39894.
+ * Additional patches:
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+ Compiled with -O2 rather than -O3.
+
+ -- Marcus Brinkmann <address@hidden> Fri, 17 Aug 2001 22:16:01 +0200
+
+hurd (20010718-1) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Additional patches:
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+ Compiled with -O2 rather than -O3.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 18 Jul 2001 21:43:52 +0200
+
+hurd (20010608) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Additional patches:
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+ Compiled with -O2 rather than -O3.
+
+ -- Marcus Brinkmann <address@hidden> Fri, 8 Jun 2001 23:02:47 +0200
+
+hurd (20010527) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Additional patches:
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+
+ -- Marcus Brinkmann <address@hidden> Sat, 27 May 2001 01:34:21 +0200
+
+hurd (20010426) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Additional patches:
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+ storeio hack to prevent double activation.
+
+ -- Marcus Brinkmann <address@hidden> Fri, 27 Apr 2001 00:09:56 +0200
+
+hurd (20010311) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Additional patches:
+ kbd, mouse as usual.
+ Change terminal type to mach-color.
+
+ -- Marcus Brinkmann <address@hidden> Sun, 11 Mar 2001 22:45:21 +0100
+
+hurd (20010111) unstable; urgency=low
+
+ * New snapshot from CVS, containing lots of small bug fixes, and:
+ + Together with gnumach 1.2-9, you can access large stores with
+ storeinfo, storeread (because libstore uses the new interface in
+ gnumach, and off64_t internally).
+ + pfinet contains support for network ioctls. The corresponding
+ changes in the glibc library are not available in Debian yet, though.
+ * streamdev is renamed to streamio.
+
+ -- Marcus Brinkmann <address@hidden> Fri, 12 Jan 2001 00:06:41 +0100
+
+hurd (20001204) unstable; urgency=low
+
+ * New snapshot from CVS, with a couple of bug fixes:
+ pfinet: Don't leak references.
+ ext2fs, ufs: Avoid a dn_set_?time vs sync thread race.
+ Corretly deny too long filenames.
+ nfsd: Fix a couple of memory leaks.
+
+ * Additional patchs:
+ libdiskfs: Don't crash when symlink target is the empty string.
+ streamdev, kbd, mouse: New translators for X and klog device.
+
+ -- Marcus Brinkmann <address@hidden> Mon, 4 Dec 2000 15:18:39 +0100
+
+hurd (20001127) unstable; urgency=low
+
+ * New snapshot from CVS, really fixes isofs now.
+
+ -- Marcus Brinkmann <address@hidden> Mon, 27 Nov 2000 21:07:03 +0100
+
+hurd (20001126) unstable; urgency=low
+
+ * New snapshot from CVS, closes: #68417, #69281, #68626
+ * Fix in 20001030 closes: #72319
+ * debian/control: Add build dependencies, closes: #75734
+
+ -- Marcus Brinkmann <address@hidden> Sun, 26 Nov 2000 05:53:19 +0100
+
+hurd (20001030) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Still contains all the goodies, streadev, kbd, mouse. Now opening
+ kbd, mouse more than once doesn't crash them (thanks Erik Verbruggen
+ <address@hidden>)
+ * sutils/MAKEDEV.sh: kmsg is really klog.
+
+ -- Marcus Brinkmann <address@hidden> Tue, 30 Oct 2000 18:02:29 +0200
+
+hurd (20000921) unstable; urgency=low
+
+ * New snapshot from CVS
+ * Add streamdev by OKUJI Yoshinori
+ (source: ftp://alpha.gnu.org/contrib/okuji/hurd/streamdev-19990920.tar.gz)
+ * Add kbd and mouse by UCHIYAMA Yasushi <address@hidden>.
+ * sutils/MAKEDEV.sh: Add kbd and kmsg. No sense to add mouse, as you need
+ to configure it (see /hurd/mouse --help).
+
+ -- Marcus Brinkmann <address@hidden> Sat, 23 Sep 2000 04:27:58 +0200
+
+hurd (20000803) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * isofs: Patch to fix symlink handling.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 3 Aug 2000 21:09:44 +0200
+
+hurd (20000726) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Fixes the infamous zero hole bug (actually both of them).
+
+ -- Marcus Brinkmann <address@hidden> Wed, 26 Jul 2000 02:24:06 +0200
+
+hurd (20000703) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * exec/hashexec.c (check_hashbang: Fix off by one error in line 178.
+ Patch by Kalle Olavi Niemital.
+
+ -- Marcus Brinkmann <address@hidden> Mon, 3 Jul 2000 00:44:47 +0200
+
+hurd (20000130) unstable; urgency=low
+
+ * New snapshot from CVS. Closes: Bug#54282, Bug#40302, Bug#56076.
+
+ -- Marcus Brinkmann <address@hidden> Sun, 30 Jan 2000 14:55:39 +0100
+
+hurd (19991209) unstable; urgency=low
+
+ * New snapshot from CVS.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 9 Dec 1999 23:43:23 +0100
+
+hurd (19991022) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * libdiskfs/init-startup.c: Disable periodic syncing before shutting down.
+ This fixes the fs-unclean-on-reboot bug!
+
+ -- Marcus Brinkmann <address@hidden> Fri, 22 Oct 1999 21:32:02 +0200
+
+hurd (19991004) unstable; urgency=high
+
+ * New snapshot from CVS.
+ term: Realize bogus devices.
+ ext2fs: Important bug fixes!
+
+ -- Marcus Brinkmann <address@hidden> Sun, 3 Oct 1999 18:01:17 +0200
+
+hurd (19990923) unstable; urgency=low
+
+ * New snapshot from CVS.
+ MAKEDEV: pty created with mode 0666.
+ Implements pathconf for libdiskfs and libnetfs.
+ Various bug fixes.
+ * Development package now includes pic libraries.
+
+ -- Marcus Brinkmann <address@hidden> Sun, 19 Sep 1999 19:29:00 +0200
+
+hurd (19990907) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * gzip /boot/serverboot to /boot/serverboot.gz
+
+ -- Marcus Brinkmann <address@hidden> Mon, 23 Aug 1999 15:12:10 +0200
+
+hurd (19990725) unstable; urgency=low
+
+ * New snapshot from CVS.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 25 Jul 1999 16:16:03 +0200
+
+hurd (19990714) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * debian/rules: etc/motd is in base-files, do not include it.
+ * Activate split-init.
+
+ -- Marcus Brinkmann <address@hidden> Wed, 14 Jul 1999 16:38:00 +0200
+
+hurd (19990616) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Now contains info and ps documentation.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 17 Jun 1999 17:35:54 +0200
+
+hurd (19990524) unstable; urgency=low
+
+ * New snapshot from CVS.
+
+ -- Marcus Brinkmann <address@hidden> Mon, 24 May 1999 15:09:45 +0200
+
+hurd (19990523) unstable; urgency=low
+
+ * New snapshot from CVS, fixes: #38062, #37670, #37878, #37944.
+
+ -- Marcus Brinkmann <address@hidden> Mon, 24 May 1999 01:08:26 +0200
+
+hurd (19990517fixed) unstable; urgency=low
+
+ * debian/shlibs: corrected.
+ * exec/hashexec.c: Applied patch by Roland to make it work.
+
+ -- Marcus Brinkmann <address@hidden> Sun, 17 May 1999 00:25:11 +0200
+
+hurd (19990517) unstable; urgency=low
+
+ * New snapshot from CVS.
+ * Add shlibs file.
+
+ -- Marcus Brinkmann <address@hidden> Sun, 16 May 1999 15:28:09 +0200
+
+hurd (19990425-1) unstable; urgency=low
+
+ * Put shared library symlinks into the hurd-dev package.
+ * Clarify instructions in provided servers.boot.
+ * libfshelp/fetch-root.c: De-patched a change by tb which produced
+ strange errors.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 29 Apr 1999 22:47:51 +0200
+
+hurd (19990212-2) unstable; urgency=low
+
+ * debian/control: Added Depends line for Hurd.
+ * Update docs to reflect new group maintainership.
+ * debian/copyright: Hurd libraries are *not* under the LGPL, so add a
+ clarifying note.
+ * Put static libraries and header files into /usr/lib and /usr/include
+ for people without the /usr symlink.
+
+ -- Gordon Matzigkeit <address@hidden> Wed, 17 Feb 1999 15:40:44 -0600
+
+hurd (19990212-1) unstable; urgency=low
+
+ * New upstream version from CVS.
+ * Deleted old libthreads... there's no going back now.
+
+ -- Gordon Matzigkeit <address@hidden> Fri, 12 Feb 1999 03:25:55 -0600
+
+hurd (19981204-1) unstable; urgency=low
+
+ * New upstream release, supposed to work with glibc 2.0.106.
+ * Commented out use of old libthreads.
+
+ -- Marcus Brinkmann <address@hidden> Sun, 20 Dec 1998 04:24:40 +0100
+
+hurd (19980915-2) unstable; urgency=low
+
+ * exec/hashexec.c: Applied patch by Thomas Bushnell to fix make.
+
+ -- Marcus Brinkmann <address@hidden> Fri, 6 Nov 1998 23:10:11 +0100
+
+hurd (19980915-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/rules: Strip all binaries.
+ * debian/TODO: New file.
+
+ -- Marcus Brinkmann <address@hidden> Thu, 8 Oct 1998 03:34:40 +0200
+
+hurd (19980716-2) unstable; urgency=low
+
+ * Reverted libthreads to provide threadsafe malloc, as we use older
+ version of glibc2 for now.
+ * Do not remove size 0 files in 'rules clean', because hurd depends on
+ them.
+ * Do not build profiling libraries.
+
+ -- Marcus Brinkmann <address@hidden> Tue, 4 Aug 1998 21:58:55 +0200
+
+hurd (19980716-1) unstable; urgency=low
+
+ * Initial Version.
+
+ -- Marcus Brinkmann <address@hidden> Tue, 4 Aug 1998 21:58:55 +0200
diff --cc debian/patches/exec_filename_exec.patch
index 1e937b4,0000000..247d75b
mode 100644,000000..100644
--- a/debian/patches/exec_filename_exec.patch
+++ b/debian/patches/exec_filename_exec.patch
@@@ -1,329 -1,0 +1,329 @@@
+From 011df9d35eb68132cdb14a0f55e2435375e2cfce Mon Sep 17 00:00:00 2001
+From: Emilio Pozuelo Monfort <address@hidden>
+Date: Wed, 26 May 2010 00:15:37 +0200
+Subject: [PATCH 1/3] Add a new exec_exec_file_name RPC
+
+* hurd/exec.defs (exec_exec_file_name): New RPC.
+(exec_exec): Label as deprecated.
+* doc/hurd.texi: Updated.
+* exec/exec.c (S_exec_exec_file_name): New function.
+(S_exec_exec): Label as deprecated.
+(do_exec): Add argument.
+* exec/hashexec.c (check_hashbang): Add argument.
+Don't guess the file name if file_name_exec is set.
+* exec/priv.h (check_hashbang): Add argument.
+---
+ doc/hurd.texi | 8 ++++----
+ exec/exec.c | 50 +++++++++++++++++++++++++++++++++++++++++++++-----
+ exec/hashexec.c | 18 ++++++++++++------
+ exec/priv.h | 4 +++-
+ hurd/exec.defs | 19 +++++++++++++++++--
+ 5 files changed, 81 insertions(+), 18 deletions(-)
+
+Index: hurd-debian/doc/hurd.texi
+===================================================================
- --- hurd-debian.orig/doc/hurd.texi 2012-06-03 20:17:54.000000000 +0000
- +++ hurd-debian/doc/hurd.texi 2012-06-05 04:32:07.000000000 +0000
++--- hurd-debian.orig/doc/hurd.texi 2014-01-13 22:54:30.000000000 +0000
+++++ hurd-debian/doc/hurd.texi 2014-01-13 22:54:30.000000000 +0000
+@@ -102,7 +102,7 @@
+ documentation was last updated for version @value{VERSION} of the Hurd.
+
+ Copyright @copyright{} 1994, 1996, 1998, 1999, 2000, 2001, 2002, 2003,
+-2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
++2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+ @quotation
+ Permission is granted to make and distribute verbatim copies of
- @@ -2770,14 +2770,14 @@
++@@ -2766,14 +2766,14 @@
+ authentication handle that was not previously present (as opposed to
+ merely reordering them), then the @code{EXEC_SECURE} and
+ @code{EXEC_NEWTASK} flags should both be added in the call to
address@hidden
address@hidden
+
+ The server then needs to open a new port onto the executed file which
+ will not share any file pointers with the port the user passed in,
+ opened with @code{O_READ}. Finally, all the information (mutated
+ appropriately for setuid/setgid) should be sent to the execserver with
address@hidden Whatever error code @code{exec_exec} returns should
+-returned to the caller of @code{file_exec}.
address@hidden Whatever error code @code{exec_exec_file_name}
++returns should be returned to the caller of @code{file_exec}.
+
+ @node File Locking
+ @subsection File Locking
+Index: hurd-debian/exec/exec.c
+===================================================================
- --- hurd-debian.orig/exec/exec.c 2012-06-03 17:08:36.000000000 +0000
- +++ hurd-debian/exec/exec.c 2012-06-05 04:19:51.000000000 +0000
++--- hurd-debian.orig/exec/exec.c 2014-01-13 22:54:30.000000000 +0000
+++++ hurd-debian/exec/exec.c 2014-01-13 22:54:30.000000000 +0000
+@@ -1,6 +1,6 @@
+ /* GNU Hurd standard exec server.
+- Copyright (C) 1992,93,94,95,96,98,99,2000,01,02,04
+- Free Software Foundation, Inc.
++ Copyright (C) 1992 ,1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++ 2002, 2004, 2010 Free Software Foundation, Inc.
+ Written by Roland McGrath.
+
+ Can exec ELF format directly.
- @@ -1357,6 +1357,7 @@
++@@ -738,6 +738,7 @@
+ do_exec (file_t file,
+ task_t oldtask,
+ int flags,
++ char *filename,
+ char *argv, mach_msg_type_number_t argvlen, boolean_t argv_copy,
+ char *envp, mach_msg_type_number_t envplen, boolean_t envp_copy,
+ mach_port_t *dtable, mach_msg_type_number_t dtablesize,
- @@ -1452,7 +1453,7 @@
++@@ -796,7 +797,7 @@
+ {
+ /* Check for a #! executable file. */
+ check_hashbang (&e,
+- file, oldtask, flags,
++ file, oldtask, flags, filename,
+ argv, argvlen, argv_copy,
+ envp, envplen, envp_copy,
+ dtable, dtablesize, dtable_copy,
- @@ -2055,6 +2056,7 @@
++@@ -1356,6 +1357,7 @@
+ return e.error;
+ }
+
++/* Deprecated. */
+ kern_return_t
+ S_exec_exec (struct trivfs_protid *protid,
+ file_t file,
- @@ -2071,6 +2073,44 @@
++@@ -1372,13 +1374,51 @@
+ mach_port_t *deallocnames, mach_msg_type_number_t ndeallocnames,
+ mach_port_t *destroynames, mach_msg_type_number_t ndestroynames)
+ {
++ return S_exec_exec_file_name (protid,
++ file,
++ oldtask,
++ flags,
++ "",
++ argv, argvlen, argv_copy,
++ envp, envplen, envp_copy,
++ dtable, dtablesize,
++ dtable_copy,
++ portarray, nports,
++ portarray_copy,
++ intarray, nints,
++ intarray_copy,
++ deallocnames, ndeallocnames,
++ destroynames, ndestroynames);
++}
++
++kern_return_t
++S_exec_exec_file_name (struct trivfs_protid *protid,
++ file_t file,
++ task_t oldtask,
++ int flags,
++ char *filename,
++ char *argv, mach_msg_type_number_t argvlen,
++ boolean_t argv_copy,
++ char *envp, mach_msg_type_number_t envplen,
++ boolean_t envp_copy,
++ mach_port_t *dtable, mach_msg_type_number_t dtablesize,
++ boolean_t dtable_copy,
++ mach_port_t *portarray, mach_msg_type_number_t nports,
++ boolean_t portarray_copy,
++ int *intarray, mach_msg_type_number_t nints,
++ boolean_t intarray_copy,
++ mach_port_t *deallocnames,
++ mach_msg_type_number_t ndeallocnames,
++ mach_port_t *destroynames,
++ mach_msg_type_number_t ndestroynames)
++{
+ if (! protid)
+ return EOPNOTSUPP;
+
- @@ -2158,7 +2198,7 @@
+ /* There were no user-specified exec servers,
+ or none of them could be found. */
+
+- return do_exec (file, oldtask, flags,
++ return do_exec (file, oldtask, flags, filename,
+ argv, argvlen, argv_copy,
+ envp, envplen, envp_copy,
+ dtable, dtablesize, dtable_copy,
+Index: hurd-debian/exec/hashexec.c
+===================================================================
- --- hurd-debian.orig/exec/hashexec.c 2012-06-03 17:08:36.000000000 +0000
- +++ hurd-debian/exec/hashexec.c 2012-06-05 04:32:38.000000000 +0000
++--- hurd-debian.orig/exec/hashexec.c 2014-01-13 22:54:30.000000000 +0000
+++++ hurd-debian/exec/hashexec.c 2014-01-13 22:54:30.000000000 +0000
+@@ -1,5 +1,6 @@
+ /* GNU Hurd standard exec server, #! script execution support.
+- Copyright (C) 1995,96,97,98,99,2000,02 Free Software Foundation, Inc.
++ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2010
++ Free Software Foundation, Inc.
+ Written by Roland McGrath.
+
+ This file is part of the GNU Hurd.
+@@ -35,6 +36,7 @@
+ file_t file,
+ task_t oldtask,
+ int flags,
++ char *file_name_exec,
+ char *argv, u_int argvlen, boolean_t argv_copy,
+ char *envp, u_int envplen, boolean_t envp_copy,
+ mach_port_t *dtable, u_int dtablesize, boolean_t dtable_copy,
+@@ -225,10 +227,12 @@
+ file_name = NULL;
+ else if (! (flags & EXEC_SECURE))
+ {
+- /* Try to figure out the file's name. We guess that if ARGV[0]
+- contains a slash, it might be the name of the file; and that
+- if it contains no slash, looking for files named by ARGV[0] in
+- the `PATH' environment variable might find it. */
++ /* Try to figure out the file's name. If FILE_NAME_EXEC
++ is not NULL, then it's the file's name. Otherwise we
++ guess that if ARGV[0] contains a slash, it might be
++ the name of the file; and that if it contains no slash,
++ looking for files named by ARGV[0] in the `PATH'
++ environment variable might find it. */
+
+ error_t error;
+ char *name;
+@@ -278,7 +282,9 @@
+ else
+ name = argv;
+
+- if (strchr (name, '/') != NULL)
++ if (file_name_exec && file_name_exec[0] != '\0')
++ error = lookup (name = file_name_exec, 0, &name_file);
++ else if (strchr (name, '/') != NULL)
+ error = lookup (name, 0, &name_file);
+ else if ((error = hurd_catch_signal
+ (sigmask (SIGBUS) | sigmask (SIGSEGV),
+Index: hurd-debian/exec/priv.h
+===================================================================
- --- hurd-debian.orig/exec/priv.h 2012-06-03 17:08:36.000000000 +0000
- +++ hurd-debian/exec/priv.h 2012-06-05 03:36:44.000000000 +0000
++--- hurd-debian.orig/exec/priv.h 2014-01-13 22:54:30.000000000 +0000
+++++ hurd-debian/exec/priv.h 2014-01-13 22:54:30.000000000 +0000
+@@ -1,5 +1,6 @@
+ /* GNU Hurd standard exec server, private declarations.
+- Copyright (C) 1992,93,94,95,96,99,2000,02, 04 Free Software Foundation,
Inc.
++ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2004,
++ 2010 Free Software Foundation, Inc.
+ Written by Roland McGrath.
+
+ This file is part of the GNU Hurd.
- @@ -36,6 +37,7 @@
++@@ -32,6 +33,7 @@
+ #include <link.h> /* This gives us the ElfW macro. */
+ #include <fcntl.h>
+ #include "exec_S.h"
++#include "exec_experimental_S.h"
+
+
+ #ifndef exec_priv_h
- @@ -171,6 +173,7 @@
++@@ -134,6 +136,7 @@
+ file_t file,
+ task_t oldtask,
+ int flags,
++ char *filename,
+ char *argv, u_int argvlen, boolean_t argv_copy,
+ char *envp, u_int envplen, boolean_t envp_copy,
+ mach_port_t *dtable, u_int dtablesize,
+Index: hurd-debian/hurd/exec.defs
+===================================================================
- --- hurd-debian.orig/hurd/exec.defs 2012-06-03 17:08:36.000000000 +0000
- +++ hurd-debian/hurd/exec.defs 2012-06-03 20:17:55.000000000 +0000
++--- hurd-debian.orig/hurd/exec.defs 2014-01-13 22:54:30.000000000 +0000
+++++ hurd-debian/hurd/exec.defs 2014-01-13 22:54:30.000000000 +0000
+@@ -1,5 +1,6 @@
+ /* Interface definitions for the exec servers.
+- Copyright (C) 1991,92,93,94,95,2001 Free Software Foundation, Inc.
++ Copyright (C) 1991, 1992, 1993, 1994, 1995, 2001, 2010
++ Free Software Foundation, Inc.
+
+ This file is part of the GNU Hurd.
+
+@@ -29,6 +30,7 @@
+
+ INTR_INTERFACE
+
++/* Deprecated: use exec_exec_file_name instead. */
+ routine exec_exec (
+ execserver: file_t;
+ file: mach_port_send_t;
+Index: hurd-debian/hurd/exec_experimental.defs
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
- +++ hurd-debian/hurd/exec_experimental.defs 2012-06-03 20:17:55.000000000
+0000
+++++ hurd-debian/hurd/exec_experimental.defs 2014-01-13 22:54:30.000000000
+0000
+@@ -0,0 +1,46 @@
++/* Interface definitions for the exec servers.
++ Copyright (C) 1991, 1992, 1993, 1994, 1995, 2001, 2010, 2012
++ Free Software Foundation, Inc.
++
++This file is part of the GNU Hurd.
++
++The GNU Hurd is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2, or (at your option)
++any later version.
++
++The GNU Hurd is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with the GNU Hurd; see the file COPYING. If not, write to
++the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
++
++/* Written by Michael I. Bushnell and Roland McGrath. */
++
++subsystem exec_experimental 434242;
++
++#include <hurd/hurd_types.defs>
++
++#ifdef EXEC_IMPORTS
++EXEC_IMPORTS
++#endif
++
++INTR_INTERFACE
++
++routine exec_exec_file_name (
++ execserver: file_t;
++ file: mach_port_send_t;
++ oldtask: task_t;
++ flags: int;
++ filename: string_t;
++ argv: data_t SCP;
++ envp: data_t SCP;
++ dtable: portarray_t SCP;
++ portarray: portarray_t SCP;
++ intarray: intarray_t SCP;
++ deallocnames: mach_port_name_array_t;
++ destroynames: mach_port_name_array_t);
++
+Index: hurd-debian/exec/Makefile
+===================================================================
- --- hurd-debian.orig/exec/Makefile 2012-06-03 17:08:36.000000000 +0000
- +++ hurd-debian/exec/Makefile 2012-06-05 03:39:06.000000000 +0000
- @@ -23,7 +23,7 @@
++--- hurd-debian.orig/exec/Makefile 2014-01-13 22:54:30.000000000 +0000
+++++ hurd-debian/exec/Makefile 2014-01-13 22:54:30.000000000 +0000
++@@ -22,7 +22,7 @@
+
+ SRCS = exec.c main.c hashexec.c hostarch.c
+ OBJS = main.o hostarch.o exec.o hashexec.o \
+- execServer.o exec_startupServer.o
++ execServer.o exec_startupServer.o exec_experimentalServer.o
+
+ target = exec
+ #targets = exec exec.static
- @@ -37,6 +37,7 @@
++@@ -30,6 +30,7 @@
+ OTHERLIBS = -lpthread
+
+ exec-MIGSFLAGS = -imacros $(srcdir)/execmutations.h
++exec_experimental-MIGSFLAGS = -imacros $(srcdir)/execmutations.h
+
+ include ../Makeconf
+
+Index: hurd-debian/exec/main.c
+===================================================================
- --- hurd-debian.orig/exec/main.c 2012-06-03 17:08:36.000000000 +0000
- +++ hurd-debian/exec/main.c 2012-06-05 01:28:09.000000000 +0000
- @@ -58,9 +58,11 @@
++--- hurd-debian.orig/exec/main.c 2014-01-13 22:54:30.000000000 +0000
+++++ hurd-debian/exec/main.c 2014-01-13 22:55:45.000000000 +0000
++@@ -50,10 +50,12 @@
+ exec_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
+ {
- extern int exec_server (mach_msg_header_t *inp, mach_msg_header_t *outp);
- + extern int exec_experimental_server (mach_msg_header_t *inp,
mach_msg_header_t *outp);
- extern int exec_startup_server (mach_msg_header_t *, mach_msg_header_t *);
- return (exec_startup_server (inp, outp) ||
- exec_server (inp, outp) ||
- + exec_experimental_server (inp, outp) ||
- trivfs_demuxer (inp, outp));
- }
++ mig_routine_t exec_server_routine (mach_msg_header_t *);
+++ mig_routine_t exec_experimental_server_routine (mach_msg_header_t *);
++ mig_routine_t exec_startup_server_routine (mach_msg_header_t *);
+
++ mig_routine_t routine;
++ if ((routine = exec_server_routine (inp)) ||
+++ (routine = exec_experimental_server_routine (inp)) ||
++ (routine = NULL, trivfs_demuxer (inp, outp)) ||
++ (routine = exec_startup_server_routine (inp)))
++ {
diff --cc debian/patches/exec_filename_fs.patch
index 51f5aaa,0000000..f23925c
mode 100644,000000..100644
--- a/debian/patches/exec_filename_fs.patch
+++ b/debian/patches/exec_filename_fs.patch
@@@ -1,1035 -1,0 +1,1032 @@@
+From ba528e4a9db131112aa09edfdbb3449b55618578 Mon Sep 17 00:00:00 2001
+From: Emilio Pozuelo Monfort <address@hidden>
+Date: Wed, 26 May 2010 01:27:40 +0200
+Subject: [PATCH 2/3] Add a file_exec_file_name RPC
+
+* hurd/fs.defs (file_exec): Deprecate in favor of...
+(file_exec_file_name): ...this new RPC.
+Change all implementations and forward old implementations to
+the new version. Change all callers but fallback to old version.
+Change comments and documentation.
+---
+ TODO | 2 +-
+ doc/hurd.texi | 16 ++++----
+ exec/hashexec.c | 32 ++++++++++----
+ hurd/fs.defs | 28 +++++++++++--
+ hurd/hurd_types.h | 9 ++--
+ init/init.c | 81 ++++++++++++++++++++++++++----------
+ libdiskfs/boot-start.c | 2 +-
+ libdiskfs/file-exec.c | 75 ++++++++++++++++++++++++++++------
+ libfshelp/start-translator-long.c | 21 +++++++---
+ libnetfs/file-exec.c | 67 ++++++++++++++++++++++++++----
+ libtrivfs/file-exec.c | 27 ++++++++++++-
+ trans/fakeroot.c | 59 ++++++++++++++++++++++++---
+ utils/login.c | 23 +++++++---
+ 13 files changed, 350 insertions(+), 92 deletions(-)
+
+Index: hurd-debian/TODO
+===================================================================
- --- hurd-debian.orig/TODO 2013-06-19 23:32:37.000000000 +0000
- +++ hurd-debian/TODO 2013-06-19 23:32:37.000000000 +0000
- @@ -136,7 +136,7 @@
++--- hurd-debian.orig/TODO 2014-01-13 22:58:05.000000000 +0000
+++++ hurd-debian/TODO 2014-01-13 22:58:05.000000000 +0000
++@@ -135,7 +135,7 @@
+
+ ** libtrivfs
+ *** Allow for read/write/exec to be passed down.
+-*** Implement file_exec when appropriate. !!
++*** Implement file_exec_file_name when appropriate. !!
+ *** Provide for the visible owner, etc., to be held in command-line args
+ instead of the underlying node, when it's important. !!
+
+Index: hurd-debian/doc/hurd.texi
+===================================================================
- --- hurd-debian.orig/doc/hurd.texi 2013-06-19 23:32:37.000000000 +0000
- +++ hurd-debian/doc/hurd.texi 2013-06-19 23:32:37.000000000 +0000
- @@ -2738,10 +2738,10 @@
++--- hurd-debian.orig/doc/hurd.texi 2014-01-13 22:58:05.000000000 +0000
+++++ hurd-debian/doc/hurd.texi 2014-01-13 22:58:05.000000000 +0000
++@@ -2737,10 +2737,10 @@
+ @node Program Execution
+ @subsection Program Execution
+
address@hidden file_exec
address@hidden file_exec_file_name
+ Execution of programs on the Hurd is done through fileservers with the
address@hidden RPC. The fileserver is expected to verify that the
+-user is allowed to execute the file, make whatever modifications to the
address@hidden RPC. The fileserver is expected to verify that
++the user is allowed to execute the file, make whatever modifications to the
+ ports are necessary for setuid execution, and then invoke the standard
+ execserver found on @file{/servers/exec}.
+
- @@ -2753,13 +2753,13 @@
++@@ -2752,13 +2752,13 @@
+ be returned. In addition, at least one of the execute bits must be on. A
+ failure of this check should result in @code{EACCES}---not
+ @code{ENOEXEC}. It is not proper for the fileserver ever to respond to
+-the @code{file_exec} RPC with @code{ENOEXEC}.
++the @code{file_exec_file_name} RPC with @code{ENOEXEC}.
+
+ If either the setuid or setgid bits are set, the server needs to
+ construct a new authentication handle with the additional new ID's.
+-Then all the ports passed to @code{file_exec} need to be reauthenticated
+-with the new handle. If the fileserver is unable to make the new
+-authentication handle (for example, because it is not running as root)
++Then all the ports passed to @code{file_exec_file_name} need to be
++reauthenticated with the new handle. If the fileserver is unable to make the
++new authentication handle (for example, because it is not running as root)
+ it is not acceptable to return an error; in such a case the server
+ should simply silently fail to implement the setuid/setgid semantics.
+
- @@ -2774,7 +2774,7 @@
++@@ -2773,7 +2773,7 @@
+ opened with @code{O_READ}. Finally, all the information (mutated
+ appropriately for setuid/setgid) should be sent to the execserver with
+ @code{exec_exec_file_name}. Whatever error code @code{exec_exec_file_name}
+-returns should be returned to the caller of @code{file_exec}.
++returns should be returned to the caller of @code{file_exec_file_name}.
+
+ @node File Locking
+ @subsection File Locking
+Index: hurd-debian/exec/hashexec.c
+===================================================================
- --- hurd-debian.orig/exec/hashexec.c 2013-06-19 23:32:37.000000000 +0000
- +++ hurd-debian/exec/hashexec.c 2013-06-19 23:32:37.000000000 +0000
++--- hurd-debian.orig/exec/hashexec.c 2014-01-13 22:58:05.000000000 +0000
+++++ hurd-debian/exec/hashexec.c 2014-01-13 22:58:05.000000000 +0000
+@@ -24,6 +24,9 @@
+ #include <unistd.h>
+ #include <envz.h>
+ #include <sys/param.h>
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++#include <hurd/fs_experimental.h>
++#endif
+
+ /* This is called to check E for a #! interpreter specification. E has
+ already been prepared (successfully) and checked (unsuccessfully). If
+@@ -421,16 +424,32 @@
+ /* We cannot open the interpreter file to execute it. Lose! */
+ return;
+
++#ifdef HAVE_FILE_EXEC_FILE_NAME
+ /* Execute the interpreter program. */
+- e->error = file_exec (interp_file,
+- oldtask, flags,
+- new_argv, new_argvlen, envp, envplen,
+- new_dtable ?: dtable, MACH_MSG_TYPE_COPY_SEND,
+- new_dtable ? new_dtablesize : dtablesize,
+- portarray, MACH_MSG_TYPE_COPY_SEND, nports,
+- intarray, nints,
+- deallocnames, ndeallocnames,
+- destroynames, ndestroynames);
++ e->error = file_exec_file_name (interp_file,
++ oldtask, flags, interp,
++ new_argv, new_argvlen, envp, envplen,
++ new_dtable ?: dtable,
++ MACH_MSG_TYPE_COPY_SEND,
++ new_dtable ? new_dtablesize : dtablesize,
++ portarray, MACH_MSG_TYPE_COPY_SEND, nports,
++ intarray, nints,
++ deallocnames, ndeallocnames,
++ destroynames, ndestroynames);
++ /* For backwards compatibility. Just drop it when we kill file_exec. */
++ if (e->error == MIG_BAD_ID)
++#endif
++ e->error = file_exec (interp_file,
++ oldtask, flags,
++ new_argv, new_argvlen, envp, envplen,
++ new_dtable ?: dtable, MACH_MSG_TYPE_COPY_SEND,
++ new_dtable ? new_dtablesize : dtablesize,
++ portarray, MACH_MSG_TYPE_COPY_SEND, nports,
++ intarray, nints,
++ deallocnames, ndeallocnames,
++ destroynames, ndestroynames);
++
++
+ mach_port_deallocate (mach_task_self (), interp_file);
+ munmap (new_argv, new_argvlen);
+
+Index: hurd-debian/hurd/fs.defs
+===================================================================
- --- hurd-debian.orig/hurd/fs.defs 2013-06-19 23:32:37.000000000 +0000
- +++ hurd-debian/hurd/fs.defs 2013-06-19 23:32:37.000000000 +0000
++--- hurd-debian.orig/hurd/fs.defs 2014-01-13 22:58:05.000000000 +0000
+++++ hurd-debian/hurd/fs.defs 2014-01-13 22:58:05.000000000 +0000
+@@ -1,5 +1,6 @@
+ /* Definitions for the filesystem interface.
+- Copyright (C) 1994,95,96,97,98,99,2002 Free Software Foundation, Inc.
++ Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2010
++ Free Software Foundation, Inc.
+
+ This file is part of the GNU Hurd.
+
+@@ -35,7 +36,8 @@
+ /* Overlay a task with a file. Necessary initialization, including
+ authentication changes associated with set[ug]id execution must be
+ handled by the filesystem. Filesystems normally implement this by
+- using exec_newtask or exec_loadtask as appropriate. */
++ using exec_newtask or exec_loadtask as appropriate.
++ Deprecated: use file_exec_file_name instead. */
+ routine file_exec (
+ exec_file: file_t;
+ RPT
+@@ -129,8 +131,8 @@
+ (regardless of the current open modes for this port). ALLOWED is a
+ bitwise OR of O_READ, O_WRITE, and O_EXEC. This is not necessarily the
+ same as what an open or exec would allow; O_EXEC is set for root even if
+- no executable bits are on (in which case file_exec should fail) and
+- O_WRITE is set a directory can be modified, even though it can't be
++ no executable bits are on (in which case file_exec_file_name should fail)
++ and O_WRITE is set a directory can be modified, even though it can't be
+ written directly. */
+ routine file_check_access (
+ file: file_t;
+Index: hurd-debian/hurd/hurd_types.h
+===================================================================
- --- hurd-debian.orig/hurd/hurd_types.h 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/hurd/hurd_types.h 2013-06-19 23:32:37.000000000 +0000
++--- hurd-debian.orig/hurd/hurd_types.h 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/hurd/hurd_types.h 2014-01-13 22:58:05.000000000 +0000
+@@ -1,5 +1,6 @@
+ /* C declarations for Hurd server interfaces
+- Copyright (C) 1993,94,95,96,98,99,2001,02 Free Software Foundation, Inc.
++ Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2001, 2002,
++ 2010 Free Software Foundation, Inc.
+
+ This file is part of the GNU Hurd.
+
+@@ -78,7 +79,7 @@
+ /* Many such parameters and flags are also defined in various libc
+ headers. */
+
+-/* Bits for flags in fs.defs:file_exec and exec.defs:exec_* calls: */
++/* Bits for flags in fs.defs:file_exec_file_name and exec.defs:exec_* calls:
*/
+ #define EXEC_NEWTASK 0x00000001 /* Create new task; kill old one. */
+ #define EXEC_SECURE 0x00000002 /* Use secure values of portarray, etc. */
+ #define EXEC_DEFAULTS 0x00000004 /* Use defaults for unspecified
ports. */
+@@ -344,7 +345,7 @@
+ #define FSTYPE_MEMFS 0x00000019 /* In-core filesystem */
+ #define FSTYPE_ISO9660 0x0000001a /* ISO9660 */
+
+-/* Standard port assignments for file_exec and exec_* */
++/* Standard port assignments for file_exec_file_name and exec_* */
+ enum
+ {
+ INIT_PORT_CWDIR,
+@@ -358,7 +359,7 @@
+ INIT_PORT_MAX
+ };
+
+-/* Standard ints for file_exec and exec_* */
++/* Standard ints for file_exec_file_name and exec_* */
+ enum
+ {
+ INIT_UMASK,
+Index: hurd-debian/init/init.c
+===================================================================
- --- hurd-debian.orig/init/init.c 2013-06-19 23:32:37.000000000 +0000
- +++ hurd-debian/init/init.c 2013-06-19 23:32:37.000000000 +0000
++--- hurd-debian.orig/init/init.c 2014-01-13 22:58:05.000000000 +0000
+++++ hurd-debian/init/init.c 2014-01-13 22:58:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ /* Start and maintain hurd core servers and system run state
+
+ Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+- 2005, 2008, 2013 Free Software Foundation, Inc.
++ 2005, 2008, 2010, 2013 Free Software Foundation, Inc.
+ This file is part of the GNU Hurd.
+
+ The GNU Hurd is free software; you can redistribute it and/or modify
+@@ -24,6 +24,9 @@
+ one file. */
+ #include <hurd.h>
+ #include <hurd/fs.h>
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++#include <hurd/fs_experimental.h>
++#endif
+ #include <hurd/fsys.h>
+ #include <device/device.h>
+ #include <stdio.h>
- @@ -375,13 +378,28 @@
++@@ -376,13 +379,28 @@
+ printf ("Pausing for %s\n", prog);
+ getchar ();
+ }
+- err = file_exec (file, *task, 0,
+- (char *)prog, strlen (prog) + 1, /* Args. */
+- startup_envz, startup_envz_len,
+- default_dtable, MACH_MSG_TYPE_COPY_SEND, 3,
+- ports, MACH_MSG_TYPE_COPY_SEND, INIT_PORT_MAX,
+- default_ints, INIT_INT_MAX,
+- NULL, 0, NULL, 0);
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++ err = file_exec_file_name (file, *task, 0, (char *)prog,
++ (char *)prog,
++ strlen (prog) + 1, /* Args. */
++ startup_envz, startup_envz_len,
++ default_dtable,
++ MACH_MSG_TYPE_COPY_SEND, 3,
++ ports, MACH_MSG_TYPE_COPY_SEND,
++ INIT_PORT_MAX,
++ default_ints, INIT_INT_MAX,
++ NULL, 0, NULL, 0);
++ /* For backwards compatibility. Just drop it when we kill
++ file_exec. */
++ if (err == MIG_BAD_ID)
++#endif
++ err = file_exec (file, *task, 0,
++ (char *)prog, strlen (prog) + 1, /* Args. */
++ startup_envz, startup_envz_len,
++ default_dtable, MACH_MSG_TYPE_COPY_SEND, 3,
++ ports, MACH_MSG_TYPE_COPY_SEND, INIT_PORT_MAX,
++ default_ints, INIT_INT_MAX,
++ NULL, 0, NULL, 0);
+ if (!err)
+ break;
+
- @@ -468,14 +486,27 @@
++@@ -469,14 +487,27 @@
+ ++progname;
+ else
+ progname = filename;
+- err = file_exec (file, task, 0,
+- args, arglen,
+- startup_envz, startup_envz_len,
+- default_dtable, MACH_MSG_TYPE_COPY_SEND, 3,
+- default_ports, MACH_MSG_TYPE_COPY_SEND,
+- INIT_PORT_MAX,
+- default_ints, INIT_INT_MAX,
+- NULL, 0, NULL, 0);
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++ err = file_exec_file_name (file, task, 0, filename,
++ args, arglen,
++ startup_envz, startup_envz_len,
++ default_dtable, MACH_MSG_TYPE_COPY_SEND, 3,
++ default_ports, MACH_MSG_TYPE_COPY_SEND,
++ INIT_PORT_MAX,
++ default_ints, INIT_INT_MAX,
++ NULL, 0, NULL, 0);
++ /* For backwards compatibility. Just drop it when we kill file_exec. */
++ if (err == MIG_BAD_ID)
++#endif
++ err = file_exec (file, task, 0,
++ args, arglen,
++ startup_envz, startup_envz_len,
++ default_dtable, MACH_MSG_TYPE_COPY_SEND, 3,
++ default_ports, MACH_MSG_TYPE_COPY_SEND,
++ INIT_PORT_MAX,
++ default_ints, INIT_INT_MAX,
++ NULL, 0, NULL, 0);
++
+ mach_port_deallocate (mach_task_self (), default_ports[INIT_PORT_PROC]);
+ mach_port_deallocate (mach_task_self (), task);
+ if (ctty != MACH_PORT_NULL)
- @@ -1059,13 +1090,26 @@
++@@ -1068,13 +1099,26 @@
+ getchar ();
+ }
+
+- err = file_exec (file, child_task, 0,
+- args, arglen,
+- startup_envz, startup_envz_len,
+- NULL, MACH_MSG_TYPE_COPY_SEND, 0, /* No fds. */
+- default_ports, MACH_MSG_TYPE_COPY_SEND, INIT_PORT_MAX,
+- default_ints, INIT_INT_MAX,
+- NULL, 0, NULL, 0);
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++ err = file_exec_file_name (file, child_task, 0, args,
++ args, arglen,
++ startup_envz, startup_envz_len,
++ NULL, MACH_MSG_TYPE_COPY_SEND, 0, /* No fds. */
++ default_ports, MACH_MSG_TYPE_COPY_SEND,
++ INIT_PORT_MAX,
++ default_ints, INIT_INT_MAX,
++ NULL, 0, NULL, 0);
++ /* For backwards compatibility. Just drop it when we kill file_exec. */
++ if (err == MIG_BAD_ID)
++#endif
++ err = file_exec (file, child_task, 0,
++ args, arglen,
++ startup_envz, startup_envz_len,
++ NULL, MACH_MSG_TYPE_COPY_SEND, 0, /* No fds. */
++ default_ports, MACH_MSG_TYPE_COPY_SEND, INIT_PORT_MAX,
++ default_ints, INIT_INT_MAX,
++ NULL, 0, NULL, 0);
++
+ proc_mark_important (default_ports[INIT_PORT_PROC]);
+ mach_port_deallocate (mach_task_self (), default_ports[INIT_PORT_PROC]);
+ mach_port_deallocate (mach_task_self (), file);
+Index: hurd-debian/libdiskfs/boot-start.c
+===================================================================
- --- hurd-debian.orig/libdiskfs/boot-start.c 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libdiskfs/boot-start.c 2013-06-19 23:32:37.000000000
+0000
- @@ -207,7 +207,7 @@
++--- hurd-debian.orig/libdiskfs/boot-start.c 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libdiskfs/boot-start.c 2014-01-13 22:58:05.000000000
+0000
++@@ -208,7 +208,7 @@
+ diskfs_exec_ctl = MACH_PORT_NULL; /* Not used after this. */
+ }
+
+- /* Cache the exec server port for file_exec to use. */
++ /* Cache the exec server port for file_exec_file_name to use. */
+ _hurd_port_set (&_diskfs_exec_portcell, diskfs_exec);
+
+ if (_diskfs_boot_command)
+Index: hurd-debian/libdiskfs/file-exec.c
+===================================================================
- --- hurd-debian.orig/libdiskfs/file-exec.c 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libdiskfs/file-exec.c 2013-06-19 23:32:37.000000000 +0000
++--- hurd-debian.orig/libdiskfs/file-exec.c 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libdiskfs/file-exec.c 2014-01-13 22:58:05.000000000 +0000
+@@ -1,5 +1,6 @@
+-/* File execution (file_exec RPC) for diskfs servers, using exec server.
+- Copyright (C) 1993,94,95,96,97,98,2000,02 Free Software Foundation, Inc.
++/* File execution (file_exec_file_name RPC) for diskfs servers, using exec
server.
++ Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2002,
++ 2010 Free Software Foundation, Inc.
+
+ This file is part of the GNU Hurd.
+
+@@ -21,10 +22,14 @@
+
+ #include "priv.h"
+ #include "fs_S.h"
++#include "fs_experimental_S.h"
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <hurd/exec.h>
+ #include <hurd/paths.h>
++#ifdef HAVE_EXEC_EXEC_FILE_NAME
++#include <hurd/exec_experimental.h>
++#endif
+ #include <string.h>
+ #include <idvec.h>
+
+@@ -47,6 +52,39 @@
+ mach_port_t *destroynames,
+ size_t destroynameslen)
+ {
++ return diskfs_S_file_exec_file_name (cred,
++ task,
++ flags,
++ "",
++ argv, argvlen,
++ envp, envplen,
++ fds, fdslen,
++ portarray, portarraylen,
++ intarray, intarraylen,
++ deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++}
++
++kern_return_t
++diskfs_S_file_exec_file_name (struct protid *cred,
++ task_t task,
++ int flags,
++ char *filename,
++ char *argv,
++ size_t argvlen,
++ char *envp,
++ size_t envplen,
++ mach_port_t *fds,
++ size_t fdslen,
++ mach_port_t *portarray,
++ size_t portarraylen,
++ int *intarray,
++ size_t intarraylen,
++ mach_port_t *deallocnames,
++ size_t deallocnameslen,
++ mach_port_t *destroynames,
++ size_t destroynameslen)
++{
+ struct node *np;
+ uid_t uid;
+ gid_t gid;
+@@ -136,9 +174,9 @@
+
+ if (! err)
+ /* Make a new peropen for the exec server to access the file, since any
+- seeking the exec server might want to do should not affect the
+- original peropen on which file_exec was called. (The new protid for
+- this peropen clones the caller's iouser to preserve the caller's
++ seeking the exec server might want to do should not affect the
original
++ peropen on which file_exec_file_name was called. (The new protid
++ for this peropen clones the caller's iouser to preserve the caller's
+ authentication credentials.) The new peropen's openmodes must have
+ O_READ even if the caller had only O_EXEC privilege, so the exec
+ server can read the executable file. We also include O_EXEC so that
+@@ -159,14 +197,31 @@
+ do
+ {
+ right = ports_get_send_right (newpi);
+- err = exec_exec (execserver,
+- right, MACH_MSG_TYPE_COPY_SEND,
+- task, flags, argv, argvlen, envp, envplen,
+- fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
+- portarray, MACH_MSG_TYPE_COPY_SEND, portarraylen,
+- intarray, intarraylen,
+- deallocnames, deallocnameslen,
+- destroynames, destroynameslen);
++#ifdef HAVE_EXEC_EXEC_FILE_NAME
++ err = exec_exec_file_name (execserver,
++ right, MACH_MSG_TYPE_COPY_SEND,
++ task, flags, filename,
++ argv, argvlen, envp, envplen,
++ fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
++ portarray, MACH_MSG_TYPE_COPY_SEND,
++ portarraylen,
++ intarray, intarraylen,
++ deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++ /* For backwards compatibility. Just drop it when we kill
++ exec_exec. */
++ if (err == MIG_BAD_ID)
++#endif
++ err = exec_exec (execserver,
++ right, MACH_MSG_TYPE_COPY_SEND,
++ task, flags, argv, argvlen, envp, envplen,
++ fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
++ portarray, MACH_MSG_TYPE_COPY_SEND, portarraylen,
++ intarray, intarraylen,
++ deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++
++
+ mach_port_deallocate (mach_task_self (), right);
+ if (err == MACH_SEND_INVALID_DEST)
+ {
+Index: hurd-debian/libfshelp/start-translator-long.c
+===================================================================
- --- hurd-debian.orig/libfshelp/start-translator-long.c 2013-06-19
23:32:37.000000000 +0000
- +++ hurd-debian/libfshelp/start-translator-long.c 2013-06-19
23:32:37.000000000 +0000
++--- hurd-debian.orig/libfshelp/start-translator-long.c 2014-01-13
22:58:05.000000000 +0000
+++++ hurd-debian/libfshelp/start-translator-long.c 2014-01-13
22:58:05.000000000 +0000
+@@ -1,5 +1,6 @@
+ /*
+- Copyright (C) 1995,96,99,2000,02, 04 Free Software Foundation, Inc.
++ Copyright (C) 1995, 1996, 1999, 2000, 2002, 2004, 2010
++ Free Software Foundation, Inc.
+ Written by Miles Bader and Michael I. Bushnell.
+
+ This file is part of the GNU Hurd.
+@@ -27,6 +28,9 @@
+ #include <string.h>
+ #include <assert.h>
+ #include "fshelp.h"
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++#include <hurd/fs_experimental.h>
++#endif
+
+
+ /* The data passed in the various messages we're interested in. */
+@@ -272,12 +276,22 @@
+ saveport = ports[INIT_PORT_BOOTSTRAP];
+ ports[INIT_PORT_BOOTSTRAP] = bootstrap;
+
++#ifdef HAVE_FILE_EXEC_FILE_NAME
+ /* Try and exec the translator in TASK... */
+- err = file_exec (executable, task, EXEC_DEFAULTS,
+- argz, argz_len, 0, 0,
+- fds, fds_type, fds_len,
+- ports, ports_type, ports_len,
+- ints, ints_len, 0, 0, 0, 0);
++ err = file_exec_file_name (executable, task, EXEC_DEFAULTS, name,
++ argz, argz_len, 0, 0,
++ fds, fds_type, fds_len,
++ ports, ports_type, ports_len,
++ ints, ints_len, 0, 0, 0, 0);
++ /* For backwards compatibility. Just drop it when we kill file_exec. */
++ if (err == MIG_BAD_ID)
++#endif
++ err = file_exec (executable, task, EXEC_DEFAULTS,
++ argz, argz_len, 0, 0,
++ fds, fds_type, fds_len,
++ ports, ports_type, ports_len,
++ ints, ints_len, 0, 0, 0, 0);
++
+ ports_moved = 1;
+
+ if (ports_type == MACH_MSG_TYPE_COPY_SEND)
+Index: hurd-debian/libnetfs/file-exec.c
+===================================================================
- --- hurd-debian.orig/libnetfs/file-exec.c 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libnetfs/file-exec.c 2013-06-19 23:32:37.000000000 +0000
++--- hurd-debian.orig/libnetfs/file-exec.c 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libnetfs/file-exec.c 2014-01-13 22:58:05.000000000 +0000
+@@ -1,5 +1,6 @@
+ /*
+- Copyright (C) 1996,97,2000,01,02 Free Software Foundation, Inc.
++ Copyright (C) 1996, 1997, 2000, 2001, 2002, 2010
++ Free Software Foundation, Inc.
+ Written by Michael I. Bushnell, p/BSG.
+
+ This file is part of the GNU Hurd.
+@@ -23,10 +24,14 @@
+ #include "netfs.h"
+ #include "execserver.h"
+ #include "fs_S.h"
++#include "fs_experimental_S.h"
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <hurd/exec.h>
+ #include <hurd/paths.h>
++#ifdef HAVE_EXEC_EXEC_FILE_NAME
++#include <hurd/exec_experimental.h>
++#endif
+ #include <string.h>
+ #include <idvec.h>
+
+@@ -49,6 +54,39 @@
+ mach_port_t *destroynames,
+ size_t destroynameslen)
+ {
++ return netfs_S_file_exec_file_name (cred,
++ task,
++ flags,
++ "",
++ argv, argvlen,
++ envp, envplen,
++ fds, fdslen,
++ portarray, portarraylen,
++ intarray, intarraylen,
++ deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++}
++
++kern_return_t
++netfs_S_file_exec_file_name (struct protid *cred,
++ task_t task,
++ int flags,
++ char *filename,
++ char *argv,
++ size_t argvlen,
++ char *envp,
++ size_t envplen,
++ mach_port_t *fds,
++ size_t fdslen,
++ mach_port_t *portarray,
++ size_t portarraylen,
++ int *intarray,
++ size_t intarraylen,
++ mach_port_t *deallocnames,
++ size_t deallocnameslen,
++ mach_port_t *destroynames,
++ size_t destroynameslen)
++{
+ struct node *np;
+ error_t err;
+ uid_t uid;
+@@ -133,14 +171,31 @@
+ if (newpi)
+ {
+ right = ports_get_send_right (newpi);
+- err = exec_exec (_netfs_exec,
+- right, MACH_MSG_TYPE_COPY_SEND,
+- task, flags, argv, argvlen, envp, envplen,
+- fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
+- portarray, MACH_MSG_TYPE_COPY_SEND, portarraylen,
+- intarray, intarraylen,
+- deallocnames, deallocnameslen,
+- destroynames, destroynameslen);
++#ifdef HAVE_EXEC_EXEC_FILE_NAME
++ err = exec_exec_file_name (_netfs_exec,
++ right, MACH_MSG_TYPE_COPY_SEND,
++ task, flags, filename,
++ argv, argvlen, envp, envplen,
++ fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
++ portarray, MACH_MSG_TYPE_COPY_SEND,
++ portarraylen,
++ intarray, intarraylen,
++ deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++ /* For backwards compatibility. Just drop it when we kill
++ exec_exec. */
++ if (err == MIG_BAD_ID)
++#endif
++ err = exec_exec (_netfs_exec,
++ right, MACH_MSG_TYPE_COPY_SEND,
++ task, flags, argv, argvlen, envp, envplen,
++ fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
++ portarray, MACH_MSG_TYPE_COPY_SEND,
++ portarraylen,
++ intarray, intarraylen,
++ deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++
+ mach_port_deallocate (mach_task_self (), right);
+ ports_port_deref (newpi);
+ }
+Index: hurd-debian/libtrivfs/file-exec.c
+===================================================================
- --- hurd-debian.orig/libtrivfs/file-exec.c 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libtrivfs/file-exec.c 2013-06-19 23:32:37.000000000 +0000
++--- hurd-debian.orig/libtrivfs/file-exec.c 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libtrivfs/file-exec.c 2014-01-13 22:58:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /*
+- Copyright (C) 1994,2002 Free Software Foundation, Inc.
++ Copyright (C) 1994, 2002, 2010 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+@@ -40,3 +40,28 @@
+ {
+ return EOPNOTSUPP;
+ }
++
++kern_return_t
++trivfs_S_file_exec_file_name (trivfs_protid_t exec_file,
++ mach_port_t reply,
++ mach_msg_type_name_t replyPoly,
++ mach_port_t exec_task,
++ int flags,
++ string_t filename,
++ data_t argv,
++ mach_msg_type_number_t argvCnt,
++ data_t envp,
++ mach_msg_type_number_t envpCnt,
++ portarray_t fdarray,
++ mach_msg_type_number_t fdarrayCnt,
++ portarray_t portarray,
++ mach_msg_type_number_t portarrayCnt,
++ intarray_t intarray,
++ mach_msg_type_number_t intarrayCnt,
++ mach_port_array_t deallocnames,
++ mach_msg_type_number_t deallocnamesCnt,
++ mach_port_array_t destroynames,
++ mach_msg_type_number_t destroynamesCnt)
++{
++ return EOPNOTSUPP;
++}
+Index: hurd-debian/trans/fakeroot.c
+===================================================================
- --- hurd-debian.orig/trans/fakeroot.c 2013-06-19 23:32:37.000000000 +0000
- +++ hurd-debian/trans/fakeroot.c 2013-06-19 23:32:37.000000000 +0000
- @@ -1,5 +1,5 @@
- /* fakeroot -- a translator for faking actions that aren't really permitted
- - Copyright (C) 2002, 2003, 2008 Free Software Foundation, Inc.
- + Copyright (C) 2002, 2003, 2008, 2010 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
++--- hurd-debian.orig/trans/fakeroot.c 2014-01-13 22:58:05.000000000 +0000
+++++ hurd-debian/trans/fakeroot.c 2014-01-13 22:59:28.000000000 +0000
+@@ -28,6 +28,9 @@
+ #include <pthread.h>
+ #include <hurd/ihash.h>
+ #include <hurd/paths.h>
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++#include <hurd/fs_experimental.h>
++#endif
+
+ #include <version.h>
+
- @@ -705,6 +708,39 @@
++@@ -778,6 +781,39 @@
+ mach_port_t *destroynames,
+ size_t destroynameslen)
+ {
++ return netfs_S_file_exec_file_name (user,
++ task,
++ flags,
++ "",
++ argv, argvlen,
++ envp, envplen,
++ fds, fdslen,
++ portarray, portarraylen,
++ intarray, intarraylen,
++ deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++}
++
++kern_return_t
++netfs_S_file_exec_file_name (struct protid *user,
++ task_t task,
++ int flags,
++ char *filename,
++ char *argv,
++ size_t argvlen,
++ char *envp,
++ size_t envplen,
++ mach_port_t *fds,
++ size_t fdslen,
++ mach_port_t *portarray,
++ size_t portarraylen,
++ int *intarray,
++ size_t intarraylen,
++ mach_port_t *deallocnames,
++ size_t deallocnameslen,
++ mach_port_t *destroynames,
++ size_t destroynameslen)
++{
+ error_t err;
+ file_t file;
+
- @@ -721,13 +757,29 @@
++@@ -794,13 +830,29 @@
+
+ if (!err)
+ {
++#ifdef HAVE_FILE_EXEC_FILE_NAME
+ /* We cannot use MACH_MSG_TYPE_MOVE_SEND because we might need to
+ retry an interrupted call that would have consumed the rights. */
+- err = file_exec (user->po->np->nn->file, task, flags, argv, argvlen,
+- envp, envplen, fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
+- portarray, MACH_MSG_TYPE_COPY_SEND, portarraylen,
+- intarray, intarraylen, deallocnames, deallocnameslen,
+- destroynames, destroynameslen);
++ err = file_exec_file_name (user->po->np->nn->file, task, flags,
++ filename,
++ argv, argvlen,
++ envp, envplen,
++ fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
++ portarray, MACH_MSG_TYPE_COPY_SEND,
++ portarraylen,
++ intarray, intarraylen,
++ deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++ /* For backwards compatibility. Just drop it when we kill
++ file_exec. */
++ if (err == MIG_BAD_ID)
++#endif
++ err = file_exec (user->po->np->nn->file, task, flags, argv, argvlen,
++ envp, envplen, fds, MACH_MSG_TYPE_COPY_SEND, fdslen,
++ portarray, MACH_MSG_TYPE_COPY_SEND, portarraylen,
++ intarray, intarraylen, deallocnames, deallocnameslen,
++ destroynames, destroynameslen);
++
+ mach_port_deallocate (mach_task_self (), file);
+ }
+
- @@ -835,12 +887,14 @@
- mach_msg_header_t *outp)
++@@ -930,6 +982,7 @@
+ {
- int netfs_fs_server (mach_msg_header_t *, mach_msg_header_t *);
- + int netfs_fs_experimental_server (mach_msg_header_t *, mach_msg_header_t
*);
- int netfs_io_server (mach_msg_header_t *, mach_msg_header_t *);
- int netfs_fsys_server (mach_msg_header_t *, mach_msg_header_t *);
- int netfs_ifsock_server (mach_msg_header_t *, mach_msg_header_t *);
-
- if (netfs_io_server (inp, outp)
- || netfs_fs_server (inp, outp)
- + || netfs_fs_experimental_server (inp, outp)
- || ports_notify_server (inp, outp)
- || netfs_fsys_server (inp, outp)
++ mig_routine_t netfs_io_server_routine (mach_msg_header_t *);
++ mig_routine_t netfs_fs_server_routine (mach_msg_header_t *);
+++ mig_routine_t netfs_fs_experimental_server_routine (mach_msg_header_t *);
++ mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
++ mig_routine_t netfs_fsys_server_routine (mach_msg_header_t *);
++ mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
++@@ -937,6 +990,7 @@
++ mig_routine_t routine;
++ if ((routine = netfs_io_server_routine (inp)) ||
++ (routine = netfs_fs_server_routine (inp)) ||
+++ (routine = netfs_fs_experimental_server_routine (inp)) ||
++ (routine = ports_notify_server_routine (inp)) ||
++ (routine = netfs_fsys_server_routine (inp)) ||
+ /* XXX we should intercept interrupt_operation and do
+Index: hurd-debian/utils/login.c
+===================================================================
- --- hurd-debian.orig/utils/login.c 2013-06-19 23:32:37.000000000 +0000
- +++ hurd-debian/utils/login.c 2013-06-19 23:32:37.000000000 +0000
++--- hurd-debian.orig/utils/login.c 2014-01-13 22:58:05.000000000 +0000
+++++ hurd-debian/utils/login.c 2014-01-13 22:58:05.000000000 +0000
+@@ -1,6 +1,7 @@
+ /* Hurdish login
+
+- Copyright (C) 1995,96,97,98,99,2002 Free Software Foundation, Inc.
++ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2002, 2010
++ Free Software Foundation, Inc.
+
+ Written by Miles Bader <address@hidden>
+
+@@ -46,6 +47,9 @@
+ #include <error.h>
+ #include <timefmt.h>
+ #include <hurd/lookup.h>
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++#include <hurd/fs_experimental.h>
++#endif
+ #include <ugids.h>
+
+ const char *argp_program_version = STANDARD_HURD_VERSION (login);
+@@ -882,12 +886,22 @@
+ }
+ }
+
+- err = file_exec (exec, mach_task_self (), EXEC_DEFAULTS,
+- sh_args, sh_args_len, env, env_len,
+- fds, MACH_MSG_TYPE_COPY_SEND, 3,
+- ports, MACH_MSG_TYPE_COPY_SEND, INIT_PORT_MAX,
+- ints, INIT_INT_MAX,
+- 0, 0, 0, 0);
++#ifdef HAVE_FILE_EXEC_FILE_NAME
++ err = file_exec_file_name (exec, mach_task_self (), EXEC_DEFAULTS, shell,
++ sh_args, sh_args_len, env, env_len,
++ fds, MACH_MSG_TYPE_COPY_SEND, 3,
++ ports, MACH_MSG_TYPE_COPY_SEND, INIT_PORT_MAX,
++ ints, INIT_INT_MAX,
++ 0, 0, 0, 0);
++ /* Fallback in case the file server hasn't been restarted. */
++ if (err == MIG_BAD_ID)
++#endif
++ err = file_exec (exec, mach_task_self (), EXEC_DEFAULTS,
++ sh_args, sh_args_len, env, env_len,
++ fds, MACH_MSG_TYPE_COPY_SEND, 3,
++ ports, MACH_MSG_TYPE_COPY_SEND, INIT_PORT_MAX,
++ ints, INIT_INT_MAX,
++ 0, 0, 0, 0);
+ if (err)
+ error(5, err, "%s", shell);
+
+Index: hurd-debian/hurd/fs_experimental.defs
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
- +++ hurd-debian/hurd/fs_experimental.defs 2013-06-19 23:32:37.000000000
+0000
+++++ hurd-debian/hurd/fs_experimental.defs 2014-01-13 22:58:05.000000000
+0000
+@@ -0,0 +1,51 @@
++/* Definitions for the filesystem interface.
++ Copyright (C) 1994,95,96,97,98,99,2002 Free Software Foundation, Inc.
++
++This file is part of the GNU Hurd.
++
++The GNU Hurd is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2, or (at your option)
++any later version.
++
++The GNU Hurd is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with the GNU Hurd; see the file COPYING. If not, write to
++the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
++
++
++/* All these objects also implement the generic IO facilities. */
++
++subsystem fs_experimental 444242;
++
++#include <hurd/hurd_types.defs>
++
++#ifdef FILE_IMPORTS
++FILE_IMPORTS
++#endif
++
++/* Operations supported on all files */
++
++INTR_INTERFACE
++
++/* Overlay a task with a file. Necessary initialization, including
++ authentication changes associated with set[ug]id execution must be
++ handled by the filesystem. Filesystems normally implement this by
++ using exec_newtask or exec_loadtask as appropriate. */
++routine file_exec_file_name (
++ exec_file: file_t;
++ RPT
++ exec_task: task_t;
++ flags: int;
++ filename: string_t;
++ argv: data_t SCP;
++ envp: data_t SCP;
++ fdarray: portarray_t SCP;
++ portarray: portarray_t SCP;
++ intarray: intarray_t SCP;
++ deallocnames: mach_port_name_array_t SCP;
++ destroynames: mach_port_name_array_t SCP);
+Index: hurd-debian/libdiskfs/Makefile
+===================================================================
- --- hurd-debian.orig/libdiskfs/Makefile 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libdiskfs/Makefile 2013-06-19 23:32:37.000000000 +0000
- @@ -55,7 +55,7 @@
++--- hurd-debian.orig/libdiskfs/Makefile 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libdiskfs/Makefile 2014-01-13 22:58:05.000000000 +0000
++@@ -56,7 +56,7 @@
+ SRCS = $(OTHERSRCS) $(FSSRCS) $(IOSRCS) $(FSYSSRCS) $(IFSOCKSRCS)
+ installhdrs = diskfs.h diskfs-pager.h
+
+-MIGSTUBS = fsServer.o ioServer.o fsysServer.o exec_startupServer.o \
++MIGSTUBS = fsServer.o fs_experimentalServer.o ioServer.o fsysServer.o
exec_startupServer.o \
+ fsys_replyUser.o fs_notifyUser.o ifsockServer.o \
+ startup_notifyServer.o
+ OBJS = $(sort $(SRCS:.c=.o) $(MIGSTUBS))
- @@ -65,6 +65,7 @@
++@@ -66,6 +66,7 @@
+
+ fsys-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h -DREPLY_PORTS
+ fs-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h
++fs_experimental-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h
+ io-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h
+ ifsock-MIGSFLAGS = -imacros $(srcdir)/fsmutations.h
+ MIGCOMSFLAGS = -prefix diskfs_
+Index: hurd-debian/libdiskfs/demuxer.c
+===================================================================
- --- hurd-debian.orig/libdiskfs/demuxer.c 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libdiskfs/demuxer.c 2013-06-19 23:32:37.000000000 +0000
- @@ -22,6 +22,7 @@
- mach_msg_header_t *outp)
++--- hurd-debian.orig/libdiskfs/demuxer.c 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libdiskfs/demuxer.c 2014-01-13 22:59:57.000000000 +0000
++@@ -23,6 +23,7 @@
+ {
- int diskfs_fs_server (mach_msg_header_t *, mach_msg_header_t *);
- + int diskfs_fs_experimental_server (mach_msg_header_t *, mach_msg_header_t
*);
- int diskfs_io_server (mach_msg_header_t *, mach_msg_header_t *);
- int diskfs_fsys_server (mach_msg_header_t *, mach_msg_header_t *);
- int diskfs_exec_startup_server (mach_msg_header_t *, mach_msg_header_t *);
- @@ -31,6 +32,7 @@
-
- return (diskfs_io_server (inp, outp)
- || diskfs_fs_server (inp, outp)
- + || diskfs_fs_experimental_server (inp, outp)
- || ports_notify_server (inp, outp)
- || diskfs_fsys_server (inp, outp)
- || diskfs_exec_startup_server (inp, outp)
++ mig_routine_t diskfs_io_server_routine (mach_msg_header_t *);
++ mig_routine_t diskfs_fs_server_routine (mach_msg_header_t *);
+++ mig_routine_t diskfs_fs_experimental_server_routine (mach_msg_header_t *);
++ mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
++ mig_routine_t diskfs_fsys_server_routine (mach_msg_header_t *);
++ mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
++@@ -33,6 +34,7 @@
++ mig_routine_t routine;
++ if ((routine = diskfs_io_server_routine (inp)) ||
++ (routine = diskfs_fs_server_routine (inp)) ||
+++ (routine = diskfs_fs_experimental_server_routine (inp)) ||
++ (routine = ports_notify_server_routine (inp)) ||
++ (routine = diskfs_fsys_server_routine (inp)) ||
++ (routine = ports_interrupt_server_routine (inp)) ||
+Index: hurd-debian/libnetfs/Makefile
+===================================================================
- --- hurd-debian.orig/libnetfs/Makefile 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libnetfs/Makefile 2013-06-19 23:32:37.000000000 +0000
- @@ -58,12 +58,13 @@
++--- hurd-debian.orig/libnetfs/Makefile 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libnetfs/Makefile 2014-01-13 22:58:05.000000000 +0000
++@@ -59,12 +59,13 @@
+
+ installhdrs=netfs.h
+
+-MIGSTUBS= ioServer.o fsServer.o fsysServer.o fsys_replyUser.o ifsockServer.o
++MIGSTUBS= ioServer.o fsServer.o fs_experimentalServer.o fsysServer.o
fsys_replyUser.o ifsockServer.o
+
+ OBJS=$(sort $(SRCS:.c=.o) $(MIGSTUBS))
+
+ fsys-MIGSFLAGS = -imacros $(srcdir)/mutations.h -DREPLY_PORTS
+ fs-MIGSFLAGS = -imacros $(srcdir)/mutations.h
++fs_experimental-MIGSFLAGS = -imacros $(srcdir)/mutations.h
+ io-MIGSFLAGS = -imacros $(srcdir)/mutations.h
+ ifsock-MIGSFLAGS = -imacros $(srcdir)/mutations.h
+ MIGCOMSFLAGS = -prefix netfs_
+Index: hurd-debian/libnetfs/demuxer.c
+===================================================================
- --- hurd-debian.orig/libnetfs/demuxer.c 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libnetfs/demuxer.c 2013-06-19 23:32:37.000000000 +0000
- @@ -25,12 +25,14 @@
- mach_msg_header_t *outp)
++--- hurd-debian.orig/libnetfs/demuxer.c 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libnetfs/demuxer.c 2014-01-13 23:00:26.000000000 +0000
++@@ -26,6 +26,7 @@
+ {
- int netfs_fs_server (mach_msg_header_t *, mach_msg_header_t *);
- + int netfs_fs_experimental_server (mach_msg_header_t *, mach_msg_header_t
*);
- int netfs_io_server (mach_msg_header_t *, mach_msg_header_t *);
- int netfs_fsys_server (mach_msg_header_t *, mach_msg_header_t *);
- int netfs_ifsock_server (mach_msg_header_t *, mach_msg_header_t *);
-
- return (netfs_io_server (inp, outp)
- || netfs_fs_server (inp, outp)
- + || netfs_fs_experimental_server (inp, outp)
- || ports_notify_server (inp, outp)
- || netfs_fsys_server (inp, outp)
- || ports_interrupt_server (inp, outp)
++ mig_routine_t netfs_io_server_routine (mach_msg_header_t *);
++ mig_routine_t netfs_fs_server_routine (mach_msg_header_t *);
+++ mig_routine_t netfs_fs_experimental_server_routine (mach_msg_header_t *);
++ mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
++ mig_routine_t netfs_fsys_server_routine (mach_msg_header_t *);
++ mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
++@@ -34,6 +35,7 @@
++ mig_routine_t routine;
++ if ((routine = netfs_io_server_routine (inp)) ||
++ (routine = netfs_fs_server_routine (inp)) ||
+++ (routine = netfs_fs_experimental_server_routine (inp)) ||
++ (routine = ports_notify_server_routine (inp)) ||
++ (routine = netfs_fsys_server_routine (inp)) ||
++ (routine = ports_interrupt_server_routine (inp)) ||
+Index: hurd-debian/libtrivfs/Makefile
+===================================================================
- --- hurd-debian.orig/libtrivfs/Makefile 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libtrivfs/Makefile 2013-06-19 23:32:37.000000000 +0000
- @@ -43,7 +43,7 @@
++--- hurd-debian.orig/libtrivfs/Makefile 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libtrivfs/Makefile 2014-01-13 22:58:05.000000000 +0000
++@@ -44,7 +44,7 @@
+
+ SRCS=$(FSSRCS) $(IOSRCS) $(FSYSSRCS) $(OTHERSRCS)
+
+-MIGSTUBS=fsServer.o ioServer.o fsysServer.o fsys_replyUser.o
++MIGSTUBS=fsServer.o fs_experimentalServer.o ioServer.o fsysServer.o
fsys_replyUser.o
+
+ libname = libtrivfs
+ HURDLIBS = fshelp iohelp ports shouldbeinlibc
- @@ -53,7 +53,7 @@
++@@ -54,7 +54,7 @@
+ installhdrs := trivfs.h
+ mig-sheader-prefix = trivfs_
+ ifndef no_deps
+-installhdrs += $(patsubst %,trivfs_%_S.h,fs io fsys)
++installhdrs += $(patsubst %,trivfs_%_S.h,fs fs_experimental io fsys)
+ endif
+
+ include ../Makeconf
+Index: hurd-debian/libtrivfs/demuxer.c
+===================================================================
- --- hurd-debian.orig/libtrivfs/demuxer.c 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libtrivfs/demuxer.c 2013-06-19 23:32:37.000000000 +0000
- @@ -26,11 +26,13 @@
- mach_msg_header_t *outp)
++--- hurd-debian.orig/libtrivfs/demuxer.c 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libtrivfs/demuxer.c 2014-01-13 23:00:47.000000000 +0000
++@@ -27,6 +27,7 @@
+ {
- int trivfs_fs_server (mach_msg_header_t *, mach_msg_header_t *);
- + int trivfs_fs_experimental_server (mach_msg_header_t *, mach_msg_header_t
*);
- int trivfs_io_server (mach_msg_header_t *, mach_msg_header_t *);
- int trivfs_fsys_server (mach_msg_header_t *, mach_msg_header_t *);
-
- return (trivfs_io_server (inp, outp)
- || trivfs_fs_server (inp, outp)
- + || trivfs_fs_experimental_server (inp, outp)
- || ports_notify_server (inp, outp)
- || trivfs_fsys_server (inp, outp)
- || ports_interrupt_server (inp, outp));
++ mig_routine_t trivfs_io_server_routine (mach_msg_header_t *);
++ mig_routine_t trivfs_fs_server_routine (mach_msg_header_t *);
+++ mig_routine_t trivfs_fs_experimental_server_routine (mach_msg_header_t *);
++ mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
++ mig_routine_t trivfs_fsys_server_routine (mach_msg_header_t *);
++ mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
++@@ -35,6 +36,7 @@
++ mig_routine_t routine;
++ if ((routine = trivfs_io_server_routine (inp)) ||
++ (routine = trivfs_fs_server_routine (inp)) ||
+++ (routine = trivfs_fs_experimental_server_routine (inp)) ||
++ (routine = ports_notify_server_routine (inp)) ||
++ (routine = trivfs_fsys_server_routine (inp)) ||
++ (routine = ports_interrupt_server_routine (inp)))
+Index: hurd-debian/configure.ac
+===================================================================
- --- hurd-debian.orig/configure.ac 2013-06-19 23:32:37.000000000 +0000
- +++ hurd-debian/configure.ac 2013-06-19 23:32:37.000000000 +0000
- @@ -162,7 +162,7 @@
++--- hurd-debian.orig/configure.ac 2014-01-13 22:58:05.000000000 +0000
+++++ hurd-debian/configure.ac 2014-01-13 22:58:05.000000000 +0000
++@@ -161,7 +161,7 @@
+ AC_SUBST(VERSIONING)
+
+ # Check if libc contains getgrouplist and/or uselocale.
+-AC_CHECK_FUNCS(getgrouplist uselocale)
++AC_CHECK_FUNCS(getgrouplist uselocale file_exec_file_name
exec_exec_file_name)
+
+
+ # From glibc HEAD, 2007-11-07.
+Index: hurd-debian/libtrivfs/trivfs.h
+===================================================================
- --- hurd-debian.orig/libtrivfs/trivfs.h 2013-06-19 23:32:37.000000000
+0000
- +++ hurd-debian/libtrivfs/trivfs.h 2013-06-19 23:32:37.000000000 +0000
- @@ -293,6 +293,7 @@
++--- hurd-debian.orig/libtrivfs/trivfs.h 2014-01-13 22:58:05.000000000
+0000
+++++ hurd-debian/libtrivfs/trivfs.h 2014-01-13 22:58:05.000000000 +0000
++@@ -299,6 +299,7 @@
+ /* These are the MiG-generated headers that declare prototypes
+ for the server functions. */
+ #include <hurd/trivfs_fs_S.h>
++#include <hurd/trivfs_fs_experimental_S.h>
+ #include <hurd/trivfs_io_S.h>
+ #include <hurd/trivfs_fsys_S.h>
+
diff --cc debian/patches/libports_stability.patch
index 4452807,0000000..ee68dfb
mode 100644,000000..100644
--- a/debian/patches/libports_stability.patch
+++ b/debian/patches/libports_stability.patch
@@@ -1,20 -1,0 +1,19 @@@
+Ideally we should be able to time out and see translators go away
automatically,
+however it makes all threads often wake at the same time and overload Mach.
+
+---
+ libports/manage-multithread.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: hurd-debian/libports/manage-multithread.c
+===================================================================
- --- hurd-debian.orig/libports/manage-multithread.c 2012-11-26
00:23:22.000000000 +0000
- +++ hurd-debian/libports/manage-multithread.c 2012-11-26 00:25:28.000000000
+0000
- @@ -243,6 +243,8 @@
++--- hurd-debian.orig/libports/manage-multithread.c 2014-01-13
22:53:35.000000000 +0000
+++++ hurd-debian/libports/manage-multithread.c 2014-01-13 22:53:48.000000000
+0000
++@@ -236,5 +236,7 @@
+ return NULL;
+ }
+
++ thread_timeout = global_timeout = 0; /* XXX */
++
- nreqthreads = 1;
- totalthreads = 1;
+ thread_function ((void *) 1);
++ }
diff --cc debian/patches/proc_set_init_task.patch
index 84383fe,0000000..65c8481
mode 100644,000000..100644
--- a/debian/patches/proc_set_init_task.patch
+++ b/debian/patches/proc_set_init_task.patch
@@@ -1,300 -1,0 +1,300 @@@
+diff --git a/hurd/process.defs b/hurd/process.defs
+index bf90556..8c17666 100644
+--- a/hurd/process.defs
++++ b/hurd/process.defs
+@@ -373,7 +373,11 @@ routine proc_getnports (
+
+ /*** Routines related to early server bootstrapping ***/
+
+-skip; /* Reserved for proc_set_init_task */
++/* Set the task of process HURD_PID_INIT. Only the startup process
++ HURD_PID_STARTUP may use this interface. */
++routine proc_set_init_task (
++ process: process_t;
++ task: task_t);
+
+ /* Inform the process server that the process is important. */
+ routine proc_mark_important (
+diff --git a/hurd/process_request.defs b/hurd/process_request.defs
+index 38e7146..cb8f083 100644
+--- a/hurd/process_request.defs
++++ b/hurd/process_request.defs
+@@ -374,7 +374,10 @@ simpleroutine proc_getnports_request (
+
+ /*** Routines related to early server bootstrapping ***/
+
+-skip; /* Reserved for proc_set_init_task */
++simpleroutine proc_set_init_task_request (
++ process: process_t;
++ ureplyport reply: reply_port_t;
++ task: task_t);
+
+ /* Inform the process server that the process is important. */
+ simpleroutine proc_mark_important_request (
+diff --git a/include/pids.h b/include/pids.h
+index 22415f4..dff7635 100644
+--- a/include/pids.h
++++ b/include/pids.h
+@@ -22,8 +22,9 @@
+ #ifndef _HURD_PROCESSES_H
+ #define _HURD_PROCESSES_H
+
+-#define HURD_PID_STARTUP 1
+-#define HURD_PID_KERNEL 2
+-#define HURD_PID_PROC 3
++#define HURD_PID_INIT 1
++#define HURD_PID_STARTUP 2
++#define HURD_PID_KERNEL 3
++#define HURD_PID_PROC 4
+
+ #endif /* _HURD_PROCESSES_H */
+diff --git a/init/init.c b/init/init.c
+index 94f1a9b..9982558 100644
+--- a/init/init.c
++++ b/init/init.c
+@@ -1057,7 +1057,7 @@ start_child (const char *prog, char **progargs)
+ NULL, 0, /* OSF Mach */
+ #endif
+ 0, &child_task);
+- proc_child (procserver, child_task);
++ proc_set_init_task (procserver, child_task);
+ proc_task2pid (procserver, child_task, &child_pid);
+ proc_task2proc (procserver, child_task, &default_ports[INIT_PORT_PROC]);
+
+diff --git a/proc/main.c b/proc/main.c
+index 73abbc0..6fe2330 100644
+--- a/proc/main.c
++++ b/proc/main.c
+@@ -1,5 +1,5 @@
+ /* Initialization of the proc server
+- Copyright (C) 1993,94,95,96,97,99,2000,01 Free Software Foundation, Inc.
++ Copyright (C) 1993,94,95,96,97,99,2000,01,13 Free Software Foundation,
Inc.
+
+ This file is part of the GNU Hurd.
+
+@@ -82,7 +82,12 @@ main (int argc, char **argv, char **envp)
+ generic_port = ports_get_right (genport);
+
+ /* Create the initial proc object for init (PID 1). */
+- startup_proc = create_startup_proc ();
++ init_proc = create_init_proc ();
++
++ /* Create the startup proc object for /hurd/init (PID 2). */
++ startup_proc = allocate_proc (MACH_PORT_NULL);
++ startup_proc->p_deadmsg = 1;
++ complete_proc (startup_proc, HURD_PID_STARTUP);
+
- /* Create our own proc object (we are PID 0). */
++ /* Create our own proc object. */
+ self_proc = allocate_proc (mach_task_self ());
+diff --git a/proc/mgt.c b/proc/mgt.c
+index d7ad296..6d3df7e 100644
+--- a/proc/mgt.c
++++ b/proc/mgt.c
+@@ -1,5 +1,6 @@
+ /* Process management
+- Copyright (C) 1992,93,94,95,96,99,2000,01,02 Free Software Foundation,
Inc.
++ Copyright (C) 1992,93,94,95,96,99,2000,01,02,13
++ Free Software Foundation, Inc.
+
+ This file is part of the GNU Hurd.
+
+@@ -184,7 +185,7 @@ S_proc_child (struct proc *parentp,
+ /* Process hierarchy. Remove from our current location
+ and place us under our new parent. Sanity check to make sure
+ parent is currently init. */
+- assert (childp->p_parent == startup_proc);
++ assert (childp->p_parent == init_proc);
+ if (childp->p_sib)
+ childp->p_sib->p_prevsib = childp->p_prevsib;
+ *childp->p_prevsib = childp->p_sib;
+@@ -583,7 +584,7 @@ allocate_proc (task_t task)
+ /* Allocate and initialize the proc structure for init (PID 1),
+ the original parent of all other procs. */
+ struct proc *
+-create_startup_proc (void)
++create_init_proc (void)
+ {
+ static const uid_t zero;
+ struct proc *p;
+@@ -592,7 +593,7 @@ create_startup_proc (void)
+ p = allocate_proc (MACH_PORT_NULL);
+ assert (p);
+
+- p->p_pid = HURD_PID_STARTUP;
++ p->p_pid = HURD_PID_INIT;
+
+ p->p_parent = p;
+ p->p_sib = 0;
+@@ -640,7 +641,7 @@ proc_death_notify (struct proc *p)
+ }
+
+ /* Complete a new process that has been allocated but not entirely
initialized.
+- This gets called for every process except startup_proc (PID 1). */
++ This gets called for every process except init_proc (PID 1). */
+ void
+ complete_proc (struct proc *p, pid_t pid)
+ {
+@@ -659,30 +660,47 @@ complete_proc (struct proc *p, pid_t pid)
+
+ p->p_pid = pid;
+
+- ids_ref (&nullids);
+- p->p_id = &nullids;
++ if (pid == HURD_PID_STARTUP)
++ {
++ /* Equip HURD_PID_STARTUP with the same credentials as
++ HURD_PID_INIT. */
++ static const uid_t zero;
++ p->p_id = make_ids (&zero, 1);
++ assert (p->p_id);
++ }
++ else
++ {
++ ids_ref (&nullids);
++ p->p_id = &nullids;
++ }
+
+ p->p_login = nulllogin;
+ p->p_login->l_refcnt++;
+
+ /* Our parent is init for now. */
+- p->p_parent = startup_proc;
++ p->p_parent = init_proc;
+
+- p->p_sib = startup_proc->p_ochild;
+- p->p_prevsib = &startup_proc->p_ochild;
++ p->p_sib = init_proc->p_ochild;
++ p->p_prevsib = &init_proc->p_ochild;
+ if (p->p_sib)
+ p->p_sib->p_prevsib = &p->p_sib;
+- startup_proc->p_ochild = p;
++ init_proc->p_ochild = p;
+ p->p_loginleader = 0;
+ p->p_ochild = 0;
+ p->p_parentset = 0;
+
+ p->p_noowner = 1;
+
+- p->p_pgrp = startup_proc->p_pgrp;
++ p->p_pgrp = init_proc->p_pgrp;
+
+- proc_death_notify (p);
+- add_proc_to_hash (p);
++ /* At this point, we do not know the task of the startup process,
++ defer registering death notifications and adding it to the hash
++ tables. */
++ if (pid != HURD_PID_STARTUP)
++ {
++ proc_death_notify (p);
++ add_proc_to_hash (p);
++ }
+ join_pgrp (p);
+ }
+
+@@ -744,7 +762,7 @@ process_has_exited (struct proc *p)
+ nowait_msg_proc_newids (tp->p_msgport, tp->p_task,
+ 1, tp->p_pgrp->pg_pgid,
+ !tp->p_pgrp->pg_orphcnt);
+- tp->p_parent = startup_proc;
++ tp->p_parent = init_proc;
+ if (tp->p_dead)
+ isdead = 1;
+ }
+@@ -752,17 +770,17 @@ process_has_exited (struct proc *p)
+ nowait_msg_proc_newids (tp->p_msgport, tp->p_task,
+ 1, tp->p_pgrp->pg_pgid,
+ !tp->p_pgrp->pg_orphcnt);
+- tp->p_parent = startup_proc;
++ tp->p_parent = init_proc;
+
+ /* And now append the lists. */
+- tp->p_sib = startup_proc->p_ochild;
++ tp->p_sib = init_proc->p_ochild;
+ if (tp->p_sib)
+ tp->p_sib->p_prevsib = &tp->p_sib;
+- startup_proc->p_ochild = p->p_ochild;
+- p->p_ochild->p_prevsib = &startup_proc->p_ochild;
++ init_proc->p_ochild = p->p_ochild;
++ p->p_ochild->p_prevsib = &init_proc->p_ochild;
+
+ if (isdead)
+- alert_parent (startup_proc);
++ alert_parent (init_proc);
+ }
+
+ /* If an operation is in progress for this process, cause it
+@@ -942,3 +960,21 @@ S_proc_get_code (struct proc *callerp,
+
+ return 0;
+ }
++
++/* Implement proc_set_init_task as described in <hurd/process.defs>. */
++error_t
++S_proc_set_init_task(struct proc *callerp,
++ task_t task)
++{
++ if (! callerp)
++ return EOPNOTSUPP;
++
++ if (callerp != startup_proc)
++ return EPERM;
++
++ init_proc->p_task = task;
++ proc_death_notify (init_proc);
++ add_proc_to_hash (init_proc);
++
++ return 0;
++}
+diff --git a/proc/proc.h b/proc/proc.h
+index 80f8397..b544b8d 100644
+--- a/proc/proc.h
++++ b/proc/proc.h
+@@ -1,5 +1,6 @@
+ /* Process server definitions
+- Copyright (C) 1992,93,94,95,96,99,2000,01 Free Software Foundation, Inc.
++ Copyright (C) 1992,93,94,95,96,99,2000,01,13
++ Free Software Foundation, Inc.
+
+ This file is part of the GNU Hurd.
+
+@@ -134,7 +135,8 @@ struct exc
+
+ mach_port_t authserver;
- struct proc *self_proc; /* process 0 (us) */
++ struct proc *self_proc; /* process HURD_PID_PROC (us) */
+-struct proc *startup_proc; /* process 1 (init) */
++struct proc *init_proc; /* process 1 (sysvinit) */
++struct proc *startup_proc; /* process 2 (hurd/init) */
+
+ struct port_bucket *proc_bucket;
+ struct port_class *proc_class;
+@@ -195,7 +197,7 @@ void exc_clean (void *);
+ struct proc *add_tasks (task_t);
+ int pidfree (pid_t);
+
+-struct proc *create_startup_proc (void);
++struct proc *create_init_proc (void);
+ struct proc *allocate_proc (task_t);
+ void proc_death_notify (struct proc *);
+ void complete_proc (struct proc *, pid_t);
+diff --git a/procfs/main.c b/procfs/main.c
+index 54e9682..8727f86 100644
+--- a/procfs/main.c
++++ b/procfs/main.c
+@@ -42,7 +42,7 @@ uid_t opt_anon_owner;
+ #define OPT_CLK_TCK sysconf(_SC_CLK_TCK)
+ #define OPT_STAT_MODE 0400
+ #define OPT_FAKE_SELF -1
+-#define OPT_KERNEL_PID 2
++#define OPT_KERNEL_PID 3
+ #define OPT_ANON_OWNER 0
+
+ #define NODEV_KEY -1 /* <= 0, so no short option. */
+@@ -153,7 +153,7 @@ struct argp_option common_options[] = {
+ { "kernel-process", 'k', "PID", 0,
+ "Process identifier for the kernel, used to retreive its command "
+ "line, as well as the global up and idle times. "
+- "(default: 2)" },
++ "(default: 3)" },
+ { "compatible", 'c', NULL, 0,
+ "Try to be compatible with the Linux procps utilities. "
+ "Currently equivalent to -h 100 -s 0444 -S 1." },
--
Alioth's /usr/local/bin/git-commit-notice on
/srv/git.debian.org/git/pkg-hurd/hurd.git