aboutsummaryrefslogtreecommitdiff
path: root/contributing.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'contributing.mdwn')
-rw-r--r--contributing.mdwn38
1 files changed, 26 insertions, 12 deletions
diff --git a/contributing.mdwn b/contributing.mdwn
index 485bdd47..23eefdd0 100644
--- a/contributing.mdwn
+++ b/contributing.mdwn
@@ -1,5 +1,5 @@
[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
-2014 Free Software Foundation, Inc."]]
+2014, 2015 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
@@ -68,6 +68,15 @@ concepts|microkernel/mach/concepts]], [[Hurd's concepts|hurd/concepts]], the
*[[hurd/critique]]*. Until you can understand and do the basic exercises
listed there, you won't be able to significantly contribute to the Hurd.
+You can also have a look at the
+[starting guide talk](https://fosdem.org/2015/schedule/event/hurd/).
+
+In terms of building and hacking on software, the easiest way to avoid having to
+understand the whole picture from the start is install the Debian distribution,
+and patch over the Debian source code. Installing from upstream source is much
+more complexe since you would need to know which piece fits where. Building and
+installing patched packages is much more simple.
+
For more reading resources, please see these web pages, for example,
[[Hurd_documentation|hurd/documentation]] and
[[Mach_documentation|microkernel/mach/documentation]] for links to a bunch of
@@ -80,7 +89,11 @@ Here is a list of small hacks, which can serve as entries into the Hurd code for
people who would like to dive into the code but just lack a "somewhere to begin
with".
-* Some translators do not support [[hurd/fsysopts]].
+* Add `UTIME_NOW` and `UTIME_OMIT`. It is a matter of taking the BSD values, add the `#define`s to the proper header, and implement the support in `*_S_file_utimes` functions. Flávio Cruz is having a look.
+ See also [[!debbug 762677]].
+* cat /dev/null/ should fail with ENOTDIR, i.e. make libdiskfs's diskfs_S_dir_lookup properly pass the trailing / to translators (so that libtrivfs (which null is based on) trivfs_S_dir_lookup returns ENOTDIR). See also [[!debbug 785404]]
+* Some translators do not support [[hurd/fsysopts]], i.e. support for the
+file_get_fs_options and fsys_set_options RPCs.
* Extend `device_read`/`device_write` into supporting > 2TiB disk sizes.
* Make the Hurd [[hurd/console]]'s configuration use [[xkb layout/variant instead of keymap|hurd/console/discussion]].
* Add a [[futex kernel trap|microkernel/mach/gnumach/interface#futex]] to GNU Mach.
@@ -93,15 +106,16 @@ which exposes the partitions of the disk image, using parted, and
the parted-based storeio (`settrans -c foos1 /hurd/storeio -T typed
part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based.
* Write [[virtio drivers for KVM|open_issues/virtio#KVM]].
-* Port valgrind. There is a whole
-[[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the
-basic port could be small.
-* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. [[!GNU_Savannah_bug 32770]]
* Move the [[mount/umount|open_issues/glibc#mount]] logic from
`utils/{,u}mount.c` into [[glibc]].
* Fix [[`/proc/self`|hurd/translator/procfs/jkoenig/discussion#self]].
-Look at `[glibc]/hurd/lookup-retry.c` for how [`FS_RETRY_MAGICAL`
+Look at `[glibc]/hurd/lookup-retry.c` for how [[`FS_RETRY_MAGICAL`
lookups|hurd/interface/dir_lookup]] work.
+* Add a tool to trace system calls, by using gnumach's Syscall-Emulation, see <http://www.gnu.org/software/hurd/gnumach-doc/Syscall-Emulation.html>
+* Improve our [[FUSE library|hurd/libfuse]].
+* Add a relatime or lazytime option to ext2fs.
+* Fix our [[open_issues/symlink_translator]].
+* Fix chmod on fifos: mkfifo foo ; sudo chmod g+w foo
<a name="porting"></a>
## Porting Packages
@@ -114,9 +128,10 @@ For guidelines, please have a look at the dedicated [[porting_page|hurd/porting]
### Debian GNU/Hurd
-Along with the official Debian "wheezy" release (but not as an official Debian
-release), in May 2013 the Debian GNU/Hurd team released [[Debian GNU/Hurd
-2013|news/2013-05-debian_gnu_hurd_2013]].
+Along with the official Debian "jessie" release (but not as an
+official Debian release), in April 2015 the [[Debian
+GNU/Hurd|hurd/running/debian]] team released [[Debian GNU/Hurd
+2015|news/2015-04-29-debian_gnu_hurd_2015]].
There is a goal of getting Debian GNU/Hurd into shape for a technology
preview for integration as a proper Debian release candidate.
@@ -127,7 +142,6 @@ packages, and are thus good candidates for porting, in order to increase
archive coverage:
* umount functionality in busybox
-* ruby1.9.1
Here is a [[list of packages that need porting|hurd/running/debian/porting]].
@@ -169,7 +183,7 @@ I'll have to think about it some more.
* Install qemu-kvm via your distros packages.
* Download the [qemu image](http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.tar.gz): `wget http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.tar.gz`
* Unpack it: `tar xf debian-hurd.img.tar.gz`
-* Run it: `qemu-kvm -m 512 -no-kvm-irqchip -drive cache=writeback,index=0,media=disk,file=debian-hurd.img` # …irq… is a currently necessary fix due to some changes in Linux. Optionally use `--curses` to keep your keyboard layout. If need be modprobe kvm_amd, kvm intel and kvm to get kvm support (which is much, much faster). See also: [kvm FAQ](http://www.linux-kvm.org/page/FAQ).
+* Run it: `qemu-kvm -m 512 -no-kvm-irqchip -drive cache=writeback,file=debian-hurd.img` # …irq… is a currently necessary fix due to some changes in Linux. Optionally use `--curses` to keep your keyboard layout. If need be modprobe kvm_amd, kvm intel and kvm to get kvm support (which is much, much faster). See also: [kvm FAQ](http://www.linux-kvm.org/page/FAQ).
* login as root
* `apt-get update`
* `apt-get install -y git mercurial emacs vim`