1Please comply with the following rules when hacking on Avahi: 2 3 * When you add a new textual file to the repository please enable SVN 4 keyword expansion for it: 5 6 svn ps svn:keywords Id foo.c 7 8 * Before commiting check with "svn st" that all built files are ignored 9 by svn. To change the list of ignored files use 10 11 svn pe svn:ignore . 12 13 This is similar to the ".cvsignore" file in CVS times. 14 15 * Don't forget to add the autoconf config.h inclusion to all C source files: 16 17 #ifdef HAVE_CONFIG_H 18 #include <config.h> 19 #endif 20 21 This needs to be placed in in .c files only. NOT IN HEADER FILES! 22 23 * Don't hardcode any paths in source files. Either use the -D option of gcc 24 for C sources or use "sed" to replace them based on a .in file. 25 26 * Never forget that Avahi should be buildable without DBUS, GTK or python! 27 28 * Before commiting, test your code! In case of C consider running it 29 a few times through valgrind, to make sure that you got everything 30 right. You have to call libtool explicitly when running valgrind 31 on binaries that depend on shared objects. e.g: 32 33 libtool --mode=execute valgrind ./avahi-daemon 34 35 Please note that valgrind can't find you all bugs. Please check 36 your code thrice with your brain before committing. Valgrind is 37 only a final check. 38 39 * Whenever you add a new Makefile.am, C (.c or .h) source file, shell or 40 python script please add this legal blurb to its header: 41 42 For Makefile.am, python and shell code: 43 44<snip> 45# $Id$ 46 47# This file is part of avahi. 48# 49# avahi is free software; you can redistribute it and/or modify it 50# under the terms of the GNU Lesser General Public License as 51# published by the Free Software Foundation; either version 2 of the 52# License, or (at your option) any later version. 53# 54# avahi is distributed in the hope that it will be useful, but WITHOUT 55# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 56# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 57# License for more details. 58# 59# You should have received a copy of the GNU Lesser General Public 60# License along with avahi; if not, write to the Free Software 61# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 62# USA. 63</snip> 64 65 For C source code: 66 67<snip> 68/* $Id$ */ 69 70/*** 71 This file is part of avahi. 72 73 avahi is free software; you can redistribute it and/or modify it 74 under the terms of the GNU Lesser General Public License as 75 published by the Free Software Foundation; either version 2.1 of the 76 License, or (at your option) any later version. 77 78 avahi is distributed in the hope that it will be useful, but WITHOUT 79 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 80 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 81 Public License for more details. 82 83 You should have received a copy of the GNU Lesser General Public 84 License along with avahi; if not, write to the Free Software 85 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 86 USA. 87***/ 88</snip> 89 90 91$Id$ 92