Please comply with the following rules when hacking on Avahi: * Before commiting check with "git st" that all built files are ignored by git. To change the list of ignored files use $VISUAL .gitignore This is similar to the ".cvsignore" file in CVS times. * Don't forget to add the autoconf config.h inclusion to all C source files: #ifdef HAVE_CONFIG_H #include <config.h> #endif This needs to be placed in in .c files only. NOT IN HEADER FILES! * Don't hardcode any paths in source files. Either use the -D option of gcc for C sources or use "sed" to replace them based on a .in file. * Never forget that Avahi should be buildable without DBUS, GTK or python! * Before commiting, test your code! In case of C consider running it a few times through valgrind, to make sure that you got everything right. You have to call libtool explicitly when running valgrind on binaries that depend on shared objects. e.g: libtool --mode=execute valgrind ./avahi-daemon Please note that valgrind can't find you all bugs. Please check your code thrice with your brain before committing. Valgrind is only a final check. * Whenever you add a new Makefile.am, C (.c or .h) source file, shell or python script please add this legal blurb to its header: For Makefile.am, python and shell code: <snip> # This file is part of avahi. # # avahi is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # avahi 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 Lesser General Public # License along with avahi; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. </snip> For C source code: <snip> /*** This file is part of avahi. avahi is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. avahi 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with avahi; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. ***/ </snip>