| 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> |