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